Montana Jones

Hey all,

I'm trying to write a Processor to extract the relevant keyframe animation data from the NodeContent data imported from the .x files, and am having trouble figuring out exactly what data i am given.

Since i iterate through all the meshes to draw the model i was looking to store the keyframes as the corresponding Absolute transformations for each mesh, hence when animating i can just pick the appropriate keyframe transformation and set that as the World transformation matrix for the effect.

Each NodeContent object has a dictionary of AnimationContents which in turn have a dictionary of AnimationChannels which in turn contain a list of KeyFrames, each containing the time index for the frame and a matrix transformation. Can anyone explain to me what coord systems this matrix transformation maps from and to (basically what does this transformation do) Also what is the deal with the Channels (like for instance why isn't the keyframe data stored at the AnimationContents level )

Thanks, its gotten me pretty confused (as you can probably tell) any help would be appreciated. That skinning animation example hasn't come out yet has it

Re: XNA Game Studio Express Processing Keyframe Animation Data

Shawn Hargreaves - MSFT

The matrices in the keyframes are in the same coordinate system as the Transform property on the NodeContent that is being animated, ie. they are relative to the parent node. They can just be copied over the Transform value to update the node to the correct position for the current animation time.

The animation channels exist because for boned skeletal animation, all the animation keyframes will be stored together attached to the root node of the skeleton, rather than scattered around each individual bone node. The root bone will have a channel per bone in the skeleton, with the channel key indicating which bone that channel applies to.

Skinning sample isn't out yet I'm afraid - still working it's way through the release process :-)

Re: XNA Game Studio Express Processing Keyframe Animation Data


Did I hear a skinning sample mentioned :D

"waiting patiently for skinning sample"

Re: XNA Game Studio Express Processing Keyframe Animation Data

Montana Jones

Thanks, that was a load of help, made things a lot clearer :)

Re: XNA Game Studio Express Processing Keyframe Animation Data


Pardon my ignorance,

But what all does a skinning example entail