CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
使用Animator的控制方法
本节将介绍如何使用 Unity Animator / AnimationClip 联动功能实现口型同步。

1. 基本用法

1.1 将 Animator 添加到场景中

将 Animator 添加到角色,并注册 AnimationController。
也可以对正在使用的Animator/AnimationController进行后述1.2的操作。
exp4u_adxlipsync_animator_component.png
Animator组件

1.2 向 AnimationController 添加动画层

在Animator窗口中显示注册的AnimationController,并添加一个要控制的分析结果输出值对应的动画层。
exp4u_adxlipsync_animator_animationcontroller.png
Animator窗口
单击每个动画层的齿轮图标并进行以下设置。
  • Weight:1.0
  • Blending:Additive
exp4u_adxlipsync_animator_layer_settings.png
LayerSettings窗口

1.3 添加Animation

将单独的动画添加到项目中,并将其注册为各个动画层上的状态。
此时,建议准备一个空状态作为从Entry开始的过渡目标,以防止各个 Lip Sync Animation 在非控制状态下播放。
exp4u_adxlipsync_animator_animationclips.png
exp4u_adxlipsync_animator_animation_state.png
状态转换设置

1.4 编辑AnimationClip

对于每个Lip Sync Animation,打开动画窗口,并添加受控对象的混合形状等作为属性。
修改曲线,使其0:00处的值为紧闭、1:00处为最大张嘴时的值。
exp4u_adxlipsync_animator_edit_animationclip.png
编辑AnimationClip

1.5 注册至ADX LipSync组件

对放置在场景中的 CriLipsDeformer 组件进行以下设置。
  • MorphTargert:
    • 通过Animator变形的实现类
  • Target:
    • 新增的Animator
  • (AIUEO) State Hash:
    • (AIUEO)相应输出值与添加到AnimationController的各动画层的状态名称的关联
exp4u_adxlipsync_animator_lips_deformer_component.png
CriLipsDeformer组件的设置
通过以上设置,即可根据分析结果播放Animation。

2. 实际使用技巧

由于可以通过 AnimationClip 进行控制,因此可以在将其应用于混合形状时缩放输出结果,或者同时控制多个混合形状。
例如,在“e”由于特有的说话方式被误判为“i”的情况下,可以通过将“i”的输出值混用于混合形状“i”和“e”来灵活应对,如图所示。
exp4u_adxlipsync_animator_advanced_clip_edit.png
AnimationClip应用示例
此外,只要可以将其注册为属性,控制对象不仅可以是混合形状,也可以用于控制Live2D模型的参数等等。