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

プラグイン設定

モデル設定

標準モデル設定

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

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

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

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負荷を軽減しますが、リップシンクの応答性を低下させる可能性があります
  • 最適な配置のために160の倍数を使用することを推奨します

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

ムード対応モデル設定

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

基本設定

Lookahead Ms: リップシンクの精度を向上させるための先読みタイミング(ミリ秒)。

  • デフォルト: 80ms
  • 範囲: 20ms から 200ms (20で割り切れる必要があります)
  • 高い値はより良い同期を提供しますが、レイテンシを増加させます

Output Type: 生成される顔面コントロールを制御します。

  • Full Face: すべての81の顔面コントロール(眉毛、目、鼻、口、顎、舌)
  • Mouth Only: 口、顎、および舌に関連するコントロールのみ

Performance Settings: 通常のリアリスティックモデルと同じ Intra Op Threads および Inter Op Threads 設定を使用します。

ムード設定

利用可能なムード:

  • Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
  • Confident, Excited, Bored, Playful, Confused

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

ランタイムムード制御

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

  • Set Mood: 現在のムードタイプを変更します
  • Set Mood Intensity: ムードがアニメーションに影響を与える強さを調整します (0.0 から 1.0)
  • Set Lookahead Ms: 同期のための先読みタイミングを変更します
  • Set Output Type: Full Face と Mouth Only コントロールを切り替えます

ムード設定

ムード選択ガイド

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

ムード最適な用途典型的な強度範囲
Neutral一般的な会話、ナレーション、デフォルト状態0.5 - 1.0
Happyポジティブなコンテンツ、明るい対話、祝賀0.6 - 1.0
Sadメランコリックなコンテンツ、感情的なシーン、厳粛な瞬間0.5 - 0.9
Disgust否定的な反応、不快なコンテンツ、拒絶0.4 - 0.8
Anger攻撃的な対話、対立するシーン、欲求不満0.6 - 1.0
Surprise予期しない出来事、啓示、衝撃的な反応0.7 - 1.0
Fear脅威的な状況、不安、神経質な対話0.5 - 0.9
Confidentプロフェッショナルなプレゼンテーション、リーダーシップ対話、断定的なスピーチ0.7 - 1.0
Excitedエネルギッシュなコンテンツ、アナウンス、熱狂的な対話0.8 - 1.0
Bored単調なコンテンツ、無関心な対話、疲れたスピーチ0.3 - 0.7
Playfulカジュアルな会話、ユーモア、軽快な相互作用0.6 - 0.9
Confused質問の多い対話、不確実性、当惑0.4 - 0.8

Animation Blueprint 設定

リップシンク設定

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

プロパティデフォルト説明
Interpolation Speed25ビセーム間の口の動きの遷移の速さを制御します。高い値はより速く、より急激な遷移をもたらします。
Reset Time0.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

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

笑い

笑い設定

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

プロパティデフォルト説明
Interpolation Speed25笑いアニメーション間の口の動きの遷移の速さを制御します。高い値はより速く、より急激な遷移をもたらします。
Reset Time0.2笑いがリセットされるまでの時間(秒)。これは、音声が停止した後に笑いが継続するのを防ぐのに役立ちます。
Max Laughter Weight0.7笑いアニメーションの最大強度をスケーリングします (0.0 - 1.0)。

注意: 笑い検出は現在、標準モデルでのみ利用可能です。

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

既存のボディアニメーションやカスタム顔面アニメーションを上書きせずに、リップシンクと笑いを適用するには:

  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" を選択します。これにより、カスタム顔面アニメーション(表情、感情など)がリップシンクの上に適切にレイヤーされることができます。
  4. 接続を作成します:
    • 既存のアニメーション(BodyPose など)→ Base Pose 入力
    • 顔面アニメーション出力(リップシンクおよび/または笑いノードから)→ Blend Poses 0 入力
    • レイヤードブレンドノード → 最終的な Result ポーズ

Layered Blend Per Bone

モーフターゲットセット選択

標準モデルはポーズアセットを使用し、カスタムポーズアセット設定 を通じて、任意のモーフターゲット命名規則を本質的にサポートします。追加の設定は必要ありません。

リップシンク動作の微調整

舌突出制御

標準リップシンクモデルでは、特定の音素中に過度の前方舌の動きに気付く場合があります。舌の突出を制御するには:

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

顎開口制御

リアリスティックリップシンクは、音声コンテンツと視覚的要件に応じて、過度に応答性の高い顎の動きを生成する可能性があります。顎開口の強度を調整するには:

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

ムード固有の微調整

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

眉毛制御:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - 内側眉毛上げ
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - 外側眉毛上げ
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - 眉毛下げ

目の表情制御:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - 目細め
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - 頬上げ

モデル比較と選択

モデル間の選択

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

考慮事項標準モデルリアリスティックモデルムード対応リアリスティックモデル
キャラクター互換性MetaHumans およびすべてのカスタムキャラクタータイプMetaHumans のみMetaHumans のみ
視覚的品質効率的なパフォーマンスでの良好なリップシンクより自然な口の動きによる強化されたリアリズム感情表現による強化されたリアリズム
パフォーマンスモバイル/VRを含むすべてのプラットフォーム向けに最適化より高いリソース要件より高いリソース要件
機能14ビセーム、笑い検出81顔面コントロール、3最適化レベル81顔面コントロール、12ムード、設定可能な出力
プラットフォームサポートWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
使用例一般的なアプリケーション、ゲーム、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 ランタイムの競合により、通常のリアリスティックモデルでは現在サポートされていません。ただし、標準モデルとムード対応リアリスティックモデルの両方と完全に互換性があります。TTS機能を備えた通常のリアリスティックモデルを特に必要とする場合は、外部TTSサービスを使用してください。

リップシンク応答性の低下: Streaming Sound Wave または Capturable Sound Wave を使用する際に、時間の経過とともにリップシンクの応答性が低下する場合は、メモリ蓄積が原因である可能性があります。デフォルトでは、新しい音声が追加されるたびにメモリが再割り当てされます。この問題を防ぐには、ReleaseMemory 関数を定期的に(例えば30秒ごとなど)呼び出して、蓄積されたメモリを解放してください。

パフォーマンス最適化:

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