Javascript Three.js:无法设置最大和最小缩放级别

Javascript Three.js:无法设置最大和最小缩放级别,javascript,three.js,webgl,Javascript,Three.js,Webgl,我将此示例用于我的WebGL全景立方体: 我希望在限制范围内进行放大和缩小,即设置最大和最小放大级别,但不能像代码默认提供的那样无限放大。对于无限缩放,如果滚动过多,随后会反转视图,上面示例中的函数如下所示: function onDocumentMouseWheel( event ) { camera.fov += event.deltaY * 0.05; camera.updateProjectionMatrix(); }

我将此示例用于我的WebGL全景立方体:

我希望在限制范围内进行放大和缩小,即设置最大和最小放大级别,但不能像代码默认提供的那样无限放大。对于无限缩放,如果滚动过多,随后会反转视图,上面示例中的函数如下所示:

    function onDocumentMouseWheel( event ) {
            camera.fov += event.deltaY * 0.05;
            camera.updateProjectionMatrix();
    }
为了解决这个问题,我尝试在允许的范围内更新FOV:

    function onDocumentMouseWheel( event ) {
        var fovMAX = 95;
        var fovMIN = 5;
        var newFov = camera.fov + event.deltaY * 0.05;
        if (newFov > fovMIN && newFov < fovMAX) {
            camera.fov = newFov;
            camera.updateProjectionMatrix();
        };
    }
这似乎对最大放大级别非常有效-当FOV为5时停止,不再进一步放大。然而,当我缩小到视场95时,它会停止,但如果我继续用鼠标进一步缩小,我会再次无限放大,即使视场仍然是95


如何停止/控制无限缩小?

在下面的示例中,您的代码按预期工作。(我确实做了一个小小的改变,我正在使用
=
/
/
/controls.enableZoom=false;controls.enablePan=false;
@Vad我用
轨道控制的更多信息编辑了我的答案
camera = new THREE.PerspectiveCamera( 90, window.innerWidth / window.innerHeight), 0.1, 100 );