通常当我想在我的Ogre场景中旋转一个对象/节点时,我会调用节点的rotate()
方法。这使节点相对于其当前旋转在本地旋转。因此,例如,当我以0旋转开始,然后围绕一个轴旋转两次5度,在第二次调用之后,对象总共旋转10度。
现在我需要直接设置节点/对象的绝对旋转,而不管其当前旋转。因此,假设我不知道物体当前的旋转,我需要将其设置为X轴上的45度。类似于setRotation()
。
我知道setOrientation()
类中有一个SceneNode
方法,它需要一个四元数对象。我也知道我可以获得当前的方向四元数。我不知道的是:如何使用/更改此当前方向四元数来设置节点的新绝对旋转?
答案 0 :(得分:0)
您可以在这里找到有关Quaternions和Ogre的精心编写的介绍:http://www.ogre3d.org/tikiwiki/Quaternion+and+Rotation+Primer
特别感谢Resetting Orientation
。