Поворот камеры Three.js странный - PullRequest
1 голос
/ 22 января 2012

Я только начал с Three.js.Как и сейчас.

Проиграв с ним в течение часа или около того и создав инструмент, который помогает мне понять, как различные элементы работают вместе (Камера, Свет, Объекты), я обнаружил нечто странное.

Инструмент: http://hotblocks.nl/tests/three/cubes.html

Это текущая настройка по умолчанию:

  • Камера расположена на 210 градусов вверх и
  • 500 назад и
  • 246 вправо
  • Камера немного повернута влево
  • свет находится прямо над и светит во все стороны

Как можновидите, объекты находятся в самом низу области просмотра.Поэтому я хочу повернуть камеру вниз, чтобы увидеть больше из них.

Попробуйте: поверните camera.rotation.x вниз.

Это работает, но угол поворота неправильный!Вместо того, чтобы вращать Камеру, это Мир, вращающийся вокруг своей оси Z.

Это не так, не так ли?

Ось Y также неверна.Он вращает мир вокруг своей оси Y.

Вращение камеры вокруг своей оси Z работает отлично: камера вращается, а не мир.

Я делаю это неправильно?Или неправильно это понимаете?

PS Поскольку вращение камеры происходит только вокруг оси Y, в результате вертикальные края объектов также должны быть вертикальными.В настройках по умолчанию они есть.Вращение камеры вокруг оси X не должно изменить это, но это так.Только вращение вокруг своей оси Z должно изменить это (и это делает).Я не прав?

PPS Я знаю о Camera.lookAt( THREE.Vector3 target ), но это меняет поворот камеры, включая ее ось Z, и это не должно быть логично.

1 Ответ

5 голосов
/ 24 января 2012

Ответ получен на Github: https://github.com/mrdoob/three.js/issues/1163

...