UE5ControlRig脚部IK匹配地面(FootIK)的简易实现

简介: UE5ControlRig脚部IK匹配地面(FootIK)的简易实现

UE的Foot IK可以有多套方案,老的有动画蓝图中用TwoBoneIK,新的做法有ControlRig的BasicIK、FullBodyIK。博主针对FootIK做一个简单的验证,因此使用ControlRig+TwoBoneIK的做法,并做一下记录,之前做过UE FootIK的大佬可以跳过了。

先看一下效果(只考虑了角色待机时的脚位置修改):
q1.gif

1.原理
FootIK会遇到2种情况,一种是细小障碍物本身不是地面碰撞,且可以与胶囊体产生穿插(如左图)。还有一种是角色上下楼梯时胶囊体位于上一级楼梯,需要修改Pelvis关节将骨骼整体位置向下拉(如右图),以达到双脚都着地的效果。
q2.png

因此在腰部位置发射射线,保证射线长度大于脚长是比较重要的,这样才能判断上述第二种情况。
q3.png

流程:
1.以某个绑定给root关节的插槽A为起始点向地面发射射线(或投射球体)
2.若射线碰撞点超出了腿的长度,则将Pelvis骨向下偏移C,并设置相应IK目标点
3.若射线碰撞点小于腿的长度,则IK位置向上移动B,即直接设置IK目标点到射线碰撞点

1.设置Control Rig
新建一个Control Rig文件,因为只是做个想法验证,大致创建如下几个控制器:
q4.png

一些Control Rig相关的问题点:
1.Forwards Solve、Backwards Solve分别是控制器驱动骨骼、骨骼驱动控制器,和IK并没有关系。
2.直接拖拽控制器移动不了位置,需要切换到Initial再粘贴控制器坐标值。
3.在赋值偏移值时,用节点Set Relative Trasnform并勾选Parent Initial,可以用初始值加上偏移值,这样避免每次值都被叠加修改。
4.先进Maya看下模型双腿骨骼轴向,然后填入TwoBoneIK参数中。
5.控制器IK点的坐标,外部更新时需要外部Inverse Transform Location转换为本地坐标。

2.Control Rig流程
不截图了,流程图说下Control Rig Forward Solve中的处理流程:
q5.png

然后将ControlRig配置进动画蓝图:
q6.png

最后在动画蓝图EventGraph中处理Trace By Channel等逻辑即可。

相关文章
|
算法 异构计算
m基于插入导频相关峰判决法的基带信号跳频图样识别FPGA实现,包含testbench
m基于插入导频相关峰判决法的基带信号跳频图样识别FPGA实现,包含testbench
156 0
|
8月前
|
算法 测试技术 C#
【二分图】【二分图最大匹配】LCP 04. 覆盖
【二分图】【二分图最大匹配】LCP 04. 覆盖
|
8月前
|
网络协议
ABB 测量和分析仪 AO2000-LS25 激光分析仪
ABB 测量和分析仪 AO2000-LS25 激光分析仪
|
传感器 存储
多通道振弦模拟信号VTN采集仪模拟通道值和温度通道值修正
1.模拟通道值修正 模拟通道是指每组端子中的编号为 2 的接线端子(详见“接口定义”) 采集到的信号, 设备出厂时已经在硬件上配置为了电压、 电流、 电阻、 NTC 温度传感器中的任意一种。 若这些通道采集到的数据存在误差,可使用下述指令进行修正。
多通道振弦模拟信号VTN采集仪模拟通道值和温度通道值修正
|
存储 机器学习/深度学习 传感器
1-D信号压缩传感的实现(正交匹配追踪法Orthogonal Matching Pursuit)附matlab代码
1-D信号压缩传感的实现(正交匹配追踪法Orthogonal Matching Pursuit)附matlab代码
|
编解码 调度 vr&ar
【UE虚幻引擎】干货!UE修改分辨率的3种方法
虚幻引擎作为一款实时3D创作工具,在游戏、建筑、影视动画、虚拟仿真等领域受到全球各行各业创作者广泛欢迎,在UE中获取和设置分辨率也是3D创作开发工作中的常用功能。本文介绍了在虚幻引擎中修改分辨率的3种方法,希望对广大创作者有帮助。
|
机器学习/深度学习 传感器 算法
基于分数FLMS 和可变功率分数 LMS (VP-FLMS) 实现系统识别附matlab代码
基于分数FLMS 和可变功率分数 LMS (VP-FLMS) 实现系统识别附matlab代码
|
算法 安全 C++
科学家小蓝来到了一个荒岛,准备对这个荒岛进行探测考察。 小蓝使用了一个超声定位设备来对自己进行定位。为了使用这个设备,小蓝需要在不同的点分别安装一个固定的发射器和一个固定的接收器。小蓝手中还有一个移
科学家小蓝来到了一个荒岛,准备对这个荒岛进行探测考察。 小蓝使用了一个超声定位设备来对自己进行定位。为了使用这个设备,小蓝需要在不同的点分别安装一个固定的发射器和一个固定的接收器。小蓝手中还有一个移
285 0
科学家小蓝来到了一个荒岛,准备对这个荒岛进行探测考察。 小蓝使用了一个超声定位设备来对自己进行定位。为了使用这个设备,小蓝需要在不同的点分别安装一个固定的发射器和一个固定的接收器。小蓝手中还有一个移
|
Java Spring
【UE4系列】UE4汽车导入,并行驶
选中spring arm target arm length 设置为550 ,Z坐标设置成120,如下图所示。WheeledVehicle ,是UE4汽车的母版,集成了很多功能。选择车-pawn-改成player0,点击运行。y轴反了,增加float变量为-1。7.3,编写动画蓝图函数,结果如图。设置成如图,左前轮,对应左前轮刹车。在汽车蓝图里,添加摄像头的控制。,这一步也可以第一步开始做。创建成功,修改名字,如图。,第一个前左轮,依次绑定。,为UE4汽车轮子模板。,转动角度设为0,如图。
247 0
【UE4系列】UE4汽车导入,并行驶