2016-10-26 4 views
0

Я все еще новичок в использовании трех js. Когда я вращаю объект камеры, свойство rot имеет значение x, y, z. Мне интересно, откуда взялись переменные x, y, z в 3D-объекте? Я знаю, что x, y, z представляют радианы угла объекта Эйлера, но в соответствии с документом three.js: https://en.wikipedia.org/wiki/Euler_angles диапазон α и γ покрывает 2π радиан, а диапазон β покрывает π радиан. Тем не менее, диапазон всех x, y, z охватывает только я радианы, когда я его тестирую. Первоначально x = 0, y = 0, z = 0, прямо вверх, почему только значение x изменилось? И если Object3D является камерой, означает ли это, что центральный пиксель в представлении камеры представляет ось X? Цените свою помощь.три js Object3D rotation

ответ

0

Возможно, вы будете более подробно формулировать свой вопрос и дать код для воспроизведения вашей ошибки.

На вопрос, почему только х-vaue меняется, когда вы смотрите прямо из (0,0,0) потому, что х, у и г представляет ось что вы поворачиваете вокруг. Стандарт в 3js и в 3D-графике вообще состоит в том, чтобы x был горизонтальной осью, y - вертикальной осью, а z - осью «глубина». Глядя прямо вверх, вы будете вращаться на 90 градусов вокруг горизонтальной оси x, тем самым изменяя значение x во вращении.

Я могу дать вам ссылку на https://threejs.org/docs/#Reference/Math/Euler

Three.js обеспечивает два способа представления 3D вращения: углы Эйлера и кватернионов, а также методы для преобразования между ними. У углов Эйлера возникает проблема, называемая «карданный замок», где определенные конфигурации могут потерять определенную степень свободы (предотвращая поворот объекта вокруг одной оси). По этой причине вращение объектов всегда сохраняется в кватернионе объекта.

Предыдущие версии библиотеки включали свойство useQuaternion, которое, если установлено значение false, приведет к вычислению матрицы объекта из угла Эйлера. Эта практика устарела - вместо этого вы должны использовать метод setRotationFromEuler, который обновит кватернион.

https://threejs.org/docs/manual/introduction/Matrix-transformations.html