首页 > 解决方案 > ThreeJS 调整相机旋转

问题描述

我只想知道如何将这个相机(airportCamera)旋转到 180°?我尝试 camera.rotation.y 但我认为我做的不对。

aerialCamera = new THREE.PerspectiveCamera(80, w/h, 0.1, 1000); 
aerialCamera.position.set(0, 35, 0);
aerialCamera.lookAt( scene.position );
scene.add( aerialCamera );

一张图片来了解我想要什么: 我的希望

标签: three.jscamerarotation

解决方案


问题是lookAt需要一个up指向相机顶部所面对方向的向量。默认值为up0、1、0 或向上,但由于您要让相机直视相机顶部(就像想象您手中实际上有一个真实的相机,带有顶部、正面、底部、背面等) 不向上(朝向天空)

你可以通过两种方式解决这个问题

(1)给three.js一个相机的up

要么camera.up.set(0, 0, 1)要么camera.up.set(0, 0, -1)。然后打电话camera.lookAt(...)

(2) 不要用看。

那么然后camera.rotation.set(Math.PI / -2, 0, 0)camera.rotation.set(Math.PI / -2, 0, Math.PI)


推荐阅读