在场景周围旋转相机

时间:2014-09-08 11:32:34

标签: javascript camera three.js

我想将相机在场景周围旋转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

修改

我注意到我可以自己旋转对象(:执行此操作:

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

但我仍然很好奇如何通过旋转相机来达到同样的效果。

1 个答案:

答案 0 :(得分:1)

你必须将相机位置移动一个圆圈,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);

顺时针方向,另一方向交换加号和减号。