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

プラグイン設定

モデル設定

標準モデル設定

Create Runtime Viseme Generator ノードは、ほとんどのシナリオで適切に動作するデフォルト設定を使用します。設定は Animation Blueprint のブレンディングノードプロパティを通じて処理されます。

Animation Blueprint の設定オプションについては、以下の Lip Sync 設定 セクションを参照してください。

リアリスティックモデル設定

Create Realistic MetaHuman Lip Sync Generator ノードは、オプションの Configuration パラメータを受け入れ、ジェネレーターの動作をカスタマイズできます:

モデルタイプ

Model Type 設定は、使用するリアリスティックモデルのバージョンを決定します:

モデルタイプパフォーマンスビジュアル品質ノイズ処理推奨使用ケース
Highly Optimized (デフォルト)最高のパフォーマンス、最低のCPU使用率良好な品質バックグラウンドノイズや非音声サウンドで顕著な口の動きが生じる可能性ありクリーンな音声環境、パフォーマンス重視のシナリオ
Semi-Optimized良好なパフォーマンス、中程度のCPU使用率高品質ノイズの多い音声に対してより安定性が高いバランスの取れたパフォーマンスと品質、混合音声条件
Original最新のCPUでのリアルタイム使用に適している最高品質バックグラウンドノイズや非音声サウンドに対して最も安定している高品質プロダクション、ノイズの多い音声環境、最大精度が必要な場合

パフォーマンス設定

Intra Op Threads: モデルの内部処理操作に使用されるスレッド数を制御します。

  • 0 (デフォルト/自動): 自動検出を使用(通常は利用可能なCPUコアの1/4、最大4)
  • 1-16: 手動でスレッド数を指定。高い値はマルチコアシステムでパフォーマンスを向上させる可能性があるが、より多くのCPUを使用する

Inter Op Threads: 異なるモデル操作の並列実行に使用されるスレッド数を制御します。

  • 0 (デフォルト/自動): 自動検出を使用(通常は利用可能なCPUコアの1/8、最大2)
  • 1-8: 手動でスレッド数を指定。通常、リアルタイム処理では低く保たれる

処理チャンクサイズ

Processing Chunk Size は、各推論ステップで処理されるサンプル数を決定します。デフォルト値は 160 サンプル (16kHzでの10msの音声) です:

  • 小さい値はより頻繁な更新を提供するが、CPU使用率を増加させる
  • 大きい値はCPU負荷を軽減するが、Lip Syncの応答性が低下する可能性がある
  • 最適な配置のために160の倍数を使用することを推奨

処理チャンクサイズの設定

ムード対応モデル設定

Create Realistic MetaHuman Lip Sync With Mood Generator ノードは、基本的なリアリスティックモデルを超えた追加の設定オプションを提供します:

基本設定

ルックアヘッド(ミリ秒): リップシンクの精度向上のためのルックアヘッド時間。

  • デフォルト: 80ms
  • 範囲: 20ms から 200ms (20で割り切れる値である必要があります)
  • 値を大きくすると同期性は向上しますが、遅延が増加します

出力タイプ: 生成される顔のコントロールを制御します。

  • フルフェイス: 81個すべての顔コントロール (眉毛、目、鼻、口、顎、舌)
  • 口のみ: 口、顎、舌に関連するコントロールのみ

パフォーマンス設定: 通常のリアリスティックモデルと同じ Intra Op スレッドおよび Inter Op スレッド設定を使用します。

ムード設定

利用可能なムード:

  • ニュートラル、ハッピー、悲しい、嫌悪、怒り、驚き、恐怖
  • 自信、興奮、退屈、遊び心、混乱

ムード強度: アニメーションにムードが影響する強さを制御します (0.0 から 1.0)

ランタイムムード制御

以下の関数を使用して、ランタイム中にムード設定を調整できます:

  • ムード設定: 現在のムードタイプを変更
  • ムード強度設定: アニメーションにムードが影響する強さを調整 (0.0 から 1.0)
  • ルックアヘッド(ミリ秒)設定: 同期のためのルックアヘッド時間を変更
  • 出力タイプ設定: フルフェイスと口のみのコントロールを切り替え

ムード設定

ムード選択ガイド

コンテンツに基づいて適切なムードを選択してください:

ムード最適な用途典型的な強度範囲
ニュートラル一般的な会話、ナレーション、デフォルト状態0.5 - 1.0
ハッピーポジティブなコンテンツ、快活な対話、祝賀0.6 - 1.0
悲しい憂鬱なコンテンツ、感情的なシーン、陰鬱な瞬間0.5 - 0.9
嫌悪否定的な反応、不快なコンテンツ、拒絶0.4 - 0.8
怒り攻撃的な対話、対立するシーン、欲求不満0.6 - 1.0
驚き予期せぬ出来事、新事実、衝撃的な反応0.7 - 1.0
恐怖脅威的な状況、不安、神経質な対話0.5 - 0.9
自信プロフェッショナルなプレゼンテーション、リーダーシップ対話、断定的な発言0.7 - 1.0
興奮エネルギッシュなコンテンツ、アナウンス、熱狂的な対話0.8 - 1.0
退屈単調なコンテンツ、無関心な対話、疲れた発言0.3 - 0.7
遊び心カジュアルな会話、ユーモア、気軽なやり取り0.6 - 0.9
混乱質問の多い対話、不確実性、当惑0.4 - 0.8

アニメーションブループリント設定

リップシンク設定

Blend Runtime MetaHuman Lip Syncノードには、プロパティパネルに設定オプションがあります:

プロパティデフォルト説明
補間速度25口の動きがビセーム間で遷移する速さを制御します。高い値ほど、より速く急激な遷移になります。
リセット時間0.2リップシンクがリセットされるまでの秒数。音声が停止した後にリップシンクが継続するのを防ぐのに役立ちます。

笑いアニメーション

音声で検出された笑いに動的に応答する笑いアニメーションを追加することもできます:

  1. Blend Runtime MetaHuman Laughterノードを追加します
  2. RuntimeVisemeGenerator変数をViseme Generatorピンに接続します
  3. すでにリップシンクを使用している場合:
    • Blend Runtime MetaHuman Lip Syncノードからの出力をBlend Runtime MetaHuman LaughterノードのSource Poseに接続します
    • Blend Runtime MetaHuman Laughterノードの出力をOutput PoseResultピンに接続します
  4. リップシンクなしで笑いのみを使用する場合:
    • ソースポーズを直接Blend Runtime MetaHuman LaughterノードのSource Poseに接続します
    • 出力をResultピンに接続します

Blend Runtime MetaHuman Laughter

音声で笑いが検出されると、キャラクターはそれに応じて動的にアニメーションします:

Laughter

笑いの設定

Blend Runtime MetaHuman Laughterノードには独自の設定オプションがあります:

プロパティデフォルト説明
補間速度25口の動きが笑いアニメーション間で遷移する速さを制御します。高い値ほど、より速く急激な遷移になります。
リセット時間0.2笑いがリセットされるまでの秒数。音声が停止した後に笑いが継続するのを防ぐのに役立ちます。
最大笑いウェイト0.7笑いアニメーションの最大強度をスケーリングします(0.0 - 1.0)。
注: 笑い検出は現在、Standard Model でのみ利用可能です。

既存のアニメーションとの組み合わせ

Lip Sync と笑いを、既存のボディアニメーションやカスタムのフェイシャルアニメーションを上書きせずに適用するには:

  1. ボディアニメーションと最終出力の間に Layered blend per bone ノードを追加します。Use Attached Parent が true に設定されていることを確認してください。
  2. レイヤー設定を構成します:
    • Layer Setup 配列に 1 つのアイテム を追加します
    • レイヤーの Branch Filters3 つのアイテム を追加し、以下の Bone Name を設定します:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. カスタムのフェイシャルアニメーションにとって重要: Curve Blend Option で、"Use Max Value" を選択します。これにより、カスタムのフェイシャルアニメーション(表情、感情など)が Lip Sync の上に適切にレイヤリングされます。
  4. 接続を行います:
    • 既存のアニメーション(例: BodyPose)→ Base Pose 入力
    • フェイシャルアニメーション出力(Lip Sync および/または笑いノードからの)→ Blend Poses 0 入力
    • レイヤードブレンドノード → 最終的な Result ポーズ

Layered Blend Per Bone

Lip Sync の動作の微調整

舌の突出制御

標準の Lip Sync モデルでは、特定の音素の発音中に舌が過度に前方に動くことがあります。舌の突出を制御するには:

  1. Lip Sync ブレンドノードの後に、Modify Curve ノードを追加します
  2. Modify Curve ノードを右クリックし、Add Curve Pin を選択します
  3. 名前が CTRL_expressions_tongueOut のカーブピンを追加します
  4. ノードの Apply Mode プロパティを Scale に設定します
  5. Value パラメータを調整して舌の伸びを制御します(例:0.8 で突出を 20% 減少)

顎の開閉制御

リアルな Lip Sync は、オーディオの内容や視覚的な要件によっては、過度に反応する顎の動きを生成する可能性があります。顎の開きの強度を調整するには:

  1. Lip Sync ブレンドノードの後に、Modify Curve ノードを追加します
  2. Modify Curve ノードを右クリックし、Add Curve Pin を選択します
  3. 名前が CTRL_expressions_jawOpen のカーブピンを追加します
  4. ノードの Apply Mode プロパティを Scale に設定します
  5. Value パラメータを調整して顎の開きの範囲を制御します(例:0.9 で顎の動きを 10% 減少)

ムード固有の微調整

ムード対応モデルの場合、特定の感情表現を微調整できます:

眉の制御:

  • CTRL_L_brow_raiseIn.ty / CTRL_R_brow_raiseIn.ty - 眉の内側を上げる
  • CTRL_L_brow_raiseOut.ty / CTRL_R_brow_raiseOut.ty - 眉の外側を上げる
  • CTRL_L_brow_down.ty / CTRL_R_brow_down.ty - 眉を下げる

目の表情制御:

  • CTRL_L_eye_squintInner.ty / CTRL_R_eye_squintInner.ty - 目を細める
  • CTRL_L_eye_cheekRaise.ty / CTRL_R_eye_cheekRaise.ty - 頬を上げる

モデルの比較と選択

モデルの選択

プロジェクトで使用するリップシンクモデルを決定する際は、以下の要素を考慮してください:

考慮事項スタンダードモデルリアリスティックモデルムード対応リアリスティックモデル
キャラクター互換性MetaHumansおよびすべてのカスタムキャラクタータイプMetaHumansのみMetaHumansのみ
画質効率的なパフォーマンスによる良好なリップシンクより自然な口の動きによるリアリズムの向上感情表現によるリアリズムの向上
パフォーマンスモバイル/VRを含むすべてのプラットフォーム向けに最適化より高いリソース要件より高いリソース要件
機能14のビセーム、笑い検出81の顔制御、3つの最適化レベル81の顔制御、12のムード、設定可能な出力
プラットフォームサポートWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
ユースケース一般的なアプリケーション、ゲーム、VR/AR、モバイル映画的な体験、クローズアップインタラクション感情的なストーリーテリング、高度なキャラクターインタラクション

エンジンバージョン互換性

UE 5.2 互換性の問題

Unreal Engine 5.2 を使用している場合、UEのリサンプリングライブラリのバグにより、リアリスティックモデルが正しく動作しない可能性があります。信頼性の高いリップシンク機能を必要とするUE 5.2ユーザーは、代わりにスタンダードモデルを使用してください。

この問題はUE 5.2に固有のものであり、他のエンジンバージョンには影響しません。

パフォーマンス推奨事項

  • ほとんどのプロジェクトでは、スタンダードモデルが品質とパフォーマンスの優れたバランスを提供します
  • MetaHumanキャラクターに最高の視覚的忠実度が必要な場合は、リアリスティックモデルを使用してください
  • アプリケーションにとって感情表現の制御が重要な場合は、ムード対応リアリスティックモデルを使用してください
  • モデルを選択する際は、ターゲットプラットフォームのパフォーマンス能力を考慮してください
  • 特定のユースケースに最適なバランスを見つけるために、さまざまな最適化レベルをテストしてください

TTS互換性

モデルタイプローカルTTSサポート (Runtime Text To Speech経由)外部TTSサポート備考
スタンダードモデル✅ 完全サポート✅ 完全サポートすべてのTTSオプションと互換性あり
リアリスティックモデル❌ 限定サポート✅ 完全サポートONNXランタイムがローカルTTSと競合
ムード対応リアリスティックモデル✅ 完全サポート✅ 完全サポートすべてのTTSオプションと互換性あり

トラブルシューティング

一般的な問題

リアリスティックモデルのジェネレーター再作成: リアリスティックモデルで信頼性が高く一貫した動作を実現するためには、非アクティブ期間後に新しいオーディオデータを供給したい場合、毎回ジェネレーターを再作成することを推奨します。これは、ONNXランタイムの動作により、無音期間後にジェネレーターを再利用するとリップシンクが動作しなくなる可能性があるためです。 ローカルTTS互換性: Runtime Text To Speechプラグインによって提供されるローカルTTSは、ONNXランタイムの競合により、通常のRealisticモデルでは現在サポートされていません。しかし、StandardモデルとMood-Enabled Realisticモデルの両方と完全に互換性があります。TTS機能を備えた通常のRealisticモデルが特に必要な場合は、外部TTSサービスを使用してください。

パフォーマンス最適化:

  • パフォーマンス要件に基づいて、Realisticモデルの処理チャンクサイズを調整してください
  • ターゲットハードウェアに適したスレッド数を使用してください
  • 完全な顔面アニメーションが必要ない場合、ムード対応モデルにはMouth Only出力タイプの使用を検討してください