カスタムキャラクターでプラグインを使用する方法
このガイドでは、Runtime MetaHuman Lip Sync を非 MetaHuman キャラクター向けにセットアップする手順を説明します。このプロセスには、アニメーションの概念とリギングに関する知識が必要です。特定のキャラクターにこれを実装する際にサポートが必要な場合は、[email protected] までプロフェッショナルサポートをお問い合わせください。
リップシンクモデルに関する重要な注意事項
このガイドでは、MetaHumanやARKitのモーフターゲット命名規則を使用しないカスタムキャラクターについて説明します。
リアル(高品質)モデルは、モーフターゲットがMetaHumanまたはARKitの命名規則に従うキャラクターで動作し、モーフターゲットセットの選択で設定可能です。キャラクターが既にARKit標準のブレンドシェイプ名を使用している(またはエクスポート/変換可能な)場合、このガイドの手動マッピングプロセスを経ずにリアルモデルを使用できます。
キャラクターが異なるモーフターゲットセットを使用している場合(例:Daz Genesis、Reallusion CC3/CC4、Mixamo、ReadyPlayerMe、または簡略化されたカスタムリグ)、以下の手順に従って標準(高速)モデルがサポート対象のオプションとなります。
必要な拡張プラグイン: 標準モデルをカスタムキャラクターで使用するには、メインセットアップガイドの前提条件セクションに記載されている標準リップシンク拡張プラグインをインストールする必要があります。
この拡張機能は、本ガイドで説明するすべてのカスタムキャラクター実装に必須です。
前提条件
始める前に、キャラクターが以下の要件を満たしていることを確認してください。
- 有効なスケルトンを持っている
- 表情用のモーフターゲット(ブレンドシェイプ)を含んでいる
- 理想的には、ビジームを定義する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 音素システム
- カスタムキャラクター(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(Facial Action Coding System、顔面動作符号化システム)は、アクションユニット(AU)を使用して顔の動きを記述します。多くのプロフェッショナルなアニメーションシステムは、FACSベースのアプローチを採用しています。
| RuntimeMetaHumanLipSync Viseme | 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のボーン名を使用する代わりに、キャラクターの首のスケルトンに正しいボーン名を指定してください
結果
以下は、この設定を使用したカスタムキャラクターの例です:



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