Three.js OrbitControls enableRotate / Pan = false似乎不起作用

时间:2019-02-04 10:23:19

标签: javascript three.js

我想在具有OrbiteControls的PerspectiveCamera上将.enableRotate.enablePan设置为 false

我已经尝试设置它们,因为它不起作用,我发现可以使用以下方法:

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

1 个答案:

答案 0 :(得分:2)

使用three.jsOrbitControls的最新版本似乎可以解决此问题:https://codepen.io/anon/pen/exRQYo

您使用的发行版84早于两年之前。始终使用three.js的最新版本,并确保示例目录中的文件(如OrbitControls)与您的three.js文件的版本匹配。