需求是初始化加载完成顺时针自动旋转,用户进行缩放或者旋转控制后停止自动旋转,点击复位后回到初始状态并且自动旋转
1、创建一个控制器
const controls = new OrbitControls()
2、设置初始自动旋转(默认逆时针旋转)
controls.autoRotate = true;
3、设置顺时针旋转 autoRotateSpeed设置为负值(默认是2),例如
controls.autoRotateSpeed = -2;
4、实现点击复位回到初始状态 点击事件如下:
const resetModel = () => {
controls.reset();
controls.autoRotate = true;
}
5、实现用户操作后停止自动旋转,没有直接能够监听用户操作的API,但可以通过监听start/end实现,如下
controls.addEventListener('end'/'start', () => {
controls.autoRotate = false;
});
建议使用end