gpt4 book ai didi

c# - 我如何在 XNA 4.0 中使用搅拌器动画?

转载 作者:太空狗 更新时间:2023-10-30 00:44:16 25 4
gpt4 key购买 nike

我在 Blender (2.6+) 中有一个带有绑定(bind)动画的模型。我将它导出到 FBX 并将其导入到 XNA。我知道如何在屏幕上绘制它,但如何运行动画(例如称为“运行”)?

谢谢!

最佳答案

您可以使用 SkinnedModelSample来自微软。确保在属性框中将 fbx 文件的 ContentProcessor 属性设置为 SkinnedModelProcessor,然后你可以这样做(需要优化):

主要游戏类:

AnimationPlayer player;// This calculates the Matrices of the animation
AnimationClip clip;// This contains the keyframes of the animation
SkinningData skin;// This contains all the skinning data
Model model;// The actual model

加载内容方法:

model = Content.Load<Model>("path_to_model");
skin = model.Tag as SkinningData;// The SkinnedModelProcessor puts skinning data in the Tag property

player = new AnimationPlayer(skin);
clip = skin.AnimationClips["run"];// The name of the animation

player.StartClip(clip);

绘制方法:

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();
}

关于c# - 我如何在 XNA 4.0 中使用搅拌器动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com