眼部动画辅助工具
除了口型同步之外,Runtime MetaHuman Lip Sync 插件还包含两个可选的辅助工具,用于为 MetaHuman 眼睛制作动画:
- 自动眨眼:一个辅助工具,可在 MetaHuman 上生成自然、随机的眨眼动作
- 视线瞄准:一个动画蓝图节点,使 MetaHuman 的眼睛注视世界空间中的某个位置
这些功能完全独立于口型同步,可以单独使用、组合使用,或与口型同步节点配合使用。它们旨在作为轻量级、即插即用的辅助工具,用于添加逼真的眼部行为,而无需手动制作。
功能预览
视频演示
两个辅助工具的完整演练,包括旧版骨骼绑定的变通方法。
如果你的面部动画流程已经包含眨眼和动态注视,你可以跳过本页。这些辅助工具适用于那些你希望获得逼真眼部行为但不想自己手动制作的情况,例如,当你的动画序列不包含眨眼时,或者当你需要眼睛动态跟随移动目标时(这是静态动画序列无法做到的)。它们也可以叠加在现有面部动画之上,以补充缺失的部分,例如在仅动画嘴部的序列上添加眨眼。
自动眨眼
自动眨眼辅助工具通过驱动 MetaHuman 面部控制绑定的 CTRL_L_eye_blink 和 CTRL_R_eye_blink 曲线,生成随机且自然的眨眼效果。
工作原理
每一帧,你从你的面部动画蓝图的事件图表中调用 Update MetaHuman Auto Blink,并传入该帧的增量时间。该函数:
- 按调用方
AnimInstance为键,跟踪每个角色的状态(下次眨眼时间、当前睁开/闭合阶段等) - 返回两个0..1范围内的浮点值,一个用于左眼,一个用于右眼,表示每只眼睛当前闭合的程度
- 然后,您将这些值存储在蓝图变量中,并将它们输入到动画图中的控制绑定节点中
设置
两个步骤: 首先在事件图表(Event Graph)中添加眨眼调用,然后在动画图表(Anim Graph)中将值输入到控制绑定(Control Rig)节点中。
1. 事件图表:每帧驱动眨眼数值
在你的面部动画蓝图(例如 Face_AnimBP 或你复制/拷贝的版本,参见设置指南)中,打开事件图表,并将以下内容添加到事件蓝图更新动画中:
- 调用
Update MetaHuman Auto Blink - 将 Delta Time X(来自事件)连接到 Delta Seconds
- (可选)配置 Config 结构体。默认值看起来已经很自然
- 将 Left Blink Value 和 Right Blink Value 提升为蓝图变量(例如
LeftBlinkValue、RightBlinkValue)

2. 动画图:将值输入到面部控制绑定中
在同一个动画蓝图的动画图表中:
- 放置一个Control Rig节点来驱动眨眼曲线。它的具体位置取决于你是否将自动眨眼与其他面部动画(口型同步、自定义序列等)结合使用:
- 无其他面部动画: 将控制绑定节点直接放在主链中,位于
输出姿势之前。 - 与口型同步和/或其他面部动画结合: 将此控制绑定节点连接到
按骨骼分层混合节点中,而不是直接放在链中,请参阅下面的提示。
- 无其他面部动画: 将控制绑定节点直接放在主链中,位于
- 在节点的细节面板中,将控制绑定类(在UE 5.8+中为控制绑定资产引用)设置为你的MetaHuman面部控制绑定。路径通常为:
/All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig- 您的项目路径可能因 MetaHuman 的导入方式而有所不同。
- 在细节面板中,展开输入部分,并为以下项启用使用引脚:
CTRL_L_eye_blinkCTRL_R_eye_blink
- 将你的
LeftBlinkValue变量连接到CTRL_L_eye_blink - 将你的
RightBlinkValue变量连接到CTRL_R_eye_blink

如果你不与其他面部动画结合使用,请将Control Rig节点放在唇形同步混合节点(以及任何其他面部动画节点)之后的链路中,这样眨眼值就不会被覆盖。如果你确实要与唇形同步或其他面部动画结合使用,请遵循与现有动画结合指南,并将此Control Rig节点连接到Layered blend per bone节点的基础姿势输入上,分层混合节点能让两者同时生效,而不是简单地让一方覆盖另一方。
配置
Update MetaHuman Auto Blink 节点接受一个可选的 Config 结构体。默认值对大多数角色来说已经很自然,如果你想调整行为,请展开下方内容。
配置属性
时间安排
| 属性 | 默认值 | 描述 |
|---|---|---|
| 眨眼最小间隔时间 | 2.0 秒 | 眼睛完全睁开时,两次眨眼之间的最小间隔时间。 |
| 眨眼最大间隔时间 | 4.0 秒 | 两次眨眼之间的最大间隔时间。实际间隔时间在最小值和最大值之间随机确定。 |
| 闭眼最短保持时间 | 0.04 秒 | 眼睛完全闭合的最短持续时间。 |
| 闭眼最长保持时间 | 0.08 秒 | 眼睛完全闭合的最长持续时间。 |
插值
| 属性 | 默认值 | 描述 |
|---|---|---|
| 闭眼插值速度 | 35.0 | 闭眼时的速度。人类闭眼比睁眼快,因此该值有意高于睁眼速度。 |
| 睁眼插值速度 | 18.0 | 睁眼时的速度。 |
| 闭合阈值 | 0.97 | 眨眼被视为“完全闭合”并开始保持阶段时的数值。 |
| 睁开阈值 | 0.02 | 眨眼被视为“完全睁开”并安排下一次眨眼时的数值。 |
杂项
| 属性 | 默认值 | 描述 |
|---|---|---|
| 独立眨眼 | false | 当 true 时,左右眼以独立的时间间隔分别眨眼。当 false(默认值)时,双眼完全同步眨眼。 |
bEnabled(函数引脚) | true | 当 false 时,眼睛会缓缓睁开并暂停眨眼。适用于过场动画、睡眠、死亡等场景。 |
运行时控制
你也可以调用 Reset Auto Blink State 来显式清除指定 AnimInstance 的内部状态(例如,在角色重生或切换过场状态时)。
眼睛瞄准
“眼睛瞄准”辅助器是一个动画蓝图节点(Runtime MetaHuman Eyes Aim),它能让角色的眼睛追踪世界空间中的某个位置,例如玩家摄像机、另一个角色或任何移动目标。它支持偏航/俯仰角限制、平滑处理、当目标经过头部后方时的防翻转保护,以及可选的微扫视以增加真实感。
选择模式
该节点支持两种模式,可通过节点“详细信息”面板中的模式下拉菜单进行选择:
| Mode | 它驱动什么 | 放置位置 |
|---|---|---|
| 曲线(默认) | 面部控制绑定的眼部注视曲线(CTRL_expressions_eyeLook*) | 在面部动画蓝图(例如 Face_AnimBP)中,位于控制绑定节点之前 |
| 骨骼 | 直接驱动 FACIAL_L_Eye / FACIAL_R_Eye 骨骼,绕过控制绑定 | 在面部后期处理动画蓝图(例如 Face_PostProcess_AnimBP)中,位于 AnimNode_RigLogic 节点之后 |
曲线模式是推荐的默认模式。它能与其他基于曲线的面部系统(口型同步、表情、ARKit 混合变形等)干净地组合,因为数值通过常规控制骨骼求值进行合并,而不是争夺骨骼变换。
在某些MetaHuman变体上(尤其是较旧的绑定,包括一些通过Quixel Bridge下载的),眼部注视曲线实际上并不会驱动眼睛。可见的症状是,当Curves模式节点激活时,眼睛会向下看,瞳孔几乎被隐藏,无论目标位置在哪里。
如果你看到这个,请切换到 骨骼模式。骨骼模式直接旋转眼部骨骼,因此无论控制绑定如何连接,它都能适用于所有 MetaHuman 变体。请参阅下方 设置 中的 骨骼 选项卡。
设置
- 曲线模式(默认)
- 骨骼模式(备用方案)
默认设置。该节点位于标准的“面部动画蓝图”中,驱动面部“控制绑定”的视线曲线。
两个步骤: 将节点添加到你的动画图表中,然后从事件图表中为其提供目标位置。
1. 动画图:添加节点
在您的面部动画蓝图的动画图表中:
- 添加一个
Runtime MetaHuman Eyes Aim节点 - 在细节面板中将 Mode 保持设置为 Curves
- 将其放置在所有其他可能写入眼部注视曲线的面部逻辑(唇形同步、自定义动画等)之后,原理与 Auto Blink Control Rig 节点相同
- 将现有姿势连接到 Source Pose
- 将输出连接到链中的下一个节点(或
Output Pose) - 创建一个
Vector蓝图变量(例如TargetWorldLocation)并将其连接到节点的 Target World Location 引脚。你将在下一步中从事件图表更新此变量。

2. 事件图表:输入目标位置
目标世界位置引脚期望一个世界空间中的 FVector。一个常见的情况是让 MetaHuman 看向玩家摄像机。在事件蓝图更新动画中:
- 获取玩家摄像机管理器(玩家索引 0)
- 检查是否有效
- 如果有效,调用获取摄像机位置
- 将其存储在
TargetWorldLocation蓝图变量中

若要改为追踪任意Actor(NPC、物品、兴趣点),请每帧获取该Actor的位置,并将其存储在同一变量中。对于固定的注视点,可在节点的Details面板中一次性设置Target World Location,或将其设为常量。
如果曲线模式的方法不适用于您的 MetaHuman 变体(请参阅上面的警告),请使用此设置。在骨骼模式下,节点直接旋转眼球骨骼,并且必须在 Control Rig 完成评估之后运行,这意味着它应属于 Face Post Process Animation Blueprint,而不是常规的 Face AnimBP。
三个步骤: 找到后期处理动画蓝图,在RigLogic之后添加节点,然后从该蓝图的事件图表中为其提供目标位置。
1. 找到面部后处理动画蓝图
- 打开你的 MetaHuman 的面部骨骼网格体资源(例如 MetaHuman 文件夹下的
Face) - 在资源的细节面板中,找到后期处理动画蓝图字段
- 打开该资源,它通常命名为类似
Face_PostProcess_AnimBP的名称
2. 动画图:在RigLogic之后添加节点
在动画图(Anim Graph)的“面部后处理动画蓝图”(Face Post Process Anim BP)中:
- 找到现有的
AnimNode_RigLogic节点(它将面部 Control Rig 曲线转换为骨骼变换) - 在
AnimNode_RigLogic之后、Output Pose之前添加一个Runtime MetaHuman Eyes Aim节点 - 在节点的 Details 面板中,将 Mode 设置为 Bones
- 将
AnimNode_RigLogic连接到 Eyes Aim 节点的 Source Pose - 将 Eyes Aim 节点的输出连接到
Output Pose - 在此 Post Process Anim BP 中创建一个
Vector蓝图变量(例如TargetWorldLocation),并将其连接到节点的 Target World Location 引脚

默认骨骼引用(FACIAL_L_Eye 和 FACIAL_R_Eye)与标准 MetaHuman 面部骨骼相匹配。如果您的角色使用具有不同眼部骨骼名称的自定义骨骼,请在节点的 Details 面板中的 Bones 类别下覆盖它们。
3. 事件图表:输入目标位置
由于该节点位于后处理动画蓝图(Post Process Anim BP)中,目标位置逻辑也必须位于此蓝图的事件图表(Event Graph)中,而不是在 Face_AnimBP 中。其设置与曲线(Curves)模式相同(获取摄像机位置、某个Actor的位置,或使用常量),只是在 Face_PostProcess_AnimBP 内部执行。

任何无关的逻辑(如口型同步、自动眨眼等)都可以保留在常规的 Face AnimBP 中。只有用于 Eyes Aim 的目标位置计算需要移到这里。 面部控制绑定会根据其曲线每帧强制驱动眼部骨骼。如果“眼睛注视”节点在常规面部动画蓝图(在控制绑定之前)中运行,控制绑定随后会覆盖骨骼旋转。后处理动画蓝图在控制绑定生成最终骨骼变换之后运行,因此它是应用需要“胜出”的最终骨骼旋转的正确位置。为什么骨骼模式需要后期处理动画蓝图?
配置
所有设置都暴露在Runtime MetaHuman Eyes Aim节点的细节面板中。
瞄准与钳制
平滑处理与眼跳
骨骼(仅骨骼模式)
| 属性 | 默认值 | 描述 |
|---|---|---|
| 左眼骨骼 | FACIAL_L_Eye | 左眼骨骼名称。与标准 MetaHuman 面部骨骼相匹配。 |
| 右眼骨骼 | FACIAL_R_Eye | 右眼骨骼名称。与标准 MetaHuman 面部骨骼相匹配。 |
校准(仅限曲线模式)
这些值定义了头部空间角度如何映射到MetaHuman面部CR的眼部注视曲线值。默认值已针对标准MetaHuman面部CR进行了调校,通常无需更改。
| 属性 | 默认值 | 描述 |
|---|---|---|
| 偏航角每单位曲线度数 | 30° | 映射到偏航视角曲线值为1.0时的角度。 |
| 俯仰角每单位曲线度数 | 25° | 映射到俯仰视角曲线值为1.0时的角度。 |
结合口型同步与其他动画
这两个辅助工具旨在与插件的口型同步节点以及您已有的任何自定义面部动画共存。
- 眼睛注视应放置在唇形同步及同一链路中任何自定义面部动画之后,这样其眼球注视值就不会被下游覆盖。请参阅上文选择模式和设置。
- 自动眨眼使用
按骨骼分层混合节点而非简单的线性放置,有关将Control Rig节点接入其基础姿势输入的接线方法,请参阅上文放置很重要提示。
查看详细执行流程图(曲线模式与骨骼模式对比)
根据您的 MetaHuman 绑定使用的是推荐的 Curves Mode(曲线模式)还是备用的 Bones Mode(骨骼模式),执行逻辑的放置位置会有所不同。展开下方图表,查看两种管线的确切执行顺序:
自动眨眼和口型同步在两种模式下仍然位于常规的面部动画蓝图中。
关于与身体动画分层的详细信息,请参阅与现有动画结合。
备注与限制
这些辅助工具是 MetaHuman 专属的。它们依赖于标准的 MetaHuman 面部 Control Rig 曲线名称(CTRL_L_eye_blink、CTRL_R_eye_blink、CTRL_expressions_eyeLook*)以及标准的眼部骨骼(FACIAL_L_Eye、FACIAL_R_Eye)。它们不适用于自定义的非 MetaHuman 角色。
需要帮助吗?
如需定制开发请求,请联系 [email protected]。