我正在创建three.js应用程序。我已经加载了我的STL对象。我使用过'OrbitControls'。当我用鼠标的中间滚动按钮开始缩放我的对象时,它会在某个时刻中断。
我的相机和控件代码如下:
camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 1, 15 );
//camera.position.set( 3, 0.15, 3 );
// position and point the camera to the center of the scene
camera.position.x = -3;
camera.position.y = 4;
camera.position.z = 5;
camera.lookAt(new THREE.Vector3(0, 0, 0));
controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.damping = 0.2;
//controls.minZoom = 0;
// controls.maxZoom = 1;
//controls .noZoom = true;
controls.addEventListener( 'change', render );
我尝试使用控件minZoom
和maxZoom
,但它不起作用。
任何人都可以告诉我,我应该如何限制变焦,以便在某些时候我的物体不会破裂?
答案 0 :(得分:10)
如果您使用PerspectiveCamera
OrbitControls
,则可以限制相机距离:
controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.minDistance = 10;
controls.maxDistance = 50;
查看源代码OrbitControls.js
以获取其他设置。
three.js r.74