【发布时间】:2012-02-08 12:36:58
【问题描述】:
我正在尝试在 XNA C# 中创建骨骼结构。
我试图通过与矩阵的父子关系来实现这一点。当我旋转父母时,孩子应该以同样的方式旋转......
目前这工作正常,但在骨骼上执行 IK 例程时,一切都变得疯狂。
有人可以检查我的代码吗?向量中的 ID 0 是父级,而 1 是子级,距离父级偏移 52 个单位...
_boneList[0]._position = new Vector3(0, 0, 0);
_boneList[0]._localTransform = _boneList[0]._rotationTransform * Matrix.CreateTranslation(_boneList[0]._position);
_boneList[0]._globalTransform = _boneList[0]._localTransform;
_boneList[1]._position = new Vector3(0, 52, 0);
_boneList[1]._localTransform = _boneList[1]._rotationTransform * Matrix.CreateTranslation(_boneList[1]._position);
_boneList[1]._globalTransform = _boneList[1]._localTransform * _boneList[0]._globalTransform;
感谢您的帮助。
【问题讨论】: