我想将相机在场景周围旋转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);
这就是我所拥有的:
这就是我想要的(90度逆时针相机转动):
修改
我注意到我可以自己旋转对象(:执行此操作:
plane.rotation.z = 90 * Math.PI / 180;
但我仍然很好奇如何通过旋转相机来达到同样的效果。
答案 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);
顺时针方向,另一方向交换加号和减号。