Matrix 如何在模型中旋转XNA中的单个骨骼?

Matrix 如何在模型中旋转XNA中的单个骨骼?,matrix,xna,rotation,blender,Matrix,Xna,Rotation,Blender,我正在XNA制作一个射击角色的游戏。我在Blender中制作了一个人体模型,并将其导入XNA。我加载了它,可以旋转整个模型,但如何旋转每个骨骼?我试着在谷歌上查找,但没有找到好的答案。查看教育部分的简单动画示例: 我知道一开始它可能看起来很复杂,但你真的必须坚持下去,直到你摸索它,它没有太多的捷径。查看教育部分中的简单动画示例: public void ChangeBoneTransform(int boneIndex, Matrix t) { model.Bones[b

我正在XNA制作一个射击角色的游戏。我在Blender中制作了一个人体模型,并将其导入XNA。我加载了它,可以旋转整个模型,但如何旋转每个骨骼?我试着在谷歌上查找,但没有找到好的答案。

查看教育部分的简单动画示例:


我知道一开始它可能看起来很复杂,但你真的必须坚持下去,直到你摸索它,它没有太多的捷径。

查看教育部分中的简单动画示例:

public void ChangeBoneTransform(int boneIndex, Matrix t)
    {
        model.Bones[boneIndex].Transform = t * model.Bones[boneIndex].Transform ;
    }
我知道一开始它可能看起来很复杂,但你真的必须坚持下去,直到你摸索它,没有太多的捷径

public void ChangeBoneTransform(int boneIndex, Matrix t)
    {
        model.Bones[boneIndex].Transform = t * model.Bones[boneIndex].Transform ;
    }
确保每次绘制模型时都复制AbsoluteBonetTransforms

就这样

要旋转,请使用:- ChangeBonetTransform(1,Matrix.CreateRotationX(0.1f))//在Update()方法中

确保每次绘制模型时都复制AbsoluteBonetTransforms

就这样

要旋转,请使用:- ChangeBonetTransform(1,Matrix.CreateRotationX(0.1f))//在Update()方法中