2016-01-11 1 views
0

Извините, если это очевидный вопрос, я довольно новичок в Three.js.Вопросы с небольшими значениями вращения (прецессия?)

Я пытаюсь повернуть некоторую геометрию вдоль своей оси Y, довольно медленно, и я использую для этого матрицу вращения.

В моей машине при установке значения, меньшего чем 0.0076rad для вращения, геометрия начинает вращаться, но когда она достигает PI/2, она не может продолжить и остается разворачиваться в значениях вокруг PI/2.

Привести пример здесь: http://jsfiddle.net/vn0m7h81/, где значение скорости может быть установлена ​​на уровне ...

// Speeds below 0.0076 cause the cube to stop spining when reaching 
// Pi/2 rotation in the Y axis. Values > 0.0075 work fine. 
var rotationSpeed = 0.0075; 

Для Incr. значения, превышающие 0,0075, геометрия продолжает вращаться навсегда.

В чем причина такого поведения?

спасибо,

ответ

1

Не изменяющие mesh.matrix непосредственно в three.js, если вы не являетесь опытным пользователем. Вместо этого обновите mesh.rotation или mesh.quaternion и дайте рендереру обновить матрицу для вас. Вы также можете использовать mesh.rotateY(radians).

three.js r.73

+0

Спасибо за совет WestLangley! – Marc

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