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