脸部表情
注意
本篇为进阶内容,AIFriends 使用Blend shapes控制角色面部表情和口型,您需要对 Unity 的blend shapes具备一定了解
概述
AIFriends 使用 Blend Shape(混合形变)技术来控制角色的面部表情和口型同步。Blend Shape 是一种通过调整模型顶点位置实现平滑形变的三维建模技术,广泛应用于面部动画领域。

配置前的准备工作
1. 确认模型支持 Blend Shape
在开始配置之前,您需要确认您的角色模型已经完成了 Blend Shape 绑定:
- 在 Unity 中选中角色模型,查看
Inspector面板 - 找到
Skinned Mesh Renderer组件 - 检查是否包含
Blendshapes条目 - 如果存在,可以拖动其中的控制器滑竿,实时预览该 Blend Shape 控制的面部区域和效果
模型来源建议
从推荐渠道(如 VRoid Studio、模之屋、Booth)获取的 vrm、pmx 等资源,大部分已经完成了脸部 Blend Shape 绑定,可以直接使用。
2. 了解模型的 Blend Shape 命名规范
不同模型资源的 Blend Shape 绑定和命名各不相同,常见的有:
- VRM 格式:通常使用标准化的命名,如
A、I、U、E、O(口型),Blink_L、Blink_R(眨眼) - MMD/PMX 格式:可能使用日文或英文命名,如
まばたき、ウィンク等 - ARKit 52规范:ARKit52是苹果官方面部捕捉标准,包含52组常用表情Blend Shape,如
jawOpen、mouthSmileLeft、eyeBlinkRight等 - 自定义资源:对于非主流来源或完全自建模型,Blend Shape命名和数量差异更大。此时也应在Unity中手动逐一测试,明确对应关系后进行配置。
Blendshape 配置规范
必需配置项
AIFriends 要求配置以下面部功能,这些是角色正常工作的基础:
1. 口型配置(必需)
口型同步功能需要配置三种口型状态:
- 小口型:用于轻声或闭口音
- 中口型:用于正常说话
- 大口型:用于大声或开口音
重要
三种口型状态必须全部配置,缺少任何一项都会导致口型同步功能异常。
配置建议:
- 小口型:调整 Blend Shape 使角色呈现轻微张嘴或闭口状态
- 中口型:调整到自然说话时的口型大小
- 大口型:调整到明显张开的状态,但不要过度夸张
2. 眨眼配置(必需)
自然眨眼动作需要配置左右眼:
- 左眼闭合:
Blink_L或类似的左眼控制 - 右眼闭合:
Blink_R或类似的右眼控制
重要
左右眼必须分别配置,如果模型只有统一的眨眼控制,需要确保该控制同时影响双眼。
3. 表情配置(待更新)
AIFriend 将在接下来的版本进一步实装基于blend shape的角色表情配置功能,敬请期待。
配置方法
- 在
Avatar Descriptor组件中点击打开面部配置按钮 - 在打开的面部配置器窗口中,调整右侧的 Blend Shape 滑杆
- 观察角色面部变化,找到合适的组合
- 将满意的状态记录到对应的配置项中
组合使用多个 Blend Shape
不同的模型可能需要组合使用多个 Blend Shape 才能达到理想效果。例如,口型可能需要同时调整 A、I、U 等多个 Blend Shape 的组合。
配置注意事项
1. Blend Shape 值的选择
- 测试中间值:配置完成后,测试中间值的表现,确保过渡自然
- 考虑混合效果:多个 Blend Shape 同时作用时,注意它们之间的相互影响
2. 口型配置的注意事项
- 口型大小要有明显区分:小、中、大三种口型应该有明显视觉差异,但不要过于夸张
- 保持自然:口型应该符合人类说话的自然状态
- 测试连续性:确保三种口型之间的过渡是平滑的,没有突兀的跳跃
- 避免过度拉伸:不要将口型调整到导致模型变形或穿模的程度
3. 眨眼配置的注意事项
- 对称性:左右眼的眨眼动作应该对称,除非角色设计需要特殊效果
- 闭合程度:眨眼时眼睛应该完全闭合,但不要过度压缩眼部区域
4. 模型兼容性
- 命名差异:不同模型的 Blend Shape 命名可能完全不同,需要耐心测试
- 功能差异:某些模型可能缺少特定的 Blend Shape,需要寻找替代方案或组合使用
- 精度差异:不同模型的 Blend Shape 精度不同,某些模型可能需要更精细的调整
常见问题与解决方案
问题 1:找不到对应的 Blend Shape
解决方案:
- 检查模型的
Skinned Mesh Renderer组件,确认所有可用的 Blend Shape - 尝试组合使用多个 Blend Shape 来达到目标效果
- 参考模型制作者提供的文档或说明
问题 2:配置后效果不自然
解决方案:
- 降低 Blend Shape 的强度值,避免过度变形
- 检查是否有多个 Blend Shape 产生冲突
- 在配置器中实时预览,逐步调整到最佳状态
问题 3:口型同步不准确
解决方案:
- 确保三种口型状态有明显区分
- 检查配置是否正确保存
- 验证模型的脸部 Mesh 是否正确指定
问题 4:眨眼动作异常
解决方案:
- 确认左右眼分别配置
- 检查 Blend Shape 值是否在合理范围内
- 验证模型的眼部 Blend Shape 是否正常工作
最佳实践
- 逐步测试:配置时逐个测试每个 Blend Shape,了解其作用范围
- 多角度观察:配置时从不同角度观察角色,确保效果在多个视角下都正常
- 参考示例:参考官方示例角色的配置,了解标准的配置方式
相关链接
- Unity Blend Shapes 官方文档
- 创建您的第一个角色 - 查看完整的面部配置流程
- 动画配置 - 了解角色动画配置
