As you noticed, the SIMPLE SKELETON method does not rotate or stretch
target objects in any way. They are just moved back to their original
positions on the skeleton. In other words, the SIMPLE SKELETON uses
only "move" transformation to manipulate its targets. This makes this
skeleton type suitable for animating objects whose direction should not
be changed during the animation.
Another observation was that the SIMPLE SKELETON requires one parameter
which describes the shape of the skeleton. This parameter can be any
evaluable object like a polygonal line, a B-Spline curve, a circle, a
point or even a freeform mesh. Furthermore, it is even possible to
create customized skeletons by creating a new evaluable object, just
like we did in the PATH example 6.1.8 "Customized Paths".
The SIMPLE SKELETON method pulls all target objects to the skeleton, so
that the COG of the target object in question is pulled to the
skeleton, and the position on the skeleton is defined by the VPHS tag
associated with the target. For example, if the VPHS value for a target
object is 0, then the object is pulled to the beginning point of the
skeleton curve. If VPHS is 1.0, then the target is pulled to the end
point of the skeleton. The value 0.5 pulls the target to the middle
point of the skeleton. These values are
called "parameter values" of the parameter object. The skeleton object
also redefines the COG for target objects so that it lies exactly on
the skeleton curve.
When you selected the menu Animate/Control/Refresh the first time, the
method automatically defined these tags for each target object by
finding the parameter value of the skeleton curve where the distance
between curve and target object was shortest. This was done only once.
The method created and associated the "ISKE" tag with itself to
indicate that all necessary tags are now updated and need not be
refreshed any more.
This is the whole theory behind the simple skeleton. As you have
already noticed, you don't have to know anything about these tags as
long as you are not going to define positions for target objects
manually. Just create all necessary objects and let REAL 3D do the rest.
Lets play with this example a bit more. Select any of the target
objects and move it apart from the skeleton. Refresh the animation
system and the object is pulled back to the skeleton!
Now, suppose that the first target object was positioned improperly and
you have to change it to a different position in the skeleton. How to
move targets so that the skeleton method will not pull them back to
their original positions? The answer is: just delete the tag ISKE
associated with the method object (or set its value to zero), move
target objects to the desired positions and refresh the animation
system.
So far, we have actually only tested how the skeletonally controlled
objects can be manipulated interactively. Now it is time to create our
first skeleton animation.
|