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等逻辑即可。

相关文章
UE4 Animation Layers功能学习
UE4 Animation Layers功能学习
552 0
UE4 Animation Layers功能学习
|
索引 容器
UE5 学习笔记-01
UE5 学习笔记
|
C++
UE4/5中DataTable数据表的使用
UE4/5中DataTable数据表的使用
1931 1
UE4/5中DataTable数据表的使用
|
算法 安全 调度
解决Python并发访问共享资源引起的竞态条件、死锁、饥饿问题的策略
解决Python并发访问共享资源引起的竞态条件、死锁、饥饿问题的策略
400 0
|
9月前
|
开发工具 开发者
HarmonyOS NEXT实战:接入微信SDK
本教程介绍如何在HarmonyOS Next中集成微信开放SDK,实现微信登录与数据交互功能。内容涵盖应用配置、SDK依赖设置、模块与构建修改、工具类添加及常见问题处理,适用于教育场景下的开发者学习与实践。
558 0
UE4动画蓝图节点Layered blend per bone详解
UE4动画蓝图节点Layered blend per bone详解
794 1
|
开发者
如何设计一套好的技能buff(二)
如何设计一套好的技能buff(二)
676 0
|
atlas
Cesium导入geojson数据
这篇文章详细描述了如何在Cesium中导入GeoJSON数据来绘制地理矢量数据,并提供了实现的具体方法和示例代码。
786 2
Cesium导入geojson数据
|
缓存 监控 前端开发
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(3)-再识Fiddler让你感性认识一下
【7月更文挑战第18天】Fiddler界面简要介绍:Fiddler是一个HTTP协议调试代理工具,其界面分为多个部分,包括菜单栏、工具面板、会话列表、监控面板和状态栏。
433 1
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(3)-再识Fiddler让你感性认识一下
|
编解码 移动开发 前端开发
web canvas系列——快速入门上手绘制二维空间点、线、面
web canvas系列——快速入门上手绘制二维空间点、线、面
620 4

热门文章

最新文章