Home

hersto:  Summary of Follower nodes

 

Rant to the author:

    

Check for a response

This document summarizes the ideas behind the Follower nodes proposed in the paper Linear Filters - Animating Objects in a Flexible and Pleasing Way. The targeted audience has an understanding for the X3D standard and its authoring.

What Followers are not:
Physics. Although looking like poor-mans-physics, it is not intended to create any realistic effect. The nodes are just about ... see next paragraph.

What they are:
Follower nodes are about animating things based on runtime information.

You give it a destination and it goes there, no matter where it currently is, nor where it was currently targeting to, if so.

The result is always a smooth transition. You just specify the duration. A destination can be a position,  an orientation, a color, the coordinates of a mesh, ... anything.

Difference to Interpolators:
The Follower nodes respond to runtime events. They are flexible enough to cope with the weirdest user, or the most unforeseen data, and still create physically consistent behavior. Yes, here is physics, but not in the sense of correctness, more in the sense of consistence, meaning that no jumps occur unless wanted by the author.

In contrast, Interpolator nodes require the path of an animation be specified at design time. They are not flexible enough to generate smooth transitions during runtime, if the content author has no more than basic scripting skills.

Benefits:
If an author has just enough scripting skills to determine where an value should go, they just insert a Follower node after their scripts and transitions become animated. No skills required to write a script that sets up an Interpolator to go from the current value to the desired one.

Illustrations:
See the Door example
and the Room example

Additional Benefits:
Followers (especially Dampers, see below) make user interfaces or objects under geometry sensors more live looking. See "test_Sliders.wrl" or "test_OriFollower.wrl" at the above link. Click on the box of "test_Sliders.wrl" to turn the effect on and off.

Followers smoothen existing animatins. See "coaster-classical.wrl" vs. "coaster-damper.wrl". Although they cannot replace the coming NonlinearInterpolators.

About the Name:
Unfortunately i'm not so happy about the name 'Follower'. The word 'Animator' would fit better, but i feel it is too general. 'TransitionCreator' or 'Transitioner' does not sound well. I hope somebody of you has a good idea.

Their Structure:
The concept "Follower node" is just a categorization, some kind of an abstract node. Actual nodes are "Damper nodes and Chaser nodes. Like there are multiple Interpolator nodes for the various data types in X3D, there are multiple Damper and Chaser nodes. Therefore a node hierarchy similar to the following is proposed:

    X3DFollowerNode
    |
    +---   X3DChaserNode
    |      +---   PositionChaser
    |      +---   OrientationChaser
    |      +---   PositionChaser2D
    |      +---   ScalarChaser
    |      +---   PlacementChaser
    |
    +---   X3DDamperNode
           +---   PositionDamper
           +---   OrientationDamper
           +---   ColorDamper
           +---   PositionDamper2D
           +---   CoordinateDamper
           +---   TexCoordDamper
           +---   PlacementDamper

The PlacementChaser and PlacementDamper are a special case as they animatex the common combination SFVec3f and SFRotation all at once. This hierarchy is not fixed. We should discuss about adding/removing nodes.

Difference between Chaser and Damper:

Pro Chaser:

  • Chasers create transitions that terminate after a given amount of time.
  • They feature ease-in and ease-out.

Contra Damper:

  • Dampers conceptually have no end of a transition, however visually
  • they approach their destination very quickly.

Contra Chaser:

  • Their implementation is more complicated.

Pro Damper:

  • Their implementation is very light-weight. No loops and no arrays involved.
  • Visually more appealing transitions due to the fact that they approach their
  • destination only asymptotically.
  • Have ease-in and asymptotic ease-out.

IMHO in many cases Dampers are more pleasant (user interface elements), in others Chasers are.

 

To the paper HomePage.

__.-.__
end of document