2013-05-09 3 views
0

Обычно, когда я хочу повернуть объект/узел в своей Ogre scene, я вызываю метод rotate() узла. Это вращает узел локально относительно его текущего вращения. Так, например, когда я начинаю с 0 поворота, затем поворачивайте дважды на 5 градусов вокруг одной оси, после второго вызова объект поворачивается на 10 градусов.Как правильно установить абсолютное вращение объекта/узла?

Теперь мне нужно установить абсолютное вращение узла/объекта напрямую, независимо от его текущего вращения. Таким образом, скажем, я не знаю, как вращается текущий объект, мне нужно установить его на 45 градусов по оси X. Что-то вроде setRotation().

Я знаю, что есть метод setOrientation() в классе SceneNode, который ожидает объект кватерниона. Я также знаю, что могу получить текущий кватернион ориентации. Что я не знаю: как я могу использовать/изменить этот текущий кватернион ориентации, чтобы установить новое абсолютное вращение узла?

+0

Crosspost на http://www.ogre3d.org/forums/viewtopic.php?f=2&t=77710 – Matthias

ответ

Смежные вопросы