说实话,之前2D翻墙做起来很困难
攀爬类型¶
- 跳跃
- 低位攀爬
- 高位攀爬
- 翻越
判定方法¶
使用射线检测,并判断和墙体法线夹角,可以得知是否能够攀越(还可以加入输入方向是否符合) * 高度:使用多段射线检测从下到上,判断障碍物高低的影响,是否可以攀爬,什么样的方式攀爬 * 厚度:根据相交点,再使用射线检测往法线后面偏移,并向下做射线检测,判断墙体厚度 * 可以根据速度进行偏移量的影响
角色控制¶
- 需要给角色退出攀爬设置条件
- 禁用controller,获得root motion控制权,攀爬上去后记得重新激活一下
- 手部对齐:
- 确保角色对准攀爬物体,选取离障碍物最近的点ledge。
- 并用法线和上方的叉乘判断左右
- 使用animator.MarchTarget 在动画播放中合适的时间将手部对齐