What is a skinned model/mesh?

A model is a collection of meshes, and it is the meshes that are skinned or unskinned. A model can contain a mix of skinned and unskinned meshes.

A skinned mesh in XNA is a mesh that has vertices and bones that affect the final position of the vertices. Skinned meshes are animated by moving their bones and applying the bone transforms to each of the model's vertices before they are rendered. All skinned meshes have bone index and bone weight vertex channels.

An unskinned mesh in XNA is a mesh whose vertices are only affected by the ModelViewProjection matrix and, optionally, the root transform of the mesh. Unskinned meshes are animated by using rotate/scale/translation matrices relative to their parent meshes.

How do I know what effect is going to be loaded to a mesh from the content pipeline?

If you have specified an effect in the .x file or in a processor that subclasses/wraps AnimatedModelProcessor, than that effect will be loaded.

If the mesh is skinned (contains bone weight and bone index channels), then it will be loaded with BasicPaletteEffect.

Since BasicEffect is more efficient for animating unskinned meshes, meshes without skinning information will be loaded using BasicEffect.

Last edited Feb 26, 2007 at 2:58 PM by dastle, version 2


No comments yet.