Animation Data structures in XNA framework
Posted: April 24, 2009 Filed under: Game Development | Tags: 3D, animation, faq Leave a comment »>> Root is the root (BoneContent type) of the given skeletan.
Root.Animations => (Animations is a property of type AnimationContentDictionary)
Animations: This property holds all the
animations associated with a model(for e.g. walking, running, jumping)
in AnimationContentDictionary.
AnimationContentDictionary : is a dictionary of
where name = name of the animation and AnimationContent is the animation data for that animation of the whole model
Thus, one AnimationContent describes a single animation (for e.g. walking).
AnimationContent (e.g. WALK):
It contains a collection of data channels. Also, it represents one complete animation for the model; which can be visualized with all the data channels working together.
AnimationContent.Channels => (Channels is a property of type AnimationChannelDictionary)
AnimationChannelDictionary : Dictionary of
where name = name of the object being animated by each channel.
AnimationChannel (e.g. Movement of right leg in WALKing animation= 1 AnimationChannel):
It is a collection of Keyframes describing the movement of a single object/bone.
class AnimationChannel : ICollection
Thus, I said AnimationChannel “is” made up of a bunch of AnimationKeyFrame.
AnimationKey:
It describes the position of AnimationChannel at a single point in
time, a.k.a, the position of the associated bone/object (from the
AnimationChannelDictionary.Key (string)).
It comprises of these members which completely describe the AnimationChannel:
Matrix Transform : Position/Orientation
TimeSpan Time: Time instant
