当鼠标交互时,如何使OrbitControls的自动旋转停止,几秒钟之后就像P3D一样启动。在这里使用他们的徽标(http://p3d.in/)
答案 0 :(得分:9)
对于谷歌搜索的人,如果你想在第一次互动后停止自动旋转;你可以在OrbitControls发出的3个事件之一上挂起一个事件监听器:
// stop autorotate after the first interaction
controls.addEventListener('start', function(){
controls.autoRotate = false;
});
甚至更高级,在用户结束上次交互后重启自动旋转,超时为1000毫秒:
// stop autorotate after the first interaction
controls.addEventListener('start', function(){
clearTimeout(autorotateTimeout);
controls.autoRotate = false;
});
// restart autorotate after the last interaction & an idle time has passed
this.controls.addEventListener('end', function(){
autorotateTimeout = setTimeout(function(){
controls.autoRotate = true;
}, 1000);
});
答案 1 :(得分:7)
controls.autoRotate = false;
只需在init上使用'true'启动它,然后在onMouseMove上执行以下操作:
if (controls.AutoRotate)
controls.autoRotate = false;