1. 角色控制器基础入门
第一次接触Unity角色控制器(Character Controller)时,我和很多新手一样犯过迷糊:明明已经有刚体(Rigidbody)和碰撞体(Collider)了,为什么还要这个组件?直到在一个跑酷游戏项目中踩了坑才明白,用刚体控制角色移动就像用卡车运鸡蛋——虽然能到目的地,但过程会很痛苦。
角色控制器本质上是个"智能胶囊碰撞体+移动逻辑"的封装。它最突出的特点是:
- 物理响应可控:不会像刚体那样被撞飞
- 移动精准:避免了直接修改Transform导致的穿模
- 地形适应:内置坡度/台阶检测等游戏角色专属功能
举个例子,当你的角色需要爬一个30度的斜坡时:
- 用刚体需要写复杂的力计算
- 用Transform直接移动会穿模
- 而角色控制器只需要设置Slope Limit参数就能自动处理
// 获取组件引用
CharacterController controller = GetComponent<CharacterController>();
// 设置斜坡限制为30度
controller.slopeLimit = 30f;
2. 移动方法深度对比
2.1 SimpleMove的智能之处
SimpleMove是我最推荐新手使用的方法,它就像自动驾驶模式:
- 自动处理重力(Y轴速度)
- 自动进行碰撞检测
- 速度参数不用乘Time.deltaTime
void Update() {
float speed = 5f;
Vector3 move = new Vector3(Input.GetAx


9962

被折叠的 条评论
为什么被折叠?



