ADX LipSyncで取得可能な口パターン情報

取得可能な口パターンについて

ADX LipSyncが解析結果として出力する口パターンには、二つのパラメータ―タイプがあります。
キャラクタが持つ口の制御パターンに合わせて使用することができます。
口形状情報
口の縦の開き具合、横幅、舌の高さです。
/* 口形状情報構造体 */
public struct CriLipsMouth.Info {
public float lipWidth; /* 口の幅(0.0f ~ 1.0f) */
public float lipHeight; /* 口の高さ(0.0f ~ 1.0f) */
public float tonguePosition; /* 舌の位置(0.0f ~ 1.0f) */
bool isLipWidthReleased; /* 口の幅が閉じ状態に遷移中か */
bool isLipHeightReleased; /* 口の高さが閉じ状態に遷移中か */
bool isLipTongueReleased; /* 舌の位置が閉じ状態に遷移中か */
}

縦と横という直接的なパラメータ―で口を制御するモデルや、単純な図形のスケーリングなどで
口形状を表現する場合での利用に適しています。
また、口の開き具合という一軸のみで口パクを表現したい場合には、縦の開き具合のみを用いることで、
「あ」は大きく開くが「い」はあまり開かないなど、音声に合った口の動きを実現することができます。
口形状情報として、舌の高さ(縦方向の位置)も取得可能です。
無音状態で0.0f、舌が歯茎に付いた状態を1.0fとして提示します。
口の動きと共に舌も制御することで、よりリアリティのあるキャラクター表現が可能になります。
注意
「舌の高さ」パラメータ―の出力は開発中のβ版機能です。
解析結果の品質は保証されません。また、今後のアップデートで仕様や動作の変更が発生する可能性があります。
β版機能であることをご理解の上でご利用ください。

覚え書き:
無音状態では縦が0.0f、横幅が0.583fの口形状情報を出力します。この数値は CriLipsMouth.GetInfoAtSilence で取得可能です。
横幅は、「い」と発音すると増え、「う」と発音すると減るというように、無音状態での値を基準として増減します。
このため、アプリケーション側で CriLipsMouth.Info を直接参照して口パクを行う場合、キャラクターのデータ構造に応じて 数値を変換してご利用ください。


日本語5母音モーフターゲットブレンド量
日本語5母音(あいうえお)のブレンド量です。
/* 日本語5母音モーフターゲットブレンド量構造体 */
public struct CriLipsMouth.MorphTargetBlendAmountAsJapanese {
public float a; /* モーフターゲット「あ」のブレンド量(0.0f 以上 1.0f 以下) */
public float i; /* モーフターゲット「い」のブレンド量(0.0f 以上 1.0f 以下) */
public float u; /* モーフターゲット「う」のブレンド量(0.0f 以上 1.0f 以下) */
public float e; /* モーフターゲット「え」のブレンド量(0.0f 以上 1.0f 以下) */
public float o; /* モーフターゲット「お」のブレンド量(0.0f 以上 1.0f 以下) */
}

日本語5母音のブレンドシェイプを持つモデルに対する制御に適した情報です。
発声により、最大で同時に二つの母音のブレンド量が、合計 1.0f 以下になる範囲で増減します。
二つの母音を表現する形状が混ざることで、日本語以外の音声についても自然な口形状が表現可能です。

パターンの組み合わせ
「口形状情報」と「日本語5母音モーフターゲットブレンド量」は、一度の解析で同時に取得可能です。
これにより、「あいうえお+舌の高さ」というように、異なるパターンを組み合わせて使用することもできます。