> Hi,
>
> in section 1.9 of the j3d tutorial scheduling regions are explained. It
> says:
>
> "A behavior is not active unless the ViewPlatforms activation volume
> intersects a Behavior objects scheduling region. In other words, if there
> is no one in the forest to see the tree falling, it does not fall."
>
> Now, I don't mind that the runtime doesnt spend any CPU-time on creating a
> falling tree when nobody's looking, but I certainly don't want the tree to
> still stand when somebody visits later on. In other words. The tree goes
> from an initial state (standing) to a final state (not standing). The
> CPU-intensive part in the animation is obviously the falling tree. If
> nobody is there, this animation may be skipped, but the change in state
> (standing->fallen) must be done when somebody visits.
>
> Does java3D implement any such behaviour? If not, are there ideas on how to
> do it?
The problem here is really fundemental to any visual simulator. IMO,
you need to split visual and state-affecting behaviour from each other. The
state-affecting behaviour (ie, that the tree falls) must be run at the
correct time no matter if someone is watching, while visual behaviour
is triggered by proximity to watchers. The presence/absence of a
watcher must not have any effect of the state.
This also goes into the discrete (event based) and continuous
(time based) simulation - visual simulations need to be time based in
order to produce smooth animations.
While I haven't (yet) studied how to integrate this in Java3D,
I'd probably go for an independent state/event master simulation engine,
with Java3D as a visual slave - similar to a domain/application layer
split.
/Mats
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".