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

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

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

口形マッピングリファレンス

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

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

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