Metlivi 博客

如何在独立骨骼通道上编辑口型同步和身体动画

要在编辑口型同步时不影响身体动画,请为每段表演分别创建一个动作,其中只包含它应控制的属性,然后在不同动画轨道上同时播放这些动作。将下颌和嘴唇控制放入口部动作;将根节点移动、四肢、躯干、颈部和头部转动放入身体动作。

本指南使用 Blender 4.5 LTS,以及一个嘴部和身体控制都已正常工作的角色。具体任务是在保留现有身体表演的同时,调整口型姿势和对白时序。Blender 的非线性动画编辑器(简称 NLA 编辑器)提供了组合这些动作的轨道。Blender 手册:轨道

2026年10月29日阅读时间:8 分钟作者:Metlivi Editorial Team
第 1 节

究竟是什么将口部动画与身体动画分开?

在 Blender 中,动作存储动画数据。其 F 曲线描述各个属性如何随时间变化,例如骨骼的旋转或控制项的自定义属性。骨骼名称下显示的通道组有助于整理这些曲线,但通道组的名称并不会让角色的某个部分由其专属控制。Blender 手册:动作

实用原则是:每个动画属性只指定一个归属动作。即使两个动作分别命名为 Body 和 LipSync,只要它们都包含同一个下颌控制项的曲线,就仍可能互相干扰。反过来,同一个骨架上的动作只要控制的动画属性彼此独立,就可以干净地协同工作。这种工作流程的依据是将曲线本身分开。

动作槽有不同用途:它们用于整理一个动作内针对不同数据块的动画数据。在这个单骨架工作流程中,请使用独立的身体动作和口部动作,并为每个动作指定适用于骨架对象的槽。创建名为“mouth”和“body”的槽,并不会自动按类别筛选骨骼。Blender 手册:动作槽

第 2 节

哪些控制项应该归属到各个动作?

开始编辑前,先制作一份简单的归属表。以下是建议的安排,并非 Blender 强制要求的命名规范:

控制项或属性 建议归属 编辑规则
根节点移动、躯干、四肢 身体动作 修改对白时保留
颈部和头部转动 身体动作 将角色的整体表演保持在一起
下颌张合和嘴唇控制 口型同步动作 根据对白调整
眨眼和眉毛控制 可选的表情动作 只有在独立编辑有用时才分开
驱动口型的自定义属性 口型同步动作 为实际生成口型的属性添加关键帧

记录关键帧前,先测试绑定。移动一个嘴部控制项,观察发生了什么,然后将其还原。确认可见口型来自控制项的变换、自定义属性还是驱动关系。Blender 的最终动画除了关键帧变换,还可以包含驱动器和约束,因此变形骨骼通道看起来为空,并不能证明嘴部没有动画。Blender 手册:编辑片段——烘焙动作

保留现有层级结构。子骨骼通常会继承父骨骼的位置、旋转和缩放。因此,嘴部控制可以有独立的局部动画,同时仍跟随头部转动。通常无需断开下颌或更改骨骼父子关系,就能将编辑内容分开。Blender 手册:关系

第 3 节

如何在现有身体动作旁创建口部动作?

先保存项目的工作副本。选择骨架,打开动作编辑器模式下的摄影表,并检查现有身体动作。展开其通道,确认其中包含归属表中分配给身体的属性。

使用 Push Down Action 将该动作移至 NLA 片段。这样骨架就不会再有活动动作。Blender 将此操作与 Stash Action 区分开来,后者会将动作放到已静音的轨道上,以便日后使用。身体动作需要在你工作时继续播放,就使用 Push Down。Blender 手册:动作编辑器

在此时已空的动作编辑器中创建一个新动作,并为其取一个清晰的名称,例如 LipSync_Line01。进入姿态模式,选择一个嘴部控制项,并在其指定属性上插入初始关键帧。继续操作前,确认新动作及其槽已指定给骨架。

只为嘴部清单中的属性添加关键帧。重复进行这类工作时,可以创建一个包含这些属性的自定义关键帧集。关键帧集会为一组已定义的属性插入关键帧,因此每次操作前都要检查当前激活的关键帧集;角色通用关键帧集可能包含超出当前任务需要的控制项。Blender 手册:关键帧集

建立口部动画后,也将它推入 NLA。将其片段放在身体轨道上方的独立 NLA 轨道上,并确保两个片段都覆盖预期的表演区间。现在,你可以分别选择、检查和修改这些片段。

第 4 节

如何拆分已经同时包含两种表演的动作?

如果原动作已经包含口部和身体关键帧,在移除任何通道前先保留原动作。一种实用方法是将它推入 NLA 编辑器,用 Strip → Duplicate 复制其片段,并将副本放到另一条轨道上。此命令会复制所引用的动作;Linked Duplicate 则会与原动作共享数据。编辑前可使用 Make Single User 将现有共享动作分离。Blender 手册:编辑片段

将两个动作分别命名为 Body 和 LipSync。编辑身体动作副本时,只移除归属口部的通道。然后编辑口型同步动作副本,只移除归属身体的通道。保留一份未改动的项目副本,以便恢复遗漏的控制项。

使用 Channel → Delete Channels 移除整个不需要的通道。使用键盘快捷键时,指针必须位于通道区域;若指针位于关键帧区域,删除的将是选中的关键帧。对于职责多样的控制项,请检查属性路径,不要在未检查内容的情况下删除整个骨骼组。Blender 手册:编辑通道

分别测试每个动作。身体动作应能重现身体表演,但不包含录制的口部动作。口型同步动作应包含对白口型,但不包含根节点移动或手势。然后同时启用两者,检查组合结果。

第 5 节

哪些混合设置能让动作保持独立?

对于属性归属各自独立的两个动作,先使用 Replace 混合模式并设为完整影响度。Replace 会覆盖上方片段所动画的属性在较低轨道上的值;它不会创建骨骼筛选器。如果启用口型同步后身体姿势发生变化,请先检查口型动作中是否包含不需要的身体曲线,再更改混合模式。Blender 手册:NLA 侧栏

如果口型动作只应在片段边界内起作用,请将口部片段的外推模式设为 Nothing。Hold 和 Hold Forward 会将端点值延伸到片段之外。如果需要受控的过渡,也要在开头和结尾附近为有意设定的静止口型添加关键帧;单靠外推并不能设计这个过渡。

请将以下设置视为不同的控制项:归属关系决定片段为哪些属性设置动画,混合决定重叠值如何组合,外推决定片段之外会发生什么。按这个顺序排查问题。

第 6 节

如何调整口型同步时序而不移动手势?

选择口部片段,并在 NLA 编辑器中按 Tab 进入调整模式。Blender 的全栈调整模式会保持其他轨道启用,同时显示所选动作的关键帧。这样你就可以在查看身体表演的同时细修口部动作。移动片段本身之前,请先退出调整模式。Blender 手册:开始调整片段动作

选择能解决问题的最小幅度时序调整。若只有一个口型来得过早或过晚,就移动个别口部关键帧。若整句对白都有相同的偏移,就移动整个口部片段。只有在整体时长需要改变时,才缩放片段。Blender 会将移动片段、裁剪动作范围和改变播放缩放区分开来。Blender 手册:NLA 侧栏

举个说明性例子:假设项目以每秒 24 帧运行,而每个口型都晚了 0.25 秒。对应的偏移量为 24 × 0.25 = 6 frames。将口部片段提前六帧,保持身体片段和音频参考不动。如果开头对齐但结尾发生偏移,单纯调整整体偏移无法修复整句对白;应改为检查时长和中间口型。

每次修改后,重新播放完整对白,并检查最初和最后的口型姿势。局部修正可能改善一个音节,却让它旁边的过渡变得突兀。在这最后一轮检查中,保持身体轨道可见。

第 7 节

如何快速排查相互干扰?

按以下顺序查找原因,再决定是否需要重建动画:

  1. 检查通道归属。 查看口型动作中是否包含根节点、四肢、头部或无关自定义属性的曲线。
  2. 单独播放每条轨道。 Blender 的 Solo 控制项会隔离一条轨道,包括静音活动动作轨道。确认每个片段都包含预期的表演。Blender 手册:轨道
  3. 检查共享动作。 如果更改一个片段会改变另一个片段,请检查它们是否引用了同一个动作;必要时创建独立副本。
  4. 检查片段边界。 如果对白结束后口型仍然维持,请检查外推模式和端点关键帧。
  5. 检查驱动器和约束。 如果曲线彼此独立,但绑定仍使动作相互关联,请追踪生成最终姿势的控制项。

不要用通道锁代替拆分。受保护的通道无法编辑,而静音的通道则不会影响动画。这两种操作都不会将通道从动作中移除。要制作可重复使用的纯口部片段,清晰的归属关系比临时禁用的一组曲线更容易检查。Blender 手册:编辑通道

第 8 节

导出时如何保留组合后的结果?

如果任务最终是在 Blender 中渲染,请保留独立动作,方便日后修改。如果需要 glTF 角色文件,请有意选择导出模式:导出器的 NLA Tracks 模式会将每条轨道作为独立动画导出,而 Scene 模式会导出经过求值的场景动画。因此,画面中有两条轨道,并不意味着导出后会自动成为一个组合片段。Khronos glTF-Blender-IO 文档:动画

如果要生成一个组合表演,请使用旨在捕获经过求值场景的导出配置,然后在目标位置检查导出的文件。检查对白时序、头部动作、口型端点和所选帧范围。导出器文档还规定,对骨骼驱动的形状键动画进行采样时,网格必须是骨架的直接子级。如果你的口部绑定采用这种结构,请确认满足此条件。Khronos glTF-Blender-IO 文档:导出

最终设置应能让你独立修改口型姿势、移动对白片段和调整手势。在源项目中保留可编辑的动作,确认其属性归属正确,并在每次修改时序后检查组合播放效果。

第 9 节

来源

相关阅读

继续探索这个主题