カスタムキャラクターでプラグインを使用する方法
このガイドでは、非MetaHumanキャラクター向けにRuntime MetaHuman Lip Syncをセットアップする手順を説明します。このプロセスには、アニメーションの概念とリギングに関する知識が必要です。特定のキャラクターに実装する際にサポートが必要な場合は、[email protected]までプロフェッショナルサポートをお問い合わせください。
リップシンクモデルに関する重要な注意事項
カスタムキャラクターは、Standard(Faster)モデルでのみサポートされています。
Realistic(高品質)モデルは、MetaHumanおよびARKitキャラクター向けに設計されており、他のカスタムキャラクターでは使用できません。このガイド全体を通して、参照される場合はメインのセットアップガイドのStandardモデルの指示に従ってください。
必要な拡張プラグイン: カスタムキャラクターで標準モデルを使用するには、メインセットアップガイドの前提条件セクションで説明されているように、標準リップシンク拡張プラグインをインストールする必要があります。
この拡張機能は、本ガイドで説明するすべてのカスタムキャラクター実装に必須です。
前提条件
始める前に、キャラクターが以下の要件を満たしていることを確認してください。
- 有効なスケルトンを持っている
- 表情用のモーフターゲット(ブレンドシェイプ)を含んでいる
- 理想的には、ビジームを定義する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ベースのシステム
- プレストン・ブレア・システム
- 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 (mild) + tongueUp (if you have tongue rig) | 舌が歯茎に触れ、顎がわずかに下がる。 |
| KK | mouthLeft or mouthRight (mild) | 微妙な口元の引きつりが軟口蓋音に近似する |
| CH | jawOpen (mild) + mouthFunnel (mild) | 後部歯茎音に合わせる |
| SS | mouthFrown | 歯擦音には軽く眉をひそめる表情を使う |
| NN | jawOpen (very mild) + mouthClose | ほぼ閉じた口で、顎がわずかに開いている状態 |
| RR | mouthPucker (mild) | R音の微妙な丸め方 |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight(または jawOpen + mouthOpen) | 「あ」の音に向けて大きく開いた口 |
| E | jawOpen (mild) + mouthSmile | やや微笑みを帯びた半開きの口元 |
| IH | mouthSmile (mild) | 唇がわずかに広がる |
| OH | mouthFunnel | 丸みを帯びた開いた形状 |
| OU | mouthPucker | しっかりと丸めた唇 |
FACS(顔面動作符号化システム)は、アクションユニット(AU)を使用して顔の動きを記述します。多くのプロフェッショナルなアニメーションシステムは、FACSベースのアプローチを採用しています。
| RuntimeMetaHumanLipSync のビジーム | FACSアクションユニット | メモ |
|---|---|---|
| Sil | ニュートラル | アクティブなAUはありません |
| PP | AU23 + AU24 | リッププレス+リップタイトナー |
| FF | AU22 + AU28 | リップファンネラー+リップサック |
| TH | AU25 (mild) + AU27 | 唇が開く+口を伸ばす |
| DD | AU25 + AU16 | 唇が開く + 下唇下制筋 |
| KK | AU26 + AU14 | 顎下がり+ディンプラー |
| CH | AU18 + AU25 | 唇をすぼめる+唇を離す |
| SS | AU20 | リップストレッチャー |
| NN | AU25 (very mild) | 唇がわずかに開いている |
| RR | AU18 (mild) | 軽い口をすぼめる動き |
| AA | AU27 + AU26 | 口の引き伸ばし+顎の落下 |
| E | AU25 + AU12 | 唇が開く + 口角を引っ張る |
| IH | AU12 + AU25 (mild) | 口角を引き上げる+軽く唇を開く |
| OH | AU27 (mild) + AU18 | 軽い口の引き伸ばし+唇のすぼめ |
| OU | AU18 + AU26 (mild) | 唇をすぼめる + 軽く顎を下げる |
プレストン・ブレアシステムは、口の形状に説明的な名前を使用する古典的なアニメーションの標準です。
| RuntimeMetaHumanLipSync のビジーム | プレストン・ブレア | メモ |
|---|---|---|
| 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 は、Character Studio で音素ベースのシステムを使用しています。
| 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. リファレンスポーズアニメーションを作成する
アセット作成→アニメーション作成→リファレンスポーズに移動します- アニメーションシーケンスにわかりやすい名前を入力し、適切な場所に保存します
- 作成されたアニメーションシーケンスが自動的に開き、空のアニメーションがループ再生されます

Pauseボタンをクリックしてアニメーションの再生を停止し、編集を容易にします。

4. アニメーションシーケンスを編集する
Sequencerで編集→FKコントロールリグで編集をクリックコントロールリグにベイクダイアログで、設定を変更せずにコントロールリグにベイクボタンをクリック

- エディターが
Animation Modeに切り替わり、Sequencerタブが開きます View Range End Timeを 0016 に設定します(これにより、Working Range Endも自動的に 0016 に設定されます)- スライダーの右端をシーケンサーウィンドウの右端までドラッグします
5. アニメーションカーブを準備する
- アニメーションシーケンスアセットに戻り、
Curvesリスト内のモーフターゲットを見つけてください(表示されていない場合は、アニメーションシーケンスアセットを閉じて再度開いてください) - リップシンクに使用したいビジームや口の動きに関係のないモーフターゲットをすべて削除してください
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. ポーズアセットを確定する
- 各ポーズの名前を、前提条件セクションのバイザム名に合わせて変更してください
- 未使用のポーズを削除してください
オーディオ処理とブレンドの設定
ポーズアセットの準備ができたら、オーディオ処理とブレンドノードを設定する必要があります。
- キャラクターのアニメーションブループリントを見つけるか作成します
- 標準プラグイン設定ガイドに記載されているのと同じ手順に従って、オーディオ処理とブレンドを設定します
Blend Runtime MetaHuman Lip Syncノードで、デフォルトのMetaHumanポーズアセットの代わりにカスタムポーズアセットを選択します

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



リップシンクの品質は、特定のキャラクターとそのビジーム(口形素)の設定がどれだけ適切に行われているかに大きく依存します。上記の例は、異なるビジームシステムを持つ様々なタイプのカスタムキャラクターでプラグインが動作する様子を示しています。