three.js - 如何限制缩放以使对象不会因相机而中断

时间:2016-02-26 12:11:51

标签: javascript three.js

我正在创建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 );

我尝试使用控件minZoommaxZoom,但它不起作用。

任何人都可以告诉我,我应该如何限制变焦,以便在某些时候我的物体不会破裂?

1 个答案:

答案 0 :(得分:10)

如果您使用PerspectiveCamera OrbitControls,则可以限制相机距离:

controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.minDistance = 10;
controls.maxDistance = 50;

查看源代码OrbitControls.js以获取其他设置。

three.js r.74