プラグイン設定
モデル設定
RealisticおよびMood-Enabled Realisticモデルで安定して動作させるには、長い無音区間をまたいで1つのジェネレーターを使い回すのではなく、新しいオーディオを再生するたびにジェネレーターを再作成してください。詳細はトラブルシューティングのGenerator Recreationを参照してください。
標準モデル構成
Create Runtime Viseme Generator ノードは、ほとんどのシナリオで問題なく機能するデフォルト設定を使用します。設定は Animation Blueprint のブレンドノードプロパティを通じて行います。
Animation Blueprint の設定オプションについては、以下のリップシンク設定セクションを参照してください。
リアルなモデル設定
Create Realistic MetaHuman Lip Sync Generator ノードは、ジェネレーターの動作をカスタマイズできるオプションの Configuration パラメータを受け取ります:
モデルタイプ
モデルタイプ設定は、使用するリアルなモデルのバージョンを決定します:
| モデルタイプ | パフォーマンス | 画質 | ノイズ処理 | 推奨される使用例 |
|---|---|---|---|---|
| 高度に最適化(デフォルト) | 最高のパフォーマンス、最低のCPU使用率 | 良好な品質 | 背景ノイズや非音声音に対して顕著な口の動きが見られる場合があります | クリーンな音声環境、パフォーマンスが重要なシナリオ |
| 準最適化 | 良好なパフォーマンス、中程度のCPU使用率 | 高品質 | ノイズの多い音声に対してより安定 | パフォーマンスと品質のバランス、混合音声条件 |
| オリジナル | 最新のCPUでのリアルタイム使用に適しています | 最高品質 | 背景ノイズや非音声音に対して最も安定 | 高品質な制作、ノイズの多い音声環境、最大限の精度が必要な場合 |
パフォーマンス設定
Intra Op Threads: 内部モデル処理操作に使用されるスレッド数を制御します。
- 0(デフォルト/自動): 自動検出を使用します(通常、利用可能なCPUコアの1/4、最大4)
- 1-16: スレッド数を手動で指定します。値を大きくするとマルチコアシステムでのパフォーマンスが向上する場合がありますが、CPU使用率が高くなります
Inter Op Threads: 異なるモデル操作を並列実行するために使用されるスレッド数を制御します。
- 0(デフォルト/自動): 自動検出を使用します(通常、利用可能なCPUコアの1/8、最大2)
- 1-8: スレッド数を手動で指定します。通常、リアルタイム処理では低く抑えられます
処理チャンクサイズ
処理チャンクサイズは、各推論ステップで処理されるサンプル数を決定します。デフォルト値は160サンプル(16kHzで10msの音声)です:
- 値が小さいほど更新頻度が高くなりますが、CPU使用率が増加します
- 値が大きいほどCPU負荷は軽減されますが、リップシンクの応答性が低下する可能性があります
- 最適なアラインメントのために160の倍数を使用することを推奨します

ムード対応モデル設定
Create Realistic MetaHuman Lip Sync With Mood Generator ノードは、基本的なリアルモデルを超えた追加の設定オプションを提供します:
基本設定
Lookahead Ms: リップシンクの精度を向上させるための先読みタイミング(ミリ秒単位)。
- デフォルト: 80ms
- 範囲: 20ms~200ms(20で割り切れる必要があります)
- 値を大きくすると同期精度が向上しますが、レイテンシーが増加します
出力タイプ: 生成される顔のコントロールを指定します。
- 顔全体:81個すべての顔面コントロール(眉、目、鼻、口、顎、舌)
- 口のみ:口、顎、舌に関連するコントロールのみ
パフォーマンス設定: 通常のリアルなモデルと同じIntra Op ThreadsおよびInter Op Threads設定を使用します。
ムード設定
利用可能なムード:
- ニュートラル、幸せ、悲しみ、嫌悪、怒り、驚き、恐れ
- 自信、興奮、退屈、遊び心、困惑
ムード強度: ムードがアニメーションにどの程度強く影響するかを制御します(0.0~1.0)
ランタイム気分コントロール
実行時に以下の関数を使用してムード設定を調整できます。
- 気分を設定: 現在の気分タイプを変更します
- 気分の強度を設定: 気分がアニメーションに与える影響の強さを調整します(0.0~1.0)
- 先読み時間(ミリ秒)を設定: 同期のための先読みタイミングを変更します
- 出力タイプを設定: 顔全体と口のみのコントロールを切り替えます

気分選択ガイド
コンテンツに基づいて適切なムードを選択してください:
| Mood | 最適な用途 | 一般的な強度範囲 |
|---|---|---|
| ニュートラル | 一般的な会話、ナレーション、デフォルト状態 | 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 |
Animation Blueprintの設定
リップシンク設定
- 標準モデル
- リアルなモデル
Blend Runtime MetaHuman Lip Sync ノードには、プロパティパネルに設定オプションがあります:
| プロパティ | デフォルト | 説明 |
|---|---|---|
| 補間速度 | 25 | 口の動きがviseme間で遷移する速さを制御します。値を大きくすると、遷移がより速く、より急激になります。 |
| リセット時間 | 0.2 | リップシンクがリセットされるまでの時間(秒)。これは、音声が停止した後もリップシンクが継続するのを防ぐのに役立ちます。 |
笑いアニメーション
音声で検出された笑い声に動的に反応する笑いアニメーションを追加することもできます:
Blend Runtime MetaHuman Laughterノードを追加するRuntimeVisemeGenerator変数をViseme Generatorピンに接続する- すでにリップシンクを使用している場合:
Blend Runtime MetaHuman Lip Syncノードの出力をBlend Runtime MetaHuman LaughterノードのSource Poseに接続しますBlend Runtime MetaHuman Laughterノードの出力をOutput PoseのResultピンに接続します
- リップシンクなしで笑いのみを使用する場合:
- ソースポーズを
Blend Runtime MetaHuman LaughterノードのSource Poseに直接接続します - 出力を
Resultピンに接続します
- ソースポーズを

音声内で笑いが検出されると、キャラクターはそれに応じて動的にアニメーションします:
笑いの設定
Blend Runtime MetaHuman Laughter ノードには独自の設定オプションがあります:
| プロパティ | デフォルト | 説明 |
|---|---|---|
| 補間速度 | 25 | 笑いのアニメーション間で唇の動きがどれだけ速く遷移するかを制御します。値が大きいほど、遷移がより速く、より唐突になります。 |
| リセット時間 | 0.2 | 笑いがリセットされるまでの時間(秒)。これは、音声が停止した後も笑いが続くのを防ぐのに役立ちます。 |
| 最大笑いウェイト | 0.7 | 笑いのアニメーションの最大強度をスケーリングします(0.0 - 1.0)。 |
注意: 笑い声検出は現在、Standard Modelでのみ利用可能です。
Blend Realistic MetaHuman Lip Sync ノードには、プロパティパネルに構成オプションがあります:
| プロパティ | デフォルト | 説明 |
|---|---|---|
| 補間速度 | 30 | 発話中に顔の表情が切り替わる速さを制御します。値を大きくすると、切り替えが速く急激になります。 |
| アイドル補間速度 | 15 | 顔の表情がアイドル/ニュートラル状態に戻る速さを制御します。値を小さくすると、休止ポーズへの戻りがより滑らかで緩やかになります。 |
| リセット時間 | 0.2 | リップシンクがアイドル状態にリセットされるまでの秒単位の時間。音声が停止した後も表情が継続するのを防ぐのに役立ちます。 |
| アイドル状態を保持 | false | 有効にすると、アイドル期間中にニュートラル状態にリセットする代わりに、最後の感情状態を保持します。 |
| 目の表情を保持 | true | アイドル状態の間、目に関連する顔のコントロールを保持するかどうかを制御します。アイドル状態を保持が有効な場合にのみ効果があります。 |
| 眉の表情を保持 | true | アイドル状態の間、眉に関連する顔のコントロールを保持するかどうかを制御します。アイドル状態を保持が有効な場合にのみ効果があります。 |
| 口の形状を保持 | false | アイドル状態の間、口の形状コントロール(舌や顎などの発話特有の動きを除く)を保持するかどうかを制御します。アイドル状態を保持が有効な場合にのみ効果があります。 |
アイドル状態の保持
アイドル状態を保持機能は、Realisticモデルが無音期間をどのように処理するかに対応します。離散的なvisemeを使用し、無音期間中は一貫してゼロ値に戻るStandardモデルとは異なり、Realisticモデルのニューラルネットワークは、MetaHumanのデフォルトの休止ポーズとは異なる微妙な顔の位置を維持する場合があります。
有効にするタイミング:
- 発話セグメント間の感情表現の維持
- キャラクターの性格特性の保持
- シネマティックシーケンスにおける視覚的な連続性の確保
地域コントロールオプション:
- 目の表情: 目を細める、見開く、まぶたの位置を保持します
- 眉の表情: 眉と額の位置を維持します
- 口の形: 全体的な口のカーブを保ちつつ、発話の動き(舌、あご)をリセットできるようにします
既存のアニメーションとの組み合わせ
読みながらよりも動画で見たい方は、この設定手順をそのまま解説した動画チュートリアルをご覧ください。
既存のボディアニメーションとカスタム顔アニメーションを上書きせずに、リップシンクと笑いをそれらと併用して適用するには:
このセットアップは顔のAnimation Blueprintに適用されます。リップシンクはボディのAnimation Blueprintには含まれないためです。カスタムのボディアニメーション(例:胴体、腕、その他の身体の動き)については、アニメーションシーケンスを(Sequence Playerを介して)ボディのAnimation Blueprintの出力ポーズに直接接続するだけです。そこでは追加のセットアップは必要ありません。
Layered blend per boneノードをボディアニメーションと最終出力の間に追加します。- レイヤー設定を構成します:
Layer Setup配列に 1 項目 を追加します- レイヤーの
Branch Filtersに 3 項目 を追加します。Bone Nameは以下のとおりです:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- カスタム顔アニメーションの重要事項:
Curve Blend Optionで 「Use Max Value」 を選択してください。これにより、カスタム顔アニメーション(表情、感情など)をリップシンクの上に適切にレイヤー化できます。 - 接続を行います:
- カスタムアニメーション(通常は目的のアニメーションシーケンスアセットを設定した
Sequence Player)→Base Pose入力 - 顔のアニメーション出力(リップシンクや笑いのノードから)→
Blend Poses 0入力 - レイヤードブレンドノード → 最終的な
Resultポーズ
- カスタムアニメーション(通常は目的のアニメーションシーケンスアセットを設定した

モーフターゲットセットの選択
- 標準モデル
- リアルなモデル
スタンダードモデルは、カスタムポーズアセットのセットアップを通じて、あらゆるモーフターゲットの命名規則に本質的に対応するポーズアセットを使用します。追加の設定は不要です。
Blend Realistic MetaHuman Lip Sync ノードには、顔のアニメーションに使用するモーフターゲットの命名規則を決定する Morph Target Set プロパティが含まれています:
| モーフターゲットセット | 説明 | 使用例 |
|---|---|---|
| MetaHuman(デフォルト) | 標準のMetaHumanモーフターゲット名(例:CTRL_expressions_jawOpen) | MetaHumanキャラクター |
| ARKit | Apple ARKit互換の名前(例:JawOpen、MouthSmileLeft) | ARKitベースのキャラクター |
キャラクターをARKitまたはMetaHumanのブレンドシェイプに変換する
キャラクターがネイティブにARKit標準のブレンドシェイプ名を使用していない場合、いくつかの一般的な商用キャラクターシステムを変換してそれらを生成できます(または、CC5の場合は、代わりにネイティブのMetaHumanブレンドシェイプに直接変換できます)。これにより、Standard Modelに必要な手動のvisemeマッピングプロセスの代わりに、上記のARKitまたはMetaHumanモーフターゲットセットにアクセスできます。 CC4とCC5のキャラクターはここでは異なる方法で扱われます。CC5のキャラクターは、ARKit変換をまったく必要とせず、MetaHumanネイティブのフェイシャルリグを共有できるからです。 CC5: MetaHumanのブレンドシェイプに変換(推奨) キャラクターがHDフェイシャルプロファイルでCC5に構築されている場合、すでにMetaHumanのフェイシャルコントロールとスケルトンを共有しているため、ARKitブレンドシェイプを手動で生成する必要はありません。代わりに: インポートしたら、キャラクターのブレンドシェイプがすでにネイティブのMetaHuman命名を使用しているため、ARKitではなくMetaHumanのMorph Target Setオプションを選択してください。 CC4(またはHDプロファイルなしのCC5):ARKitブレンドシェイプに変換 CC4の場合、またはHDフェイシャルプロファイルを使用していないCC5キャラクターの場合は、代わりに手動のARKit変換を使用してください。開始する前に、キャラクターのFacial ProfileがCC4 Extendedに設定されていることを確認してください(Standard、Extended-Plus、または新しいHD Facial Profileではありません)。スクリプトのブレンドシェイプマッピングはExtendedのスライダー名に対してハードコードされており、他のプロファイルでは異なる命名規則が使用されているため、スクリプトは期待されるスライダーを黙ってスキップするか、見つけることができません。 このスクリプトをダウンロード: スクリプトをテキストエディタで開き、 Character Creatorでキャラクターを選択し、上部メニューのScriptからLoad Pythonを選択します。次に、先ほど編集したスクリプトを選択します。スクリプトはデフォルトのReallusionスライダーからARKitブレンドシェイプの完全なセットを作成し、それらをOBJファイルとしてエクスポートします。これには数分かかることがあります。 Facial Profile Editor ウィンドウに移動して、これらのシェイプをインポートできるようになりました。Edit Expressions ボタンをクリックし、ドロップダウンの Batch Import で OBJ を選択してください。 ここで、先ほど参照したフォルダをインポートできます。すると、すべてのARKitシェイプが一覧表示されます。Target Categoryに名前を入力します(例: AR_Kit)。そしてOKをクリックします。 これにより、Expressionの下に新しいカテゴリが作成されます。他のすべてのカテゴリは無効にできます。 ARKitカテゴリを設定したら、通常どおりキャラクターをFBXとしてエクスポートします。これによりキャラクターに標準の52個のARKitブレンドシェイプが付与され、上記のARKit Morph Target Setオプションで使用できるようになります。 注意: CC4のリグでは、顎の動きは純粋なブレンドシェイプではなく、部分的にボーンの回転によって駆動されるため、エクスポート後に DazのFACSモーフは、Genesis 8.1およびGenesis 9でネイティブに利用可能で、名前を変更することなくすでにARKit互換です。通常のGenesis 8(8.1ではない)には、これらがデフォルトで含まれていません。代わりにGenesis 8.1を使用するか、別途FACSモーフパックを追加する必要があります。 現在も活発にメンテナンスされているDiffeomorphicアドオン(Daz StudioとBlenderのブリッジであり、Daz 3Dとは提携していません)が、これらをUnrealに取り込むための推奨される方法です: エクスポートしたら、上記のARKit Morph Target Setオプションを使用してください。 注意: まつげと眼球の視線方向シェイプは、メインフェイスメッシュとは異なる方法で駆動されるため、完全には引き継がれない可能性がありますが、口と顎のシェイプのみを必要とするリップシンクには影響しません。Reallusion CC4/CC5 および Daz Genesis 8.1/9 変換ガイド(クリックして展開)
rl_export_arkit_objs.pyoutput_dir = "path/to/your/target/folder" と書かれている箇所に、エクスポート先フォルダのパスを指定してください。スラッシュ / を使用するようにしてください。



jawOpenが弱く見えたり、口が説得力を持って開かない場合があります。この問題が発生した場合は、FBXエクスポートオプションでMouth Open as Morphを有効にしてください。これにより、顎のボーン駆動の動きが専用のブレンドシェイプにベイクされ、デフォルトのものではなくjawOpenのソースとして割り当てることができます。または、cc_blender_toolsアドオンを使用してキャラクターをBlender経由で処理することで、この問題やその他のシェイプの問題を修正できます。ワークフローについては、そのドキュメントの「Blender Round Trip」セクションを参照してください(ページタイトルにはUnityと記載されていますが、この特定のセクションはエンジンに依存しません)。
リップシンクの挙動の微調整
特定のリップシンクカーブのスケーリング
Modify Curve ノードを使用すると、リップシンクによって生成される個々の顔の動きを減衰(または増幅)できます。これは、特定のカーブがオーディオコンテンツやキャラクターに対して強すぎる場合に便利です。
セットアップ:
- リップシンクのブレンドノードの後に、
Modify Curveノードを追加します - ノードを右クリックして Add Curve Pin を選択し、スケーリングしたいカーブ名を入力します
- ノードの Apply Mode プロパティを Scale に設定します
- Value パラメータを設定します。1.0 未満の値は動きを減衰させ、1.0 を超える値は動きを増幅します(例: 0.8 = 20% の減少)
一般的にスケーリングされるカーブ:
| カーブ名 | 目的 | 適用対象 | 一般的な調整 |
|---|---|---|---|
CTRL_expressions_tongueOut | 特定の音素における舌の前方突出 | 標準モデル | 突出を抑えるには0.8 |
CTRL_expressions_jawOpen | 顎の開き範囲 | リアルモデル | 顎の動きを抑えるには0.9 |
同じModify Curveノードに複数のカーブピンを追加すると、複数のカーブを一度にスケーリングできます。
ムード別ファインチューニング
ムード対応モデルでは、特定の感情表現を微調整できます:
眉コントロール:
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- 頬の上げ
モデルの比較と選択
モデルの選択
プロジェクトで使用するリップシンクモデルを決定する際は、以下の要素を考慮してください:
| 考慮事項 | 標準モデル | リアルモデル | ムード対応リアルモデル |
|---|---|---|---|
| キャラクター互換性 | MetaHumanおよびすべてのカスタムキャラクタータイプ | MetaHuman(およびARKit)キャラクター | MetaHuman(およびARKit)キャラクター |
| 視覚品質 | 効率的なパフォーマンスを備えた良好なリップシンク | より自然な口の動きによるリアリズムの向上 | 感情表現によるリアリズムの向上 |
| パフォーマンス | モバイル/VRを含むすべてのプラットフォームに最適化 | より高いリソース要件 | より高いリソース要件 |
| 機能 | 14のビゼーム、笑い検出 | 81の顔面コントロール、3つの最適化レベル | 81の顔面コントロール、12のムード、設定可能な出力 |
| プラットフォームサポート | Windows、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest |
| ユースケース | 一般的なアプリケーション、ゲーム、VR/AR、モバイル | シネマティックな体験、クローズアップインタラクション | 感情的なストーリーテリング、高度なキャラクターインタラクション |
エンジンバージョンの互換性
Unreal Engine 5.2を使用している場合、UEのリサンプリングライブラリのバグにより、Realistic Modelsが正しく動作しない可能性があります。信頼性の高いリップシンク機能が必要なUE 5.2ユーザーの方は、代わりにStandard Modelをご使用ください。
この問題はUE 5.2に固有のものであり、他のエンジンバージョンには影響しません。
パフォーマンスに関する推奨事項
- ほとんどのプロジェクトでは、Standard Model が品質とパフォーマンスの優れたバランスを提供します
- MetaHuman キャラクターに最高の視覚的忠実度が必要な場合は、Realistic Model を使用してください
- アプリケーションで感情表現の制御が重要な場合は、Mood-Enabled Realistic Model を使用してください
- モデルを選択する際は、ターゲットプラットフォームのパフォーマンス能力を考慮してください
- さまざまな最適化レベルをテストして、特定のユースケースに最適なバランスを見つけてください
トラブルシューティング
よくある問題
リアルモデル用のジェネレーター再作成: リアルモデルで信頼性が高く一貫した動作を実現するには、一定期間の非アクティブ状態の後に新しい音声データを入力するたびに、ジェネレーターを再作成することをお勧めします。これは、無音期間の後にジェネレーターを再利用するとリップシンクが機能しなくなる可能性がある ONNX ランタイムの動作によるものです。
例えば、再生開始のたびにリップシンクジェネレーターを再作成することができます。たとえば、Play Sound 2D を呼び出したり、他の方法でサウンドウェーブの再生とリップシンクを開始するたびに、次のようにします:

Runtime Text To Speech統合のためのプラグイン配置場所: Runtime MetaHuman Lip SyncをRuntime Text To Speechと一緒に使用する場合(両方のプラグインはONNX Runtimeを使用します)、プラグインがエンジンのMarketplaceフォルダにインストールされていると問題が発生する可能性があります。修正するには:
- UEのインストールフォルダ内の
\Engine\Plugins\Marketplaceにある両方のプラグインを探します(例:C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) RuntimeMetaHumanLipSyncフォルダとRuntimeTextToSpeechフォルダの両方を、プロジェクトのPluginsフォルダに移動します- プロジェクトに
Pluginsフォルダがない場合は、.uprojectファイルと同じディレクトリに作成します - Unreal Editorを再起動します
これは、エンジンのMarketplaceディレクトリから複数のONNX Runtimeベースのプラグインが読み込まれた際に発生する可能性のある互換性の問題に対処します。
パッケージング構成 (Windows): Windows 上のパッケージ済みプロジェクトでリップシンクが正しく動作しない場合は、Development ではなく Shipping ビルド構成を使用していることを確認してください。Development 構成は、パッケージ済みビルドにおいてリアルなモデルの ONNX ランタイムで問題を引き起こす可能性があります。
これを修正するには:
- プロジェクト設定 → パッケージングで、ビルド構成を Shipping に設定します
- プロジェクトを再パッケージ化します

一部のBlueprintのみのプロジェクトでは、Shippingを選択していてもUnreal EngineがDevelopment構成でビルドされることがあります。この問題が発生した場合は、少なくとも1つのC++クラス(空でも可)を追加してプロジェクトをC++プロジェクトに変換してください。これを行うには、UEエディタのメニューでTools → New C++ Classに移動し、空のクラスを作成します。これにより、プロジェクトがShipping構成で正しくビルドされるようになります。プロジェクトの機能はBlueprintのみのままで構いません。C++クラスは適切なビルド構成のために必要なだけです。
リップシンクの応答性低下: Streaming Sound Wave または Capturable Sound Wave を使用しているときに、時間の経過とともにリップシンクの応答性が低下する場合は、メモリの蓄積が原因である可能性があります。デフォルトでは、新しいオーディオが追加されるたびにメモリが再割り当てされます。この問題を防ぐには、ReleaseMemory 関数を定期的に呼び出して蓄積されたメモリを解放してください。たとえば、30秒ごと程度が目安です。
パフォーマンス最適化:
- パフォーマンス要件に基づいて、Realisticモデルの処理チャンクサイズを調整する
- 対象ハードウェアに適したスレッド数を使用する
- 完全な顔のアニメーションが不要な場合は、ムード対応モデルにMouth Only出力タイプの使用を検討する