Обычно, когда я хочу повернуть объект / узел в моей сцене Ogre, я вызываю метод узла rotate()
. Это поворачивает узел локально относительно его текущего вращения. Так, например, когда я начинаю с вращения 0, затем дважды поворачиваюсь на 5 градусов вокруг одной оси, после второго вызова объект поворачивается в общей сложности на 10 градусов.
Теперь мне нужно установить абсолютное вращение узла / объекта напрямую, независимо от его текущего вращения. Таким образом, скажем, я не знаю текущий поворот объекта, мне нужно установить его, скажем, на 45 градусов по оси X. Что-то вроде setRotation()
.
Я знаю, что в классе SceneNode
есть метод setOrientation()
, который ожидает объект кватерниона. Я также знаю, что могу получить текущий кватернион ориентации. Чего я не знаю: как я могу использовать / изменить этот текущий кватернион ориентации, чтобы установить новое абсолютное вращение узла?