预测落地的脚步IK实现

前述

最近在折腾第三人称控制器,普通的脚步IK在平缓的地形或者斜坡上还行,但在楼梯或者有突然出现的高低差的地方就会因为IK实时更新,导致胯部的抖动,或者脚部的角度的突变。

查阅了一大圈资料,目前在上楼梯这个问题上,比较好的一个解决方案是育碧之前提出的预测性的IK,绝区零应该也是用的这个方案。

实现思路

最根本的思路就是在脚步离地的那一瞬间,通过预计算也好,实时计算也好,预测出脚步落地的点

然后从起始点到落地点之间,根据地形的高度变化,计算出脚步的运动轨迹。

使用这个平滑的轨迹来更新脚步的IK位置,就可以防止上述提到的抖动问题。

实现步骤

首先是动画数据的预处理。

我这里是根据脚尖和脚跟的高度,以及脚尖的速度,先得出一条脚步和地面是否接触的曲线。

接触曲线

在此曲线的基础上,再得出每一时刻:

  • 距离下一次脚步接触地面的时间
  • 下一次脚步接触地面位置
落点位置

有了落点和起始点,沿着这个线段,从上往下投射射线,得到与地面的一系交点。

再对这些交点进行一些运算,使之成一个凸包围盒。

最后得到的就是这个脚步的运动轨迹。

左右脚交替进行预测和计算。

同时给胯部一个平滑,就完工了。

效果
楼梯效果

预测落地的脚步IK实现
https://www.kuanmi.top/2025/08/04/predictIK/
作者
KuanMi
发布于
2025年8月4日
许可协议