X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 07 Event Animation Interpolation


Dolphin Wireframe: Coordinate Interpolator Morphing

Event values can be generated through TimeSensor, ROUTE and interpolator chains to create animation effects in a scene graph. Strong typing requirements ensure that only valid values are allowed to modify the scene graph.

The TimeSensor node produces output stimulus events that track the passage of time intervals using the computer clock. Event animation and interpolation is accomplished by ROUTE connections that pass events between nodes.

Strictly typed interpolation values are produced by ScalarInterpolator, ColorInterpolator, PositionInterpolator, PositionInterpolator2D, OrientationInterpolator, NormalInterpolator, CoordinateInterpolator, and CoordinateInterpolator2D nodes.

Authors can use a 10-step algorithm checklist (with example diagram) as an event-animation design pattern that helps build consistent event-routing chains. The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

The quick-reference sheet X3D Event Utility Nodes: Field Event Diagrams illustrates the functionality of the event utility nodes. These nodes receive and pass values that are sent via ROUTE connections.

  25 X3D Models       X3D Model Descriptions
   CircleFishPositionInterpolator CircleFishPositionInterpolator Run-time modification of a fishes position using PositionInterpolator.
   CircleFishPrototype CircleFishPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   CircleFishPTPrototype CircleFishPTPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   ColorInterpolatorExample ColorInterpolatorExample Demonstrate basic design pattern for animating a node.
   ColorInterpolatorFishPrototype ColorInterpolatorFishPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   CoordinateInterpolator2dExample CoordinateInterpolator2dExample Example to interpolate using CoordinateInterpolator2D - select and hold geometry for a user-controlled animation loop.
   DolphinMorpher DolphinMorpher Morph coordinates for smooth animation between 3 different dolphin poses using CoordinateInterpolator.
   DolphinPose01 DolphinPose01 First pose for bottlenose dolphin is neutral position, exported from Maya with values used in DolphinMorpher.
   DolphinPose02 DolphinPose02 Second pose for bottlenose dolphin is curved upward, exported from Maya with values used in DolphinMorpher.
   DolphinPose03 DolphinPose03 Third pose for bottlenose dolphin is curved downward, exported from Maya with values used in DolphinMorpher.
   DolphinSwitcher DolphinSwitcher Switch animation among three different dolphin poses in a freeze-frame style.
   Garibaldi Garibaldi The basic, unanimated Garibaldi fish.
   HelloX3dAuthorsAnimationChain HelloX3dAuthorsAnimationChain Fully developed animation-chain example showing spinning globe and text: Hello!
   MotionInterpolatorFishPrototype MotionInterpolatorFishPrototype Reusable prototype for a swimming CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis). Wait for it to swim onto the display!
   NormalInterpolatorExample NormalInterpolatorExample Example normal (perpendicular vector) animation, where orange vectors show normal direction at each polygon vertex.
   OrientationInterpolatorFishExample OrientationInterpolatorFishExample Run-time modification of fishes position and orientation using PositionInterpolator and OrientationInterpolator.
   OrientationInterpolatorFishPrototype OrientationInterpolatorFishPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   PositionInterpolator2dExample PositionInterpolator2dExample Interpolation example using PositionInterpolator2D, user can touch (select) the geometry to activate an animation loop that rescales the image texture superimposed on the geometry.
   PositionInterpolatorPrototype PositionInterpolatorPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   PositionOrientationInterpolatorsExample PositionOrientationInterpolatorsExample Demonstrate use of PositionInterpolator and OrientationInterpolator to animate object motion.
   PositionOrientationInterpolatorsExampleTraced PositionOrientationInterpolatorsExampleTraced Demonstrate use of PositionInterpolator and OrientationInterpolator to animate object motion, with console output tracing added for PositionInterpolator and ROUTE events.
   ScalarInterpolatorExample ScalarInterpolatorExample Demonstrate use of ScalarInterpolator to animate transparency.
   ScalarInterpolatorFishExample ScalarInterpolatorFishExample Run-time changing of a scalar property: Material transparency.
   ScalarInterpolatorFishPrototype ScalarInterpolatorFishPrototype This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).
   TimeSensorChaining TimeSensorChaining Connecting TimeSensor nodes so that the completion of one behavior chain triggers another.

The X3D Resources: Examples page and X3D Developers Guide provide more information about the production of this archive.