CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
CriLipsShapeForAtomSource
注意
SDK v3.06.00 から本コンポーネントは一部の Unity のバージョンを除き、非推奨クラスとなりました。
CriLipsDeformerForAtomSource への乗り換えを検討ください。
CriAtomSource と連携するコンポーネント CriLipsShapeForAtomSource を使用することで、
コーディングをせずにUnity Editor上の設定だけで、ADX LipSyncを使用したリップシンクを
利用することができます。


exp4u_overview_crilips_image01.png


  1. CriLipsShapeForAtomSource コンポーネントに CriAtomSource とSkinned Mesh Rendererを設定

  2. 設定した CriAtomSource で再生予定の音声のサンプリングレートを入力


CriAtomSource で再生中の音声から解析した口形状情報を使用して、Skinned Mesh Rendererの
ブレンドシェイプを自動で制御します。
実際の利用方法は、SDKサンプルの「 [CriAtom]LipSyncプラグインを使用したリップシンク 」で確認できます。

注意
ADX LipSyncによる音声解析は、事前に入力する波形のサンプリングレートを指定する必要があります。
再生する音声データのサンプリングレートを揃えて利用することをおすすめします。
異なるサンプリングレートの音声データを再生する場合は、 CriLipsAtomAnalyzer.SetSamplingRate
を呼び出して設定を行ってください。
覚え書き:
※ 下記画像のように、BlendShapeType タブで口形状情報と日本語5母音モーフターゲットブレンド量を切り替えることが可能です。


exp4u_overview_crilips_image02.png


CriLipsShape.BlendShapeType が WidthHeight のときの設定項目 WidthOpen, WidthClose について:

exp4u_overview_crilips_image03.png

CriAtomSource 連携コンポーネント CriLipsShapeForAtomSource の CriLipsShape.BlendShapeType が WidthHeight の場合、
設定項目 WidthOpen, WidthClose は CriLipsMouth.Info.lipWidth の値を以下の要領で加工してモーフィングを行います。
これは無音状態での CriLipsMouth.Info が縦が0.0f、横幅が0.583fとなっているためです。
(この数値は CriLipsMouth.GetInfoAtSilence で取得可能です。)
criLipsMouth.GetInfoAtSilence(out silenceInfo);
silenceWidthPosition = silenceInfo.lipWidth;
...
float lipWidthOpen = 0.0f;
float lipWidthClose = 0.0f;
if (info.lipWidth> silenceWidthPosition) {
lipWidthOpen = (info.lipWidth - silenceWidthPosition) / (1.0f - silenceWidthPosition);
} else {
lipWidthClose = (silenceWidthPosition - info.lipWidth) / (silenceWidthPosition);
}
...