2014-09-08 4 views
3

Я хотел бы повернуть камеру на 90 градусов вокруг сцены. Я пробовал использоватьПоверните камеру вокруг сцены

cosole.log(camera.position); 

и установить камеру в нужное положение, которое я видел в журнале, но это просто не сработает.

Это как инициализируется камера (для первого изображения):

var width = window.innerWidth, 
    height = window.innerHeight; 
var camera = new THREE.PerspectiveCamera(45, width/height, 0.1, 1000); 
camera.position.set(0, -22, 22); 

Вот что у меня есть:

enter image description here

Вот что я хотел бы иметь (90 градусов против по часовой стрелке):

enter image description here

EDIT

Я заметил, что я могу повернуть сам (объект: это делает:

plane.rotation.z = 90 * Math.PI/180; 

, но я до сих пор интересно, как добиться того же эффекта с вращением камеры.

ответ

0

Вы должны изменить положение камеры по окружности, положение LookAt должен быть объект или сцену:

var rotSpeed = .02 
camera.position.x = x * Math.cos(rotSpeed) - z * Math.sin(rotSpeed); 
camera.position.z = z * Math.cos(rotSpeed) + x * Math.sin(rotSpeed); 
camera.lookAt(scene.position); 

Это по часовой стрелке, для другого направления обмена плюс и минус.

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