// 初始化控制器 const controls = new THREE.OrbitControls(camera, renderer.domElement); // 监听控制器变化 controls.addEventListener('change', () => { console.log('相机位置改变了'); });也不生效
时间: 2024-02-23 17:00:44 浏览: 71
three.js之初始化代码封装
可能是因为你没有在渲染循环中调用控制器的 update 方法。你可以在渲染循环中添加如下代码:
```
function animate() {
requestAnimationFrame(animate);
controls.update(); // 更新控制器
renderer.render(scene, camera);
}
animate();
```
这样控制器就能够生效了。同时,你也可以在控制器的构造函数中传入一个参数 `autoRotate`,设置为 `true` 就可以自动旋转了。例如:
```
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.autoRotate = true;
```
阅读全文