[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的主要内容,如果未能解决你的问题,请参考以下文章