跳转至

说实话,之前2D翻墙做起来很困难

攀爬类型

  • 跳跃
  • 低位攀爬
  • 高位攀爬
  • 翻越

判定方法

使用射线检测,并判断和墙体法线夹角,可以得知是否能够攀越(还可以加入输入方向是否符合) * 高度:使用多段射线检测从下到上,判断障碍物高低的影响,是否可以攀爬,什么样的方式攀爬 * 厚度:根据相交点,再使用射线检测往法线后面偏移,并向下做射线检测,判断墙体厚度 * 可以根据速度进行偏移量的影响

角色控制

  1. 需要给角色退出攀爬设置条件
  2. 禁用controller,获得root motion控制权,攀爬上去后记得重新激活一下
  3. 手部对齐
    • 确保角色对准攀爬物体,选取离障碍物最近的点ledge。
    • 并用法线和上方的叉乘判断左右
    • 使用animator.MarchTarget 在动画播放中合适的时间将手部对齐