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