You can use SkinnedModelSample from microsoft. Make sure you set the ContentProcessor property of the fbx file to SkinnedModelProcessor in the Properties field. Then you can execute (optimization is required):
The main class of the game:
AnimationPlayer player;
LoadContent Method:
model = Content.Load<Model>("path_to_model"); skin = model.Tag as SkinningData;
Drawing method:
Matrix[] bones = player.GetSkinTransforms(); // Compute camera matrices. Matrix view = Matrix.CreateLookAt(new Vector3(0, 0, -30), // Change the last number according to the size of your model new Vector3(0, 0, 0), Vector3.Up); Matrix projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, device.Viewport.AspectRatio, 1, 10000); // Render the skinned mesh. foreach (ModelMesh mesh in model.Meshes) { foreach (SkinnedEffect effect in mesh.Effects) { effect.SetBoneTransforms(bones); effect.View = view; effect.Projection = projection; effect.EnableDefaultLighting(); effect.SpecularColor = new Vector3(0.25f); effect.SpecularPower = 16; } mesh.Draw(); }
source share