Xna模型骨骼 - 如何将它们彼此远离?

时间:2011-09-27 20:41:35

标签: vector 3d matrix xna

您好我知道可以在模型中获得骨骼的绝对变换..但是如何将它们移开(如充气)?我想这样做,我需要将它们推向当地的位置,但我所拥有的是绝对的变形

Model.CopyAbsoluteBoneTransformsTo(ModelAllTransforms);

如何进一步处理?我的意思是我可以使用

mesh.ParentBone.Transform = Matrix.CreateTranslation(?) * ModelAllTransforms;

但是会是什么?签署..

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

你正在寻找的方向基本上是局部骨骼的绝对变换减去中心,然后归一化。

这样的事情:

//"time" is your timing value, "speed" is some float value
Vector3 direction = bone.Translation - center;
direction.Normalize();
Vector3 translate = time * speed * direction;
bone.Translation += translate;