文章目录
一、为什么 OrbitControls 需要工程化参数
默认控制器可用,但在产品中常见"拖拽太飘、缩放突兀、目标丢失"等体验问题。
二、核心参数组合
javascript
controls.enableDamping = true;
controls.dampingFactor = 0.08;
controls.rotateSpeed = 0.8;
controls.zoomSpeed = 1.0;
controls.panSpeed = 0.8;
controls.minDistance = 2;
controls.maxDistance = 80;
三、交互体验优化
- 给关键对象设置
controls.target,切换对象时平滑过渡。 - 限制极角范围,避免相机穿地或翻转。
- 移动端调低旋转/缩放速度,减少误操作。
四、性能与同步
在主循环中仅调用一次 controls.update(),并与 fixed-step 逻辑解耦。
五、结语
相机手感是 3D 产品体验底座,建议沉淀一套统一参数基线。