天天看点

UE4学习日记(九)脚部IK动画

这次实现的功能是人物的脚部IK动画。

首先进入角色蓝图,声明需要用到的参数。

UE4学习日记(九)脚部IK动画

初始化两个参数IKScale和IKDistance。IKScale是预防角色变小之后,出现定位偏差。

UE4学习日记(九)脚部IK动画

然后是IKFootTrace函数,

UE4学习日记(九)脚部IK动画
UE4学习日记(九)脚部IK动画

进入角色动画骨骼中,添加插槽Toe_l和Toe_r,注意这个Toe需要设定在【脚底】的位置,这样更加方便后面站在斜面时的旋转,更好的贴合地面,如在脚掌的话,可能出现悬空或者陷入地面的问题。

UE4学习日记(九)脚部IK动画
UE4学习日记(九)脚部IK动画

进入角色蓝图,设置IKInterSpeed为20,设置LeftFootSocket为Toe_l,设置RightFootSocket为Toe_r。

开始编写脚部IK动画处理事件。

先限定进行脚部IK的情况,只有角色在静止时才进行脚部IK的计算,防止角色鬼畜。

UE4学习日记(九)脚部IK动画

计算脚部IK。

UE4学习日记(九)脚部IK动画

调整角色胶囊体高度。

UE4学习日记(九)脚部IK动画

进入角色动画蓝图,声明以下变量。

UE4学习日记(九)脚部IK动画

在【事件蓝图更新动画】中更新参数变化。

UE4学习日记(九)脚部IK动画

AnimGraph中修改如下,双骨骼IK可以Joint Target Location 可以跟我一样:

UE4学习日记(九)脚部IK动画

注:root骨骼的变换如下:

UE4学习日记(九)脚部IK动画

双骨骼IK中左边的设置

UE4学习日记(九)脚部IK动画

右边的改为后缀r的即可。

然后是脚面的角度变化。

UE4学习日记(九)脚部IK动画

注:左脚变换参数设置如下:

UE4学习日记(九)脚部IK动画

最后别忘了在Tick中调用FootIK事件。

UE4学习日记(九)脚部IK动画

最终效果图:

UE4学习日记(九)脚部IK动画
UE4学习日记(九)脚部IK动画

还有点bug,脚的角度会改变,但会陷入地面。

继续阅读