首页 > 解决方案 > Three.js OrbitControls enableRotate/Pan = false 似乎不起作用

问题描述

我想用 OrbiteControls 在我的 perspectiveCamera 上设置.enableRotate和设置.enablePanfalse

我已经尝试设置它们,因为它不起作用我找到了一个解决方法:

controls.maxPolarAngle = 0;
controls.maxAzimuthAngle = - Math.PI;

但是因为没有类似的东西,.enablePan所以我被困在那里。也许我使用它的方式有问题?

这是代码笔,如果您喜欢使用它或尝试一下:https ://codepen.io/greg_o/pen/jdwZYZ

我想这是您感兴趣的代码部分:

function init() {
    camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 1000);
    camera.position.z = 68;
    controls = new THREE.OrbitControls(camera);
    controls.maxDistance = 300;
    controls.minDistance = 30;
    controls.enableRotate = false;
    controls.maxPolarAngle = 0;
    controls.maxAzimuthAngle = - Math.PI;
    controls.enablePan = false;
 }

只想说这支笔最初来自 Nikita Skargovskii

标签: javascriptthree.js

解决方案


使用最新版本似乎可以解决问题:three.jshttps ://codepen.io/anon/pen/exRQYoOrbitControls

您使用过 84 版,该版本已有两年多的历史了。始终使用最新版本,three.js并确保示例目录中的文件(如OrbitControls)与您的three.js文件版本匹配。


推荐阅读