围绕场景旋转摄像机

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 编辑:我注意到我可以旋转物体本身,方法如下:
plane.rotation.z = 90 * Math.PI / 180;

但我仍然好奇如何通过旋转摄像机实现相同的效果。

1个回答

2

您需要将相机位置在圆形路径上移动,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);

那是顺时针方向,如果要逆时针方向,交换加号和减号即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接