メインコンテンツまでスキップ

カスタムキャラクターでプラグインを使用する方法

このガイドでは、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 ビジームにマッピングしても、これらは密接に関連した後部歯茎音であるため、効果的に機能します。

視素マッピングリファレンス

以下は、一般的なビジームシステムとプラグインが必要とするビジームの対応関係です:

ARKitは、顔のアニメーション用に、いくつかの口の形状を含む包括的なブレンドシェイプセットを提供しています。以下は、それらをRuntimeMetaHumanLipSyncのバイザムにマッピングする方法です。

RuntimeMetaHumanLipSync のビジームARKit 相当メモ
SilmouthCloseニュートラル/レストポジション
PPmouthPressLeft + mouthPressRight両唇音の場合、両方のプレスシェイプを一緒に使用します。
FFlowerLipBiteLeft + lowerLipBiteRight(または mouthRollLower)下唇が上の歯に接触する("f"や"v"の音のように)。
THtongueOutARKitには直接的な舌のコントロールがあります。
DDjawOpen (mild) + tongueUp (if you have tongue rig)舌が歯茎の隆起に触れ、顎がわずかに下がる。
KKmouthLeft or mouthRight (mild)口元の微妙な引きつりが軟口蓋音に近似する
CHjawOpen (mild) + mouthFunnel (mild)後部歯茎音に結合する
SSmouthFrown歯擦音には軽く眉をひそめる表情を使う
NNjawOpen (very mild) + mouthClose口をほぼ閉じ、顎をわずかに開いた状態
RRmouthPucker (mild)r音の微妙な丸め方
AAjawOpen + mouthStretchLeft + mouthStretchRight(または jawOpen + mouthOpen)「あ」の音のための大きく開いた口
EjawOpen (mild) + mouthSmileやや微笑みを帯びた半開きの口元
IHmouthSmile (mild)唇がわずかに広がる
OHmouthFunnel丸みを帯びた開いた形状
OUmouthPuckerしっかりと丸めた唇

カスタムポーズアセットの作成

以下の手順に従って、Blend Runtime MetaHuman Lip Sync ノードで使用するキャラクター用のカスタムポーズアセットを作成します。

1. キャラクターのスケルタルメッシュを見つけてください

リップシンクアニメーションに使用したいモーフターゲット(ブレンドシェイプ)を含むスケルタルメッシュを見つけてください。これは、キャラクターのデザインに応じて、全身メッシュまたは顔のみのメッシュの場合があります。

2. モーフターゲットとカーブを確認する

先に進む前に、スケルタルメッシュにリップシンクアニメーション用の適切なモーフターゲットと対応するカーブがあることを確認してください。

モーフターゲットを確認: スケルタルメッシュに、リップシンクアニメーションのバイジームとして使用可能なモーフターゲット(ブレンドシェイプ)が含まれていることを確認してください。顔のアニメーションをサポートするほとんどのキャラクターには、音素/バイジーム用のモーフターゲットがいくつか含まれているはずです。

Example of morph targets in a character

重要: カーブタブを確認 この手順は、Blenderやその他の外部ソフトウェアからエクスポートされたキャラクターにとって特に重要です。

  1. スケルタルメッシュエディターでカーブタブを開く
  2. モーフターゲットに対応するカーブが表示されているか確認する
  3. カーブタブが空の場合でもモーフターゲットが存在する場合は、モーフターゲットとまったく同じ名前を使用して手動で新しいカーブを追加する

注記: この問題は、モーフターゲットのインポートは成功するものの、アニメーションカーブが自動的に作成されないBlenderエクスポートでよく発生します。一致するカーブがない場合、Control Rigにベイクした後、アニメーションが正しく反映されません。

代替ソリューション: Blenderからのエクスポート時にこの問題を防ぐには、FBXエクスポート設定でカスタムプロパティアニメーションを有効にしてみてください。これにより、モーフターゲットとともにアニメーションカーブが含まれる可能性があります。

3. リファレンスポーズアニメーションを作成する

  1. アセットを作成 -> アニメーションを作成 -> リファレンスポーズに移動します
  2. アニメーションシーケンスにわかりやすい名前を入力し、適切な場所に保存します
  3. 作成されたアニメーションシーケンスは自動的に開き、空のアニメーションがループ再生されているのが表示されます

Creating a reference pose asset Naming the reference pose asset

  1. Pause ボタンをクリックすると、アニメーションの再生が停止し、編集が容易になります。

Pausing animation playback

4. アニメーションシーケンスを編集する

  1. Sequencerで編集FKコントロールリグで編集をクリック
  2. コントロールリグにベイクダイアログで、設定を変更せずにコントロールリグにベイクボタンをクリックします

Editing with FK Control Rig Baking to Control Rig

  1. エディターが Animation Mode に切り替わり、Sequencer タブが開きます
  2. View Range End Time を 0016 に設定します(これにより、Working Range End も自動的に 0016 に設定されます)
  3. スライダーの右端をシーケンサーウィンドウの右端までドラッグします

5. アニメーションカーブを準備する

  1. アニメーションシーケンスアセットに戻り、Curvesリスト内のモーフターゲットを見つけます(表示されていない場合は、アニメーションシーケンスアセットを閉じて再度開いてください)
  2. リップシンクに使用したいビジームや口の動きに関係のないモーフターゲットをすべて削除します

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. 各バイジームをアニメーション化する

  1. 各バイザイムについて、関連するモーフターゲットカーブを0.0から1.0までアニメーションさせます
  2. 各バイザイムのアニメーションを異なるフレームで開始します
  3. 必要に応じて追加のカーブ(顎/口の開き、舌の位置など)を設定し、自然な見た目のバイザイム形状を作成します

8. ポーズアセットを作成する

  1. アセットを作成 -> ポーズアセット -> 現在のアニメーション に移動します
  2. ポーズアセットにわかりやすい名前を入力し、適切な場所に保存します
  3. 作成されたポーズアセットは自動的に開き、Pose_0Pose_1 などのポーズが表示されます。それぞれがビジームに対応しています
  4. ビジームのウェイトをプレビューして、期待通りに動作することを確認します

Creating a pose asset Naming the pose asset Pose asset with visemes

9. ポーズアセットを確定する

  1. 各ポーズの名前を、前提条件セクションのビゼーム名に合わせて変更してください
  2. 未使用のポーズをすべて削除してください

オーディオ処理とブレンドの設定

ポーズアセットの準備ができたら、オーディオ処理とブレンドノードを設定する必要があります。

  1. キャラクターのアニメーションブループリントを見つけるか作成します
  2. 標準プラグイン設定ガイドに記載されている手順に従って、オーディオ処理とブレンドを設定します
  3. Blend Runtime MetaHuman Lip Syncノードで、デフォルトのMetaHumanポーズアセットの代わりに、カスタムポーズアセットを選択します

Selecting the custom pose asset

身体アニメーションとの組み合わせ

ボディアニメーションと同時にリップシンクを行いたい場合:

  1. 標準プラグインガイドに記載されているのと同じ手順に従ってください
  2. MetaHumanのボーン名を使用する代わりに、キャラクターの首のスケルトンに正しいボーン名を指定してください

結果

以下は、この設定を使用したカスタムキャラクターの例です:

Example 1: Lip sync with custom character

Example 2: Lip sync with different viseme system

Example 3: Lip sync with different viseme system

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