カスタムキャラクターでプラグインを使用する方法
このガイドでは、非MetaHumanキャラクター向けにRuntime MetaHuman Lip Syncをセットアップするプロセスを説明します。このプロセスには、アニメーションの概念とリギングに関する知識が必要です。特定のキャラクターへの実装に支援が必要な場合は、[email protected] までプロフェッショナルサポートにお問い合わせください。
リップシンクモデルに関する重要な注意点
カスタムキャラクターはStandard (Faster) モデルでのみサポートされています。
Realistic (Higher Quality) モデルはMetaHumanキャラクター専用に設計されており、カスタムキャラクターでは使用できません。このガイド全体を通して、参照される際はメインセットアップガイドのStandardモデルの手順に従ってください。
拡張プラグイン必須: カスタムキャラクターでStandard Modelを使用するには、メインセットアップガイドの前提条件セクションで説明されているStandard Lip Sync Extension pluginをインストールする必要があります。
この拡張機能は、このガイドで説明するすべてのカスタムキャラクター実装に必須です。
前提条件
開始する前に、キャラクターが以下の要件を満たしていることを確認してください:
- 有効なスケルトンを持っている
- 表情用のモーフターゲット(ブレンドシェイプ)を含んでいる
- 理想的には10個以上のビセームを定義するモーフターゲットを持っている(ビセームが多いほどリップシンクの品質が向上します)
プラグインは、キャラクターのモーフターゲットを以下の標準ビセームにマッピングする必要があります:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
注記: キャラクターが異なるビセムのセットを持っている場合(その可能性が高いです)、各ビセムに対して完全一致は必要ありません。近似で十分なことがよくあります - 例えば、キャラクターの SH
ビセムをプラグインの CH
ビセムにマッピングすることは、それらが密接に関連した後部歯茎音であるため、効果的に機能します。
ビセムマッピングリファレンス
一般的なビセムシステムとプラグインが必要とするビセム間のマッピングを以下に示します:
- Apple ARKit
- FACSベースのシステム
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKitは、いくつかの口の形状を含む、表情アニメーション用の包括的なブレンドシェイプのセットを提供します。以下は、それらをRuntimeMetaHumanLipSyncのビセムにマッピングする方法です:
RuntimeMetaHumanLipSync ビセム | ARKit 相当 | 備考 |
---|---|---|
Sil | mouthClose | ニュートラル/休止位置 |
PP | mouthPressLeft + mouthPressRight | 両唇音には、両方のプレス形状を一緒に使用します |
FF | lowerLipBiteLeft + lowerLipBiteRight (または mouthRollLower) | 下唇が上歯に接触する、「f」や「v」の音の場合 |
TH | tongueOut | ARKitは直接的な舌の制御を持っています |
DD | jawOpen (軽度) + tongueUp (舌リグがある場合) | 舌が歯茎隆起に触れる;顎のわずかな開き |
KK | mouthLeft または mouthRight (軽度) | 口角の微妙な引きが軟口蓋音を近似します |
CH | jawOpen (軽度) + mouthFunnel (軽度) | 後部歯茎音のために組み合わせます |
SS | mouthFrown | 歯擦音にはわずかなしかめ面を使用します |
NN | jawOpen (非常に軽度) + mouthClose | ほとんど閉じた口とわずかな顎の開き |
RR | mouthPucker (軽度) | r音のための微妙な丸め |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (または jawOpen + mouthOpen) | 「あ」の音のための広く開いた口 |
E | jawOpen (軽度) + mouthSmile | 中間の開き位置とわずかな笑み |
IH | mouthSmile (軽度) | 唇のわずかな横への広がり |
OH | mouthFunnel | 丸まった開いた形状 |
OU | mouthPucker | 強く丸められた唇 |
FACS(Facial Action Coding System)は、顔の動きを記述するためにアクションユニット(AU)を使用します。多くのプロフェッショナルなアニメーションシステムはFACSベースのアプローチを使用しています:
RuntimeMetaHumanLipSync ビセム | FACS アクションユニット | 備考 |
---|---|---|
Sil | Neutral | アクティブなAUなし |
PP | AU23 + AU24 | 唇を押しつぶす + 唇を引き締める |
FF | AU22 + AU28 | 唇を漏斗状にする + 唇を吸い込む |
TH | AU25 (軽度) + AU27 | 唇を離す + 口を伸ばす |
DD | AU25 + AU16 | 唇を離す + 下唇を下げる |
KK | AU26 + AU14 | 顎を下げる + えくぼを作る |
CH | AU18 + AU25 | 唇をすぼめる + 唇を離す |
SS | AU20 | 唇を横に引く |
NN | AU25 (非常に軽度) | わずかに唇を離す |
RR | AU18 (軽度) | 軽度の唇のすぼめ |
AA | AU27 + AU26 | 口を伸ばす + 顎を下げる |
E | AU25 + AU12 | 唇を離す + 口角を引き上げる |
IH | AU12 + AU25 (軽度) | 口角を引き上げる + 軽度に唇を離す |
OH | AU27 (軽度) + AU18 | 軽度の口の伸び + 唇のすぼめ |
OU | AU18 + AU26 (軽度) | 唇のすぼめ + 軽度の顎の下げ |
Preston Blair システムは、口の形状に記述的な名前を使用する古典的なアニメーション標準です:
RuntimeMetaHumanLipSync Viseme | Preston Blair | 備考 |
---|---|---|
Sil | Rest | ニュートラルな閉じた口の位置 |
PP | MBP | 古典的な「MBP」の口形状 |
FF | FV | 下唇に歯を当てた「FV」の位置 |
TH | TH | 前歯に舌が触れる |
DD | D/T/N | これらの子音の類似位置 |
KK | CKG | 硬い子音の位置 |
CH | CH/J/SH | これらの音のためのわずかな口をとがらせた形 |
SS | S/Z | わずかに開いた歯の位置 |
NN | N/NG/L | D/Tに似ているが舌の位置が異なる |
RR | R | R音のための丸めた唇 |
AA | AI | 大きく開いた口 |
E | EH | 中程度に開いた口 |
IH | EE | 唇を横に広げる |
OH | OH | 丸めた中程度の開口 |
OU | OO | 強く丸めた唇 |
3ds Max はそのキャラクタースタジオ用に音素ベースのシステムを使用します:
RuntimeMetaHumanLipSync Viseme | 3ds Max Phoneme | 備考 |
---|---|---|
Sil | rest | デフォルトの口の位置 |
PP | p_b_m | 直接相当 |
FF | f_v | 直接相当 |
TH | th | 直接相当 |
DD | t_d | 直接相当 |
KK | k_g | 直接相当 |
CH | sh_zh_ch | 結合形状 |
SS | s_z | 直接相当 |
NN | n_l | これらの音のための結合 |
RR | r | 直接相当 |
AA | ah | 開いた母音 |
E | eh | 中間母音 |
IH | ee | 狭い前舌母音 |
OH | oh | 後舌円唇母音 |
OU | oo | 狭い後舌母音 |
ビセームまたは口のブレンドシェイプ/モーフターゲットを持つカスタムキャラクター(Daz Genesis 8/9、Reallusion CC3/CC4、Mixamo、ReadyPlayerMeなど)は、通常、プラグインのビセームシステムに妥当な近似でマッピングできます。
カスタムポーズアセットの作成
Blend Runtime MetaHuman Lip Sync
ノードで使用するキャラクター用のカスタムポーズアセットを作成するには、以下の手順に従ってください:
1. キャラクターの Skeletal Mesh を特定する
リップシンクアニメーションに使用したいモーフターゲット(ブレンドシェイプ)を含む Skeletal Mesh を見つけてください。これは、キャラクターの設計に応じて、全身メッシュまたは顔メッシュのみの場合があります。
2. モーフターゲットとカーブを検証する
進める前に、リップシンクアニメーション用の適切なモーフターゲットと対応するカーブが Skeletal Mesh にあることを確認してください。
モーフターゲットの確認:
リップシンクアニメーション用のビセームとして使用できるモーフターゲット(ブレンドシェイプ)が Skeletal Mesh に含まれていることを確認してください。顔のアニメーションをサポートするほとんどのキャラクターには、いくつかの音素/ビセームモーフターゲットがあるはずです。
重要: Curves タブの確認 このステップは、Blender や他の外部ソフトウェアからエクスポートされたキャラクターにとって特に重要です:
- Skeletal Mesh エディタで Curves タブを開く
- モーフターゲットに対応するカーブが表示されるか確認する
- Curves タブが空の場合、モーフターゲットが存在するなら、モーフターゲットと全く同じ名前を使って手動で新しいカーブを追加する
注記: この問題は、Blender のエクスポートでよく発生します。モーフターゲットは正常にインポートされますが、アニメーションカーブが自動的に作成されません。一致するカーブがないと、Control Rig へのベイク後にアニメーションが適切に反映されません。
代替解決策: Blender からのエクスポート中にこの問題を防ぐには、FBX エクスポート設定で Custom Properties と Animation を有効にしてみてください。これにより、モーフターゲットと一緒にアニメーションカーブが含まれる可能性があります。
3. リファレンスポーズアニメーションの作成
Create Asset -> Create Animation -> Reference Pose
に移動する- アニメーションシーケンスに説明的な名前を入力し、適切な場所に保存する
- 作成された Animation Sequence が自動的に開き、ループ再生される空のアニメーションが表示される
Pause
ボタンをクリックしてアニメーションの再生を停止し、編集を容易にする
4. アニメーションシーケンスの編集
Edit in Sequencer
->Edit with FK Control Rig
をクリックするBake to Control Rig
ダイアログで、設定を変更せずにBake to Control Rig
ボタンをクリックする
- エディタは
Sequencer
タブが開いたAnimation Mode
に切り替わる View Range End Time
を 0016 に設定する (これによりWorking Range End
も自動的に 0016 に設定される)- スライダーの右端をシーケンサーウィンドウの右端までドラッグする
5. アニメーションカーブを準備する
- Animation Sequence アセットに戻り、モーフターゲットを
Curves
リスト内で探します(表示されていない場合は、Animation Sequence アセットを閉じて再度開いてください) - リップシンクに使用したいビセームや口の動きに関連しないモーフターゲットはすべて削除します
6. 口形素のマッピングを計画する
あなたのキャラクターの口形素をプラグインが必要とするセットに一致させるためのマッピング計画を作成します。例:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
同じ文字のビジュームセットにすべての必要なビジュームの完全一致がない場合、マッピングが重複しても問題ありません。
7. 各ビジュームをアニメーション化する
- 各ビジュームについて、関連するモーフターゲットカーブを0.0から1.0までアニメーション化します
- 各ビジュームアニメーションを異なるフレームで開始します
- 自然なビジューム形状を作成するために、必要に応じて追加のカーブ(顎/口の開閉、舌の位置など)を設定します
8. ポーズアセットを作成する
アセットを作成
->ポーズアセット
->現在のアニメーション
に移動します- ポーズアセットに説明的な名前を入力し、適切な場所に保存します
- 作成されたポーズアセットは自動的に開き、
Pose_0
、Pose_1
などのポーズが表示されます。それぞれがビセムに対応しています - ビセムの重みをプレビューして、期待通りに機能することを確認します
9. ポーズアセットを完成させる
- 前提条件 セクションのビセム名に合わせて各ポーズの名前を変更します
- 未使用のポーズを削除します
オーディオ処理とブレンディングの設定
ポーズアセットの準備ができたら、オーディオ処理とブレンディングノードを設定する必要があります:
- キャラクターのAnimation Blueprintを探すか作成します
- 標準プラグイン設定ガイドで説明されているのと同じ手順に従って、オーディオ処理とブレンディングを設定します
Blend Runtime MetaHuman Lip Sync
ノードで、デフォルトのMetaHumanポーズアセットの代わりにカスタムポーズアセットを選択します
ボディアニメーションとの組み合わせ
他のボディアニメーションと一緒にリップシンクを実行したい場合:
- 標準プラグインガイドで説明されているのと同じ手順に従います
- MetaHumanのボーン名を使用する代わりに、キャラクターの首スケルトンに正しいボーン名を指定してください
結果
この設定を使用したカスタムキャラクターの例を以下に示します:
リップシンクの品質は、特定のキャラクターとそのビセムの設定の良さに大きく依存します。上記の例は、異なるタイプのカスタムキャラクターと異なるビセムシステムでプラグインが動作していることを示しています。