0

你如何防止 aTHREE.PerspectiveCamera产生负面影响position.y

我正在使用稍微修改过的 TrackballControl 来用鼠标控制相机,这可以防止相机在 z 轴上旋转,但想让我的相机保持在“地面”上方

4

2 回答 2

1

看看THREE.OrbitControls,这将使相机保持直立而不会被黑客入侵。

如果您使用THREE.OrbitControls,并且想要限制天顶角以使相机保持在地面之上,则需要一个简单的技巧。

OrbitControls.update()中,替换这一行:

phi = Math.max( EPS, Math.min( Math.PI - EPS, phi ) );

有了这个:

phi = Math.max( EPS, Math.min( Math.PI/2 - EPS, phi ) );
于 2012-08-20T22:15:33.370 回答
1

假设您有 2 个摄像头。其中一个是被 控制的TrackballControls。另一个用于渲染。这是渲染循环的样子:

controls.update();

camera2.position.copy( camera.position );

if ( camera2.position.y < 0 ) camera2.position.y = 0;

renderer.render( scene, camera2 );
于 2012-08-18T13:51:11.523 回答