SuperAPI AI 工具集

threejs-syntax-controls

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:为 Three.js 场景添加相机控制时提供语法参考,包括环绕、平移、缩放、飞行、第一人称和物体操作,并帮助避免常见错误。

主要能力与选型:查看模型用 OrbitControls;俯视地图用 MapControls;自由飞行或太空场景用 FlyControls;指针锁定的第一人称用 PointerLockControls;无指针锁定的第一人称用 FirstPersonControls;通过手柄移动旋转缩放物体用 TransformControls;沿平面拖动物体用 DragControls;无约束旋转用 ArcballControls 或 TrackballControls。r160+ 导入路径统一为 three/addons/controls/...,旧路径 three/examples/jsm/controls/... 仍可用但不推荐。

必要用法与生命周期:构造时传入相机和 renderer.domElement,不要传 document 或 document.body,否则会全局捕获事件、破坏界面浮层。启用了 enableDamping 或 autoRotate 时,必须在渲染循环中每帧调用 controls.update(),否则交互结束后相机会冻结。移除控制器时必须调用 controls.dispose(),否则会泄漏指针、滚轮、键盘等事件监听,造成内存泄漏和幽灵交互。FlyControls.update(delta) 必须传入时间增量,不能省略或传已流逝时间。同一相机不要同时启用两个控制器。使用 TransformControls 拖动时,应监听 dragging-changed 事件切换 orbitControls.enabled,并将 TransformControls 或其 helper 加入场景。PointerLockControls.lock() 必须在用户手势(如点击)中调用。

适用场景与限制:适用于需要在 Three.js 项目中快速选择并正确配置相机控制、理解各控制器属性、方法和事件。具体默认值、属性、事件名称以官方文档为准;本资料未提供收费、平台或价格信息。