2010-10-19 37 views
1

我试图做这样做:如何设置一个对象Ogre3D中的另一个对象的方向?

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); 

,并没有运气可言。有没有一种简单的方法来设置一个骨头旋转到其他任何提示或想法将不胜感激。谢谢。

回答

1

有一次,它永远不会失败。只要我发布这篇文章,我会继续浏览API文档并找到解决方案。 - 对不起。

很简单:

bone1->setOrientation(bone2->_getDerivedOrientation().w,bone2->_getDerivedOrientation().x,bone2->_getDerivedOrientation().y,bone2->_getDerivedOrientation().z); 
相关问题