2013-05-09 41 views
0

通常,当我想旋转Ogre场景中的对象/节点时,我会调用节点的rotate()方法。相对于当前的旋转,节点会在本地旋转。因此,例如,当我从0旋转开始,然后围绕一个轴旋转5度两次,在第二次调用之后,对象总共旋转10度。如何正确设置对象/节点的绝对旋转?

现在我需要直接设置节点/对象的绝对旋转,而不管它的当前旋转。因此,如果我不知道当前旋转的物体,我需要将它设置为X轴上的45度。像setRotation()

我知道SceneNode类中存在setOrientation()方法,该方法需要四元数对象。我也知道我可以得到当前方向的四元数。我不知道的是:如何使用/更改此当前方向四元数来设置节点的新绝对旋转?

+0

Crosspost at http://www.ogre3d.org/forums/viewtopic.php?f=2&t=77710 – Matthias 2013-05-09 23:05:52

回答