カスタムキャラクターでプラグインを使用する方法
このガイドでは、非MetaHumanキャラクター向けにRuntime MetaHuman Lip Syncをセットアップするプロセスを説明します。このプロセスには、アニメーションの概念とリギングに関する知識が必要です。特定のキャラクターへの実装に支援が必要な場合は、solutions@georgy.dev までプロフェッショナルサポートを依頼できます。
リップシンクモデルに関する重要な注意
カスタムキャラクターは、Standard (Faster) モデルでのみサポートされています。
Realistic (Higher Quality) モデルは、MetaHuman および ARKit キャラクター向けに設計されており、他のカスタムキャラクターでは使用できません。このガイド全体を通して、メインのセットアップガイドで参照される際は、Standard モデルの手順に従ってください。
拡張プラグイン必須: カスタムキャラクターで Standard モデルを使用するには、メインセットアップガイドの前提条件セクションで説明されているように、Standard Lip Sync Extension プラグインをインストールする必要があります。
この拡張機能は、このガイドで説明するすべてのカスタムキャラクター実装に必須です。
前提条件
開始する前に、キャラクターが以下の要件を満たしていることを確認してください:
- 有効なスケルトンを持っている
- 表情用のモーフターゲット(ブレンドシェイプ)を含んでいる
- 理想的には、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 システム
- 3ds Max フォネームシステム
- カスタムキャラクター (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(顔面動作符号化システム)は、顔の動きを記述するためにアクションユニット(AU)を使用します。多くのプロフェッショナルなアニメーションシステムはFACSベースのアプローチを使用しています:
| RuntimeMetaHumanLipSync ビセム | FACS アクションユニット | 備考 |
|---|---|---|
| Sil | ニュートラル | アクティブな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 ビセム | Preston Blair | 備考 |
|---|---|---|
| Sil | 休止 | ニュートラルな閉じた口の位置 |
| 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 ビセム | 3ds Max フォネーム | 備考 |
|---|---|---|
| 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. キャラクターのスケルタルメッシュを特定する
リップシンクアニメーションに使用したいモーフターゲット(ブレンドシェイプ)を含むスケルタルメッシュを見つけてください。これは、キャラクターの設計に応じて、全身メッシュまたは顔メッシュのみかもしれません。
2. モーフターゲットとカーブを確認する
続行する前に、スケルタルメッシュにリップシンクアニメーション用の適切なモーフターゲットと対応するカーブがあることを確認してください。
モーフターゲットを確認: スケルタルメッシュに、リップシンクアニメーションのビセムとして使用できるモーフターゲット(ブレンドシェイプ)が含まれていることを確認してください。顔のアニメーションをサポートするほとんどのキャラクターは、いくつかのフォネーム/ビセムモーフターゲットを持っているはずです。

重要:カーブタブを確認 このステップは、Blenderや他の外部ソフトウェアからエクスポートされたキャラクターにとって特に重要です:
- スケルタルメッシュエディタで カーブ タブを開く
- モーフターゲットに対応するカーブが表示されるか確認する
- カーブタブが空の場合 でもモーフターゲットが存在する場合は、モーフターゲットと まったく同じ名前 を使用して新しいカーブを手動で追加する
注: この問題は、モーフターゲットは正常にインポートされるが、アニメーションカーブが自動的に作成されないBlenderエクスポートで一般的に発生します。一致するカーブがないと、Control Rigへのベイク後にアニメーションが適切に反映されません。
代替解決策: Blenderからのエクスポート中にこの問題を防ぐには、FBXエクスポート設定で カスタムプロパティ と アニメーション を有効にしてみてください。これにより、モーフターゲットと一緒にアニメーションカーブが含まれる可能性があります。
3. リファレンスポーズアニメーションを作成する
アセットを作成 -> アニメーションを作成 -> リファレンスポーズに移動- アニメーションシーケンスに説明的な名前を入力し、適切な場所に保存
- 作成されたアニメーションシーケンスが自動的に開き、ループ再生される空のアニメーションが表示されます

- 編集を容易にするために、アニメーション再生を停止するには
一時停止ボタンをクリック

4. アニメーションシーケンスを編集する
Edit in Sequencer->Edit with FK Control RigをクリックBake to Control Rigダイアログで、設定を変更せずにBake to Control Rigボタンをクリック

- エディタは
Sequencerタブが開いたアニメーションモードに切り替わります 表示範囲終了時間を 0016 に設定(これにより作業範囲終了も自動的に 0016 に設定されます)- スライダーの右端をシーケンサーウィンドウの右端までドラッグ
5. アニメーションカーブを準備する
- Animation Sequence アセットに戻り、
Curvesリスト内のモーフターゲットを探します(表示されていない場合は、Animation Sequence アセットを閉じて再度開いてください) - ビジームや、リップシンクに使用したい口の動きに関連しないモーフターゲットをすべて削除します
6. Plan your viseme mapping
あなたのキャラクターのビセームをプラグインが必要とするセットに一致させるためのマッピング計画を作成します。例:
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. Animate each viseme
- 各ビセームについて、関連するモーフターゲットカーブを0.0から1.0までアニメーション化します
- 各ビセームアニメーションを異なるフレームで開始します
- 自然なビセーム形状を作成するために、必要に応じて追加のカーブ(顎/口の開閉、舌の位置など)を設定します
8. Create a Pose Asset
Create Asset->Pose Asset->Current Animationに移動します- Pose Asset に説明的な名前を入力し、適切な場所に保存します
- 作成された Pose Asset は自動的に開き、
Pose_0、Pose_1などのポーズが表示されます。それぞれがビセムに対応しています - ビセムの重みをプレビューして、期待通りに機能することを確認します

9. Finalize the Pose Asset
- 前提条件 セクションのビセム名と一致するように、各ポーズの名前を変更します
- 未使用のポーズを削除します
オーディオ処理とブレンディングの設定
ポーズアセットの準備ができたら、オーディオ処理とブレンディングノードを設定する必要があります:
- キャラクターのAnimation Blueprintを探すか作成します
- 標準プラグインセットアップガイドに記載されているのと同じ手順に従って、オーディオ処理とブレンディングを設定します
Blend Runtime MetaHuman Lip Syncノードで、デフォルトのMetaHumanポーズアセットの代わりに、作成したカスタムポーズアセットを選択します

ボディアニメーションとの組み合わせ
他のボディアニメーションと一緒にリップシンクを実行したい場合:
- 標準プラグインガイドに記載されているのと同じ手順に従います
- MetaHumanのボーン名を使用する代わりに、キャラクターの首のスケルトンに正しいボーン名を指定してください
結果
このセットアップを使用したカスタムキャラクターの例を以下に示します:



リップシンクの品質は、特定のキャラクターとそのビセムの設定の良さに大きく依存します。上記の例は、異なるタイプのカスタムキャラクターと、それぞれ異なるビセムシステムでプラグインが動作していることを示しています。