我正在尝试将 dat.gui 与一个非常简单的 three.js (r73) 场景一起使用,但是在将“renderer.domElement”添加到 trackballControls 初始化后遇到了旋转和平移无法正常工作的问题。缩放按预期工作。
如果没有 renderer.domElement,我可以获得有效的旋转、缩放、平移功能,但 dat.gui 界面滑块在单击时会“锁定”,这很烦人且不起作用。此处描述的问题:在 three.js 示例中使用 dat.GUI 时出现问题。
在这里查看了更多信息,但没有看到很好的解决方案:https ://github.com/mrdoob/three.js/issues/828
也发现了这个问题。定义容器元素又名 renderer.domElement 不起作用。如果不旋转场景,我无法在画布区域之外单击。 仅当鼠标在画布上时才允许鼠标控制 three.js 场景
最近有没有人遇到同样的事情?如果是这样,有哪些解决方法是可能的?任何帮助表示赞赏。
-
代码设置如下:
// setup scene
// setup camera
// setup renderer
// ..
var trackballControls = new THREE.TrackballControls(camera, renderer.domElement);
trackballControls.rotateSpeed = 3.0;
trackballControls.zoomSpeed = 1.0;
trackballControls.panSpeed = 1.0;
// ..
// render loop
var clock = new THREE.Clock();
function render() {
stats.update();
var delta = clock.getDelta();
trackballControls.update(delta);
requestAnimationFrame( render );
renderer.render( scene, camera );
}