虚幻Max2UEPoseDriver修型工具
# 虚幻Max2UEPoseDriver修型工具
# 基础需求
UE5项目中 角色绑定修型需要。
- 骨骼裙摆没有动画,移动动作中 和 大腿穿帮。
- 角色膝盖弯曲时,膝盖处形状难看。
- 角色抬手臂时,肩膀处变形难看。
- 3dsMax 到 UE5 的制作流程,不用Maya 。
本工具无需在 3dsMax 中创建复杂的绑定结构,只关心 修型POSE,制作学习成本极低,但是只能在UE5中配合使用。
本文就使用 UE5 动画蓝图中的 PoseDriver 节点 解决 角色膝盖 形状变形为例简单解析工具使用情况。
# Maya - PoseDriver姿势驱动
PoseDriver是一种角色绑定手段,通常用来修整模型变型,制作肌肉体型等等,例如 当角色抬起手臂时,手臂上的肌肉压缩隆起等效果。
PoseDriver 分为 Driver 驱动者,Driven 被驱动者。意为,当 驱动者 状态发生变化时,被驱动者做出相对应的动作。
上图绑定中的,驱动者是大臂骨骼,被驱动者是 肩膀处的 修型骨骼。
【UE5】使用全新PoseDriverConnect工具集插件在Maya和UE中创建姿势修型动画 - 知乎 (opens new window)
# PoseWrangler
PoseWrangler 是UE 官方提供的 maya 插件,用于创建 驱动 反应绑定,可以在视口中查看绑定效果。
- 支持将反应导出 json
- 支持将姿势POSE导出 FBX
# 3dsMax - PoseDriver
虽然 PoseWrangler 没有支持 3dsMax , 但是可以根据 其Maya版本导出的 Json 逆向出 导出插件。
直接在 3dsMax 导出驱动 配置,而不用进 Maya 中处理再导出配置。是一个简陋版本 PoseWrangler for Maya 配置导出工具。
使用方法如下 :
- 除驱动骨骼和被驱动骨骼外,其他骨骼必须无动画是蒙皮姿势.
- 时间轴的第 0 帧必须是蒙皮姿势.
- 0帧之后每帧一个Pose,不要间隔,按顺序addPose添加姿势.
- 导出 Json 配置之后,请手动导出 动画FBX 到同路径.
- 有几个Pose,就导出多长的动画.
- FBX文件名为【驱动骨骼名_UERBFSolver】命名中的空格用 【-】减号代替.
# 设置 膝盖的 修型POSE
给 被驱动骨骼 和 驱动骨骼 K 好几个姿势,如下图。
拾取 驱动,被驱动,添加 姿势,导出配置,导出 FBX,没有其他多余操作
# 创建后处理动画蓝图
# Pose Driver Connect
是UE5官方提供的导入插件,支持将 PoseWrangler 导出的 【驱动配置】 导入进 UE5.5 中,自动在动画蓝图中添加 PoseDriver 节点。
使用该 UE5 插件,我们可以把从 3dsMax 中导出的 驱动配置 Json 导入进虚幻。
- 选择角色的 骨架 资源
- 选择作用的 后处理动画蓝图。
- 选择 从 Max / Maya导出的驱动 配置 Json 文件。
- 选择 从 Max / Maya 导出的POSE姿势动画FBX文件夹。
- 选择 引擎 中 FBX 文件夹。
- 点击 【Import All RBF Solvers】导入RBF解算 按钮即可。
导入 RBF 解算 过程中,会自动导入 POSE姿势动画FBX ,并创建 相应的 PoseAsset ,还会在 动画蓝图 中创建 PoseDriver 节点,并设置。
导入完成之后,随便打开 一个动作资产,即可预览效果。
UE5 安装方式,如下图。
https://www.fab.com/listings/745c5017-d248-4aab-8e11-2e00f57aaca0 (opens new window)
# 虚幻 - PoseDriver参数设置
在 UE5 中的 PoseDriver 节点设置。
# 姿势反应函数
决定每个Pose对驱动骨骼的反应速度情况,
# 骨骼设置
设置 驱动骨骼和被驱动骨骼。
源骨骼(Source Bones) | 即驱动骨骼,本文案例中是 大腿骨骼 |
计算空间骨骼(Eval Space Bone) | 计算空间,保持默认为空,源骨骼的本地 空间即可。 |
仅驱动骨骼(Only Drive Bones) | 被驱动的 骨骼,本案例中是 裙摆骨骼。 |
从参考姿势计算(Eval from Ref Pose) | 保持勾选,从蒙皮姿势开始计算。 |
# RBF 设置
该参数 决定 每个目标的触发范围。
叠加型(Additive) | 叠加型解算器会将每个目标的影响添加总和在一起。这种解算器速度更快,但是需要更多的目标来达到较好的覆盖面,并且需要进行归一化才能够取得流畅的结果,不建议使用。 |
插值型(Interpolative) | 根据距离从每个目标插入数值。只要输入数值在目标所划定的范围内,插值就能够正常运行并且不需要归一化就能够返回0% - 100%之间的权重值。插值比起叠加能够使用更少的目标达到更流畅的结果 |
半径(Radius) | 所有目标的范围, |
自动半径(Automatic Radius) | 自动根据目标之间的平均距离设置半径 |
默认方式(Default Method) | 本案例使用 默认方式,大腿使用 SwingAngle不是很稳定的。 |
摇摆角(Swing Angle) | 是去掉 twist 之后的旋转,假设 Twist 是X ,那只计算 YZ轴的旋转,常用在肩膀处修型反应。 |
扭曲角(Twist Angle) | 是只计算 Twist ,常用在手臂手腕处修型反应。 |
是计算驱动骨骼变化的方式,是RBF 修型的核心参数设置。
虚幻引擎中的姿势驱动器 | 虚幻引擎 5.5 文档 | Epic Developer Community (opens new window)
# 下载
天晴盒子安装器中 下载
安装路径:D:\Program Files\Autodesk\3ds Max 20xx\scripts\Max2UE5PoseDriver