CRIWARE Unity Plugin Manual
Last Updated: 2024-04-24
Animatorによる制御方法
本節では、Unity Animator/AnimationClip 連携機能を用いたリップシンク実装方法を解説します。
1.基本的な使い方
1.1 シーンへの Animator の追加
キャラクターに対して Animator をアタッチし、AnimationController を登録します。
既に利用されている Animator/AnimationController に対して 1.2 以降の追加を行う方法でも問題ありません。
Animatorコンポーネント
1.2 AnimationController へのレイヤーの追加
登録した AnimationController を Animator ウィンドウで表示し、制御対象となる解析結果出力値に対応したレイヤーを追加します。
Animatorウインドウ
各レイヤーに対して歯車マークをクリックし、以下の設定を行います。
Weight:1.0
Blending:Additive
LayerSettingsウインドウ
1.3 Animation の追加
プロジェクトに対して個別の Animation を追加し、各レイヤーにステートとして登録します。
このとき、非制御状態で各リップシンク Animation が再生されてしまうのを防ぐため、Entry からの遷移先は空のステートを用意しておくことをおすすめします。
ステート遷移設定
1.4 AnimationClip の編集
各リップシンク Animation に対して、Animation ウィンドウを表示し、制御対象のブレンドシェイプなどをプロパティとして追加します。
0:00時刻での値を閉じ口、1:00時刻での値を最大開き口として、カーブを記述します。
AnimationClipの編集
1.5 ADX LipSync コンポーネントへの登録
シーンに配置した CriLipsDeformer コンポーネントに対して以下の設定を行います。
MorphTargert:
Animator によるモーフィングを実装したクラス
Target:
追加した Animator
(AIUEO) State Hash:
(AIUEO)に応じた出力値と AnimationController に追加した各レイヤーとステート名の紐付け
CriLipsDeformerコンポーネントへの設定
以上の設定を行えば、解析結果に応じて Animation が再生されます。
2.応用的な使い方
AnimationClip による制御が行えることから、出力結果からブレンドシェイプへ適用する際のスケーリングを行ったり、複数のブレンドシェイプを同時に制御することができます。
例えば、特徴的なしゃべり方なため、「え」が「い」と誤判定されてしまうケースにおいて、画像のように「い」の出力値に対して「い」と「え」のブレンドシェイプを混ぜて表示する、などの柔軟な対応が可能です。
AnimationClipの応用例
また、プロパティとして登録できればブレンドシェイプに限らず制御が可能なため、例えば Live2D モデルのパラメーターを制御する際にも利用できます。
Copyright (c) CRI Middleware Co., Ltd. 1.8.10