三 JS 调整相机旋转

ThreeJS Adjuste camera rotation

我只想知道如何将这个相机( aerialCamera )旋转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 );

一张图看懂我想要什么:

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

您可以通过两种方式解决此问题

(1) 给 three.js 相机的 up

camera.up.set(0, 0, 1)camera.up.set(0, 0, -1)。然后调用 camera.lookAt(...)

(2) 不要用look at.

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