[X3D-Public] Variant browser behavior
Alan Hudson
giles at yumetech.com
Tue Jun 8 08:51:01 PDT 2010
Charles Lamb wrote:
> I have created to the following set of nodes and routes to animate a scene
> in which the viewpoint is moved when the scene is first loaded and, when the
> viewpoint move is complete, an animation loop begins. The animation driven
> by the TimeSensor "Time" works as I expect it to when rendered by the Xj3D
> Browser and the open source flux browser. FreeWRL, BS Contact, and Octaga
> do not seem to ever start the TimeSensor "Time". Which behavior is correct?
>
>
>
> <ProximitySensor DEF='HereIAm' size='1000 1000 1000' enabled='true'/>
>
>
>
> <!-- move to default viewpoint -->
>
> <TimeSensor DEF="PositionTime" cycleInterval="5" loop="false"/>
>
> <ROUTE fromNode="HereIAm" fromField="enterTime" toNode="PositionTime"
> toField="startTime"/>
>
> <!-- start animation sequences -->
>
> <BooleanFilter DEF="IntroFinished"/>
>
> <TimeTrigger DEF="IntroStartTime"/>
>
> <TimeSensor DEF='Time' enabled='false' cycleInterval='8' loop='true'/>
>
> <ROUTE fromNode='PositionTime' fromField='isActive'
> toNode='IntroFinished' toField='set_boolean'/>
>
> <ROUTE fromNode='IntroFinished' fromField='inputFalse'
> toNode='IntroStartTime' toField='set_boolean'/>
>
> <ROUTE fromNode='IntroStartTime' fromField='triggerTime' toNode='Time'
> toField='startTime'/>
>
> <ROUTE fromNode='IntroFinished' fromField='inputFalse' toNode='Time'
> toField='enabled'/>
>
> <!-- end animation sequences-->
>
>
This code depends on the browser implementing this language correctly.
You might try a simple test of routing a browsers enterTime from the
ProximitySensor to a script and print it. Likely you will find
variences in how this is being implemented.
---
A ProximitySensor node that surrounds the entire world has an enterTime
equal to the time that the world was entered and can be used to start up
animations or behaviours as soon as a world is loaded. A ProximitySensor
node with a box containing zero volume (i.e., any size field element of
0.0) cannot generate events. This is equivalent to setting the enabled
field to FALSE.
A ProximitySensor read from an X3D file shall generate isActive TRUE,
position_changed, orientation_changed and enterTime events if the sensor
is enabled and the viewer is inside the proximity region. A
ProximitySensor inserted into the transformation hierarchy shall
generate isActive TRUE, position_changed, orientation_changed and
enterTime events if the sensor is enabled and the viewer is inside the
proximity region. A ProximitySensor removed from the transformation
hierarchy shall generate isActive FALSE, position_changed,
orientation_changed and exitTime events if the sensor is enabled and the
viewer is inside the proximity region.
--
Alan Hudson
President Yumetech, Inc. www.yumetech.com
206 340 8900 ext 111
Open Source CAN be free, as in "free puppy"
More information about the X3D-Public
mailing list