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