Skip to content

脸部表情

注意

本篇为进阶内容,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)获取的 vrmpmx 等资源,大部分已经完成了脸部 Blend Shape 绑定,可以直接使用。

2. 了解模型的 Blend Shape 命名规范

不同模型资源的 Blend Shape 绑定和命名各不相同,常见的有:

  • VRM 格式:通常使用标准化的命名,如 AIUEO(口型),Blink_LBlink_R(眨眼)
  • MMD/PMX 格式:可能使用日文或英文命名,如 まばたきウィンク
  • ARKit 52规范:ARKit52是苹果官方面部捕捉标准,包含52组常用表情Blend Shape,如jawOpenmouthSmileLefteyeBlinkRight
  • 自定义资源:对于非主流来源或完全自建模型,Blend Shape命名和数量差异更大。此时也应在Unity中手动逐一测试,明确对应关系后进行配置。

Blendshape 配置规范

必需配置项

AIFriends 要求配置以下面部功能,这些是角色正常工作的基础:

1. 口型配置(必需)

口型同步功能需要配置三种口型状态:

  • 小口型:用于轻声或闭口音
  • 中口型:用于正常说话
  • 大口型:用于大声或开口音

重要

三种口型状态必须全部配置,缺少任何一项都会导致口型同步功能异常。

配置建议:

  • 小口型:调整 Blend Shape 使角色呈现轻微张嘴或闭口状态
  • 中口型:调整到自然说话时的口型大小
  • 大口型:调整到明显张开的状态,但不要过度夸张

2. 眨眼配置(必需)

自然眨眼动作需要配置左右眼:

  • 左眼闭合Blink_L 或类似的左眼控制
  • 右眼闭合Blink_R 或类似的右眼控制

重要

左右眼必须分别配置,如果模型只有统一的眨眼控制,需要确保该控制同时影响双眼。

3. 表情配置(待更新)

AIFriend 将在接下来的版本进一步实装基于blend shape的角色表情配置功能,敬请期待。

配置方法

  1. Avatar Descriptor 组件中点击 打开面部配置 按钮
  2. 在打开的面部配置器窗口中,调整右侧的 Blend Shape 滑杆
  3. 观察角色面部变化,找到合适的组合
  4. 将满意的状态记录到对应的配置项中

组合使用多个 Blend Shape

不同的模型可能需要组合使用多个 Blend Shape 才能达到理想效果。例如,口型可能需要同时调整 AIU 等多个 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 是否正常工作

最佳实践

  1. 逐步测试:配置时逐个测试每个 Blend Shape,了解其作用范围
  2. 多角度观察:配置时从不同角度观察角色,确保效果在多个视角下都正常
  3. 参考示例:参考官方示例角色的配置,了解标准的配置方式

相关链接

沪ICP备2025124771号-1