我希望当我的角色跑过悬崖边缘、开始下落之前有一个小跳跃动画,但我一直没能让它正常工作。

目前的思路是:

  • 使用一个放置在角色脚前方的盒体碰撞器来判断是否没有地面,从而知道有悬崖边缘,并根据此设置一个布尔值的开关。
  • 在动画控制器(我使用Unity的动画控制器,没问题)中,检查这个布尔值,并在可以跳下悬崖边缘且存在移动输入且角色处于地面状态时,过渡到跳下边缘动画状态。

用这种方式触发是可行的。

现在我的实际问题如下:

  • 我应该为此禁用重力并手动移动我的CharacterController吗?
  • 对于这种情况,通常应该禁用碰撞检测吗?(这需要禁用我的CharacterController)
  • 如果手动移动物体,我是否应该用两行代码来实现:一行用于向前移动一点,另一行用于向下移动直到接触地面?
  • 我想运动匹配能让这一切看起来最好,但这个话题似乎超出我的能力范围。

你会怎么做?感谢任何建议!