[UE4蓝图]实现脚步IK

Posted hellogiao1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[UE4蓝图]实现脚步IK相关的知识,希望对你有一定的参考价值。

何为IK?

IK(Inverse Kinematics),反向运动学,是指在一个相互连结的动力链中,移动某一个节点时(特别是当最末节点移动时),其他节点的参数会自动计算以达到期望的位置。
简而言之,IK 是给某个骨骼直接设置一个目标位置,让系统计算其它骨骼的旋转和位置。比如抬腿时,可以将脚的位置向上偏移,然后控制好膝盖弯曲的方向(向内侧或者外侧),系统则会计算出膝盖应该处在什么位置。
(FK(Forward Kinematics),正向运动学,则是按顺序设置每个骨骼的位置与旋转)

看一下射线检测图

图中蓝色即为我们检测用的射线,从人物半高位置竖直打向左脚。
红色部分则为射线的击中点,绿色圆圈的高度是地面的高度,也就是人物Mesh组件的高度(Mesh的坐标点在脚下)。红黑长度可以由射线检测得到,绿黑长度即为人物半高(你也可以设置为其他定值)。
那么脚的偏移量红绿长度=绿黑-红黑便可以求得了,膝盖的位置就交给IK系统处理了。

射线检测函数IK_LineTrace

通过脚部的XY轴值和Mesh的Z轴值获得了蓝点蓝点加上半高就得到射线的起点蓝点减去TraceDistance就得到射线的终点。
为什么不用脚部的Z轴值?因为我们修改的EffectionLocation是给脚部的偏移量,而初始位置都是在地面的高度也就是Mesh的Z轴值。当脚已经实现IK抬起时,脚部的Z轴值就已经不是在地面位置了,就会出现计算出的位移量错误。)

学习使用

链接:[UE4蓝图]虚幻4中完整实现脚部IK(二)(完结)https://zhuanlan.zhihu.com/p/85949418
视频:https://www.bilibili.com/video/BV1ts411V7hh?from=search&seid=1224248101620553376

以上是关于[UE4蓝图]实现脚步IK的主要内容,如果未能解决你的问题,请参考以下文章

14 UE4蓝图:制作门的蓝图类

求助帖,UE4想使用蓝图实现开关灯效果遇到困难

ue4如何用蓝图实现 获取到选中Actor的路径?

UE4蓝图传递

UE4简单任务目标蓝图(DataTable)

Ue4蓝图没有拖进场景为啥能执行