Zeros,
Axes and Parent-Space Rotations: Why does everything have to
be in straight lines? Because as a part of the process of creating
the skeleton, each bone is “zeroed out”, meaning that
its parent-space rotations are all set to zero. This happens so
that no matter what proportions your character has, the skeleton
will look identical to the engine (all zeros), hence your animations
will be compatible with other characters using script-generated
TorqueSkels. What this means to you in basic terms is that every
bone's local axes are aligned with the world space axes. So, as
long as all your character's joints are also aligned to world space
(in straight lines along the axes), the bones' local axes will be
aligned correctly.
The
only exception to the rule is the thumb. Because the thumb's natural
position is not straight along any axis, the first thumb bone, where
it joins with the hand, is not zeroed out. The second two thumb
bones are not zeroed out either, but if they are in a straight line
with the first joint, their parent space rotations will be zeros
anyway, and the local space rotation axes will be aligned correctly.
The
other reason that your character must be in the exact same pose
is that every animation will be derivative from this base pose,
so it must be the same pose as everyone else or your animations
will not be compatible with other characters and vice-versa.
Arm
Setup: The elbow bones and forearm_twist bones
are dynamically controlled by the rotations of the other bones in
the arm, using Orientation Constraints. So even with the
FK setup, you will not need to rotate these bones manually. The
elbow is intended to help fix the common deformation issue of keeping
the arm from interpenetrating when the elbow is bent at a severe
angle. It is constrained to always be rotated halfway between the
shoulder and forearm rotations. Similarly, the forearm_twist
bone is constrained to always be rotated half of the hand's
x rotation, allowing for smoother twist deformation on the forearm.
Pelvis
Setup: The pelvis is set up so that it can be rotated independantly
of the spine. This is to make weight shifts during idle and walking
animations easier to accomplish by eliminating the need to counter-animate
the spine.
Leg
and Foot Setup: The legs are completely controlled by the Foot_Control
object. There are two superfluous bones in the foot. One is the
heel, and the other is the toe. These bones are used
to make the IK setup work better, but should not be used to influence
any vertices on your mesh. It's best to only include the ankle
and ball bones when skinning your character for optimal performance
in-engine.
Control
Objects: The control objects make it easier to animate the skeleton
by providing easily selectable objects that control one or more
bones in a variety of ways.
Custom
Attributes: The custom attributes use Reactor
controllers to control the respective attributes of the bones or
IK solvers.
Using
the Foot Roll Attribute: The custom foot roll
attribute that the script creates makes it easy to control the foot
during walking, running and other "feet-moving" animations.
You will not need to rotate the bones or the Foot_Control object
during the time the foot is on the ground. Simply place the control
object where you want the footstep to occur, and use the foot roll
attribute to control when the heel contacts,
when the full foot contacts, and when the push-off from the ball
of the foot occurs. You will only need to rotate the control object
while the foot is in the air.
|