1

我试过这样做:

    Ogre::Vector3 src = bone1->_getDerivedOrientation() * Ogre::Vector3::UNIT_X;
 Ogre::Quaternion quatt = src.getRotationTo(bone2->_getDerivedOrientation() * Ogre::Vector3::UNIT_X);
 bone1->rotate(quatt);

 src  = bone1->_getDerivedOrientation() * Ogre::Vector3::UNIT_Y;
 quatt = src.getRotationTo(bone2->_getDerivedOrientation() * Ogre::Vector3::UNIT_Y);
 bone1->rotate(quatt);

 src = bone1->_getDerivedOrientation() * Ogre::Vector3::UNIT_Z;
 quatt = src.getRotationTo(bone2->_getDerivedOrientation() * Ogre::Vector3::UNIT_Z);
 bone1->rotate(quatt);

并且完全没有运气。是否有一种简单的方法可以将一个骨骼旋转设置为另一个骨骼,任何提示或想法将不胜感激。谢谢。

4

1 回答 1

1

再一次,它永远不会失败。一旦我发布了这个,我就会继续查看 API Docs 并找到解决方案。-。- 对不起。

它很简单:

bone1->setOrientation(bone2->_getDerivedOrientation().w,bone2->_getDerivedOrientation().x,bone2->_getDerivedOrientation().y,bone2->_getDerivedOrientation().z);
于 2010-10-19T19:16:28.537 回答