Unity第三人称摄像机
Unity第三人称摄像机控制实现详解
📌 核心功能概述
- 平滑跟随角色移动
- 鼠标控制视角旋转
- 垂直视角角度限制
- 特殊场景相机位置切换(如处决动画)
🎮 输入控制系统
1 | _input.x -= GameInputManger.Instance.cameralook.y * _controlSpeed; |
| 参数 | 说明 |
|---|---|
_controlSpeed |
鼠标灵敏度 |
_CameraVerticalMaxAngle |
视角俯仰限制(避免穿模) |
🔄 平滑过渡实现
采用两种平滑技术:
1. 旋转平滑
1 | _CameraRotation = Vector3.SmoothDamp(_CameraRotation, |
2. 位置平滑
1 | transform.position = Vector3.Lerp( |
🎥 特殊场景处理
通过事件系统切换相机模式:
1 | // 事件订阅 |
💡 开发技巧
- 使用LateUpdate:避免相机抖动
- Cursor控制:游戏运行时隐藏鼠标
1
2Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false; - 参数化设计:所有关键参数暴露给Inspector
🛠️ 扩展建议
- 添加障碍物检测避免穿墙
- 实现镜头碰撞缩放
- 添加震动效果增强打击感
```
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 砂糖·橘🍊!
