Motion

关于游戏中角色运动的一些实在问题(附代码)

控制角色移动

  1. 使用物理系统

  2. 使用加速度

  3. 在 FixedUpdate 调用物理系统

地面检测

判断角色是否脚踏实地

  1. 在角色脚下射出碰撞方块

  2. 判断接触点的法线

斜坡运动

  1. 角色运动方向要与斜坡方向水平

  2. 更进一步, 是要与下一帧斜坡方向水平

平台优化

土狼时间

  1. 角色离开平台后短暂时间还能跳跃

  2. 离开平台后短暂保留平台状态

边缘助力

  1. 角色要跳上时, 小部分撞到平台导致没撞上

  2. 可以将边缘圆润的碰撞体替换原本角尖锐的碰撞体

  3. 可以在快撞到平台时给予助力

空中控制

好的空中控制需要

  1. 跳跃高度会随按下跳跃键的时间而变化,做到短按跳得矮,久按跳得高(有种通过按键来施加跳跃力的感觉)

  2. 跳跃下落更干脆,对于同等高度,通常下降的时间会比跳跃上升的时间更短。

添加额外重力

  1. 当玩家在跳跃上升过程中,如果没按住跳跃键,就施加更大重力

  2. 当玩家处于下落状态时,我们就为它施加额外重力,使下落过程加快

最后更新于