Animation Data structures in XNA frameworkPosted: April 24, 2009
>> 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)
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.
It describes the position of AnimationChannel at a single point in
time, a.k.a, the position of the associated bone/object (from the
It comprises of these members which completely describe the AnimationChannel:
Matrix Transform : Position/Orientation
TimeSpan Time: Time instant