javascript - Three.js OrbitControls enableRotate/Pan = false 似乎不起作用
问题描述
我想用 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
解决方案
使用最新版本似乎可以解决问题:three.js
https ://codepen.io/anon/pen/exRQYoOrbitControls
您使用过 84 版,该版本已有两年多的历史了。始终使用最新版本,three.js
并确保示例目录中的文件(如OrbitControls
)与您的three.js
文件版本匹配。