目のアニメーションヘルパー
リップシンクに加えて、Runtime MetaHuman Lip Sync プラグインには、MetaHumanの目をアニメーションさせるための2つのオプションヘルパーユーティリティが含まれています:
- Auto Blink:MetaHumanに自然でランダムな瞬きを生成するヘルパー
- Eyes Aim:MetaHumanの目をワールド空間の位置に向かせるアニメーションブループリントノード
これらの機能はリップシンクとは完全に独立しており、単独で、一緒に、またはリップシンクノードと組み合わせて使用できます。手動で作成することなく、リアルな目の動作を追加するための軽量でドロップイン可能なヘルパーとして設計されています。
機能プレビュー
既に顔のアニメーションパイプラインにまばたきや動的な視線が含まれている場合、このページはスキップできます。これらのヘルパーは、例えばアニメーションシーケンスにまばたきが含まれていない場合や、目が動的に動くターゲットを追跡する必要がある場合(静的なアニメーションシーケンスでは不可能)など、自分で作成せずにリアルな目の動作を実現したい場合に存在します。また、口だけをアニメーション化するシーケンスにまばたきを追加するなど、既存の顔のアニメーションの上にレイヤーして、欠けている部分を補うこともできます。
Auto Blink
Auto Blink ヘルパーは、MetaHuman Face Control Rig の CTRL_L_eye_blink および CTRL_R_eye_blink カーブを駆動することで、ランダムで自然な目のまばたきを生成します。
仕組み
各フレームで、Face Animation Blueprint の Event Graph から Update MetaHuman Auto Blink を呼び出し、フレームのデルタ時間を渡します。この関数は以下の処理を行います:
- 呼び出し元の
AnimInstanceをキーとして、キャラクターごとの状態(次のまばたき時間、現在の開閉フェーズなど)を追跡します - 左目と右目それぞれの現在の閉じ具合を表す 0..1 範囲の2つの float 値を返します
- これらの値を Blueprint 変数に格納し、Anim Graph の Control Rig ノードに渡します
セットアップ
2つのステップ: Event Graph にまばたき呼び出しを追加し、その値を Anim Graph の Control Rig ノードに渡します。
1. Event Graph: 各フレームのまばたき値を駆動する
Face Animation Blueprint(例:Face_AnimBP、または複製/コピーしたバージョン。セットアップガイドを参照)で、Event Graph を開き、Event Blueprint Update Animation に以下を追加します:
Update MetaHuman Auto Blinkを呼び出します- イベントからの Delta Time X を Delta Seconds に接続します
- (オプション)Config 構造体を設定します。デフォルトですでに自然に見えます
- Left Blink Value と Right Blink Value を Blueprint 変数(例:
LeftBlinkValue、RightBlinkValue)に昇格させます

2. Anim Graph: 値を Face Control Rig に渡す
同じ Animation Blueprint の Anim Graph で:
- 目のまばたきカーブに書き込む可能性のある他のすべての顔のロジック(例:
Blend Runtime MetaHuman Lip Syncやカスタムの顔アニメーションレイヤーの後)の後に Control Rig ノードを配置します - ノードの Details パネルで、Control Rig Class を MetaHuman の顔 Control Rig に設定します。パスは通常以下の通りです:
/All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig- プロジェクトによっては、MetaHuman のインポート方法によってパスが異なる場合があります。
- Details パネルで、Input セクションを展開し、以下に対して Use Pin を有効にします:
CTRL_L_eye_blinkCTRL_R_eye_blink
LeftBlinkValue変数をCTRL_L_eye_blinkに接続しますRightBlinkValue変数をCTRL_R_eye_blinkに接続します

Control Rig ノードは、リップシンクブレンドノード(およびその他の顔アニメーションノード)の後に配置してください。これにより、まばたき値が他のロジックによって上書きされなくなります。
設定
Update MetaHuman Auto Blink ノードは、オプションの Config 構造体を受け入れます。デフォルト値はほとんどのキャラクターで自然に見えます。動作を調整したい場合は、以下を展開してください。
設定プロパティ
タイミング
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Min Time Between Blinks | 2.0 秒 | 目が完全に開いている状態での、まばたき間の最小間隔。 |
| Max Time Between Blinks | 4.0 秒 | まばたき間の最大間隔。実際の間隔は最小値と最大値の間でランダム化されます。 |
| Min Closed Hold Time | 0.04 秒 | 目が完全に閉じている状態を維持する最小時間。 |
| Max Closed Hold Time | 0.08 秒 | 目が完全に閉じている状態を維持する最大時間。 |
補間
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Close Interp Speed | 35.0 | 目を閉じる際の速度。人間は目を開けるよりも閉じる方が速いため、これは意図的に開く速度よりも高く設定されています。 |
| Open Interp Speed | 18.0 | 目を開く際の速度。 |
| Closed Threshold | 0.97 | まばたきが「完全に閉じた」と見なされ、ホールドフェーズが開始される値。 |
| Open Threshold | 0.02 | まばたきが「完全に開いた」と見なされ、次のまばたきがスケジュールされる値。 |
その他
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Independent Eyes | false | true の場合、左右の目が別々のタイミングで独立してまばたきします。false(デフォルト)の場合、両目は完全に同期してまばたきします。 |
bEnabled(関数ピン) | true | false の場合、目はゆっくりと開き、まばたきは一時停止します。カットシーン、睡眠、死亡などに便利です。 |
ランタイム制御
Reset Auto Blink State を呼び出して、特定の AnimInstance の内部状態を明示的にクリアすることもできます(例:キャラクターのリスポーン時やシネマティック状態の切り替え時)。
Eyes Aim
Eyes Aim ヘルパーは Animation Blueprint ノード(Runtime MetaHuman Eyes Aim)で、キャラクターの目をワールド空間の位置(例:プレイヤーカメラ、他のアクター、または任意の動くターゲット)に追従させます。ヨー/ピッチのクランプ、スムージング、ターゲットが頭の後ろを通ったときの反転防止、およびリアリズムを高めるためのオプションのマイクロサッカードをサポートします。
モードの選択
このノードは、ノードの Details パネルの Mode ドロップダウンから選択できる2つのモードをサポートしています:
| モード | 駆動するもの | 配置場所 |
|---|---|---|
| Curves(デフォルト) | 顔の Control Rig の目の視線カーブ(CTRL_expressions_eyeLook*) | Face Animation Blueprint(例:Face_AnimBP)内の Control Rig ノードの前 |
| Bones | FACIAL_L_Eye / FACIAL_R_Eye ボーンを直接、Control Rig をバイパスして駆動 | Face Post Process Animation Blueprint(例:Face_PostProcess_AnimBP)内の AnimNode_RigLogic ノードの後 |
Curves モードが推奨されるデフォルトです。値がボーントランスフォームを競合するのではなく、通常の Control Rig 評価を通じて結合されるため、他のカーブベースの顔システム(リップシンク、表情、ARKit ブレンドシェイプなど)とクリーンに構成できます。
一部の MetaHuman バリアント(特に古いリグ、Quixel Bridge を介してダウンロードされたものを含む)では、目の視線カーブが実際に目を駆動しない場合があります。目に見える症状は、ターゲットの位置に関係なく、Curves モードのノードがアクティブなときに目が下を向き、瞳孔がほとんど隠れてしまうことです。
これが発生した場合は、Bones モードに切り替えてください。Bones モードは目のボーンを直接回転させるため、Control Rig の配線方法に関係なく、すべての MetaHuman バリアントで機能します。以下のセットアップの Bones タブを参照してください。
セットアップ
- Curves モード(デフォルト)
- Bones モード(フォールバック)
デフォルトのセットアップです。ノードは標準の Face Animation Blueprint に配置され、顔の Control Rig の目の視線カーブを駆動します。
2つのステップ: Anim Graph にノードを追加し、Event Graph からターゲット位置を入力します。
1. Anim Graph: ノードを追加する
Face Animation Blueprint の Anim Graph で:
Runtime MetaHuman Eyes Aimノードを追加します- Details パネルで Mode を Curves のままにします
- 目の視線カーブに書き込む可能性のある他のすべての顔のロジック(リップシンク、カスタムアニメーションなど)の後に配置します。これは Auto Blink Control Rig ノードと同じ原理です
- 既存のポーズを Source Pose に接続します
- 出力をチェーン内の次のノード(または
Output Pose)に接続します VectorBlueprint 変数(例:TargetWorldLocation)を作成し、ノードの Target World Location ピンに接続します。この変数は次のステップで Event Graph から更新します。

2. Event Graph: ターゲット位置を入力する
Target World Location ピンは、ワールド空間の FVector を期待します。一般的なケースは、MetaHuman にプレイヤーカメラを見させることです。Event Blueprint Update Animation で:
- Player Camera Manager(Player Index 0)を取得します
- Is Valid をチェックします
- 有効な場合、Get Camera Location を呼び出します
- それを
TargetWorldLocationBlueprint 変数に格納します

代わりに任意のアクター(NPC、アイテム、関心のあるポイント)を追跡するには、各フレームでそのアクターの位置を取得し、同じ変数に格納します。固定された視線ポイントの場合は、Target World Location を一度設定するか、ノードの Details パネルで定数として設定します。
Curves モードのアプローチが MetaHuman バリアントで機能しない場合(上記の警告を参照)、このセットアップを使用します。Bones モードでは、ノードは目のボーンを直接回転させ、Control Rig の評価が完了した後に実行する必要があります。つまり、通常の Face AnimBP ではなく、Face Post Process Animation Blueprint に属します。
3つのステップ: Post Process Anim BP を見つけ、RigLogic の後にノードを追加し、そのブループリントの Event Graph からターゲット位置を入力します。
1. Face Post Process Anim BP を見つける
- MetaHuman の 顔スケルタルメッシュ アセット(例:MetaHuman のフォルダ内の
Face)を開きます - アセットの Details パネルで、Post Process Anim Blueprint フィールドを見つけます
- そのアセットを開きます。通常は
Face_PostProcess_AnimBPのような名前です
2. Anim Graph: RigLogic の後にノードを追加する
Face Post Process Anim BP の Anim Graph で:
- 既存の
AnimNode_RigLogicノード(顔の Control Rig カーブをボーントランスフォームに変換します)を見つけます AnimNode_RigLogicの後、かつOutput Poseの前にRuntime MetaHuman Eyes Aimノードを追加します- ノードの Details パネルで、Mode を Bones に設定します
AnimNode_RigLogicを Eyes Aim ノードの Source Pose に接続します- Eyes Aim ノードの出力を
Output Poseに接続します - この Post Process Anim BP に
VectorBlueprint 変数(例:TargetWorldLocation)を作成し、ノードの Target World Location ピンに接続します

デフォルトのボーン参照(FACIAL_L_Eye および FACIAL_R_Eye)は、標準の MetaHuman 顔スケルトンに一致します。キャラクターがカスタマイズされたスケルトンを使用し、目のボーン名が異なる場合は、ノードの Details パネルの Bones カテゴリで上書きします。
3. Event Graph: ターゲット位置を入力する
ノードが Post Process Anim BP に存在するため、ターゲット位置ロジックもこのブループリントの Event Graph に存在する必要があり、Face_AnimBP ではありません。セットアップは Curves モードと同じです(カメラ位置、アクターの位置を取得するか、定数を使用する)。Face_PostProcess_AnimBP 内で実行するだけです。

関連のないロジック(リップシンク、自動まばたきなど)は、通常の Face AnimBP に残すことができます。Eyes Aim のターゲット位置計算のみをここに移動する必要があります。 Face Control Rig は、そのカーブに基づいて毎フレーム強制的に目のボーンを駆動します。Eyes Aim ノードが通常の Face AnimBP(Control Rig の前)で実行された場合、Control Rig が後でボーンの回転を上書きしてしまいます。Post Process Anim BP は、Control Rig が最終的なボーントランスフォームを生成した後に実行されるため、「勝つ」必要がある最終的なボーン回転を適用する正しい場所です。Bones モードに Post Process Anim BP が必要な理由
設定
すべての設定は、Runtime MetaHuman Eyes Aim ノードの Details パネルで公開されています。
照準 & クランプ
照準
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Mode | Curves | 目の駆動方法を選択します。モードの選択を参照してください。 |
| Target World Location | (0,0,0) | 目が見るワールド空間のポイント。デフォルトでピンとして公開されます。 |
bEnabled | true | false の場合、目はゆっくりと正面に戻り、ターゲットを無視します。デフォルトでピンとして公開されます。 |
クランプ
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Max Yaw Degrees | 35° | 頭の前方方向からの最大水平(ヨー)偏向。0~80 にクランプされます。 |
| Max Pitch Degrees | 25° | 頭の前方方向からの最大垂直(ピッチ)偏向。0~80 にクランプされます。 |
| Anti Flip Behind | true | ターゲットが頭の後ろを通ったときに目が反転するのを防ぎます。 |
スムージング & サッカード
スムージング
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Interp Speed | 12.0 | 目の動きのスムージング速度。高いほど機敏に、低いほど緩慢になります。 |
サッカード
マイクロサッカードは、実際の目が常に行っている、小さくランダム化された視線のシフトです。これらを追加することで、完全に滑らかな追跡の「死んだ目」のような外観を回避できます。
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Enable Saccades | true | マイクロサッカードのオン/オフを切り替えます。 |
| Saccade Yaw Amplitude Deg | 1.5° | サッカードあたりの最大水平ジッター。小さい値(1~2°)は自然に見えます。大きい値は落ち着きがないように見えます。 |
| Saccade Pitch Amplitude Deg | 1.0° | サッカードあたりの最大垂直ジッター。通常、ヨー振幅よりもわずかに小さくなります。 |
| Min Saccade Interval | 0.6 秒 | サッカード間の最小時間。 |
| Max Saccade Interval | 2.5 秒 | サッカード間の最大時間。値が大きいほど落ち着いて見え、小さいほど落ち着きがないように見えます。 |
ボーン(Bones モードのみ)
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Left Eye Bone | FACIAL_L_Eye | 左目のボーン名。標準の MetaHuman 顔スケルトンに一致します。 |
| Right Eye Bone | FACIAL_R_Eye | 右目のボーン名。標準の MetaHuman 顔スケルトンに一致します。 |
キャリブレーション(Curves モードのみ)
これらの値は、頭部空間の角度が MetaHuman 顔 CR の目の視線カーブ値にどのようにマッピングされるかを定義します。デフォルト値は標準の MetaHuman 顔 CR 用に調整されており、変更する必要はほとんどありません。
| プロパティ | デフォルト | 説明 |
|---|---|---|
| Yaw Degrees Per Unit Curve | 30° | ヨー視線カーブのカーブ値 1.0 にマッピングされる角度。 |
| Pitch Degrees Per Unit Curve | 25° | ピッチ視線カーブのカーブ値 1.0 にマッピングされる角度。 |
リップシンクおよびその他のアニメーションとの組み合わせ
両方のヘルパーは、プラグインのリップシンクノードおよび既存のカスタム顔アニメーションと共存するように設計されています。一般的なルール:Eyes Aim ノードと Control Rig(自動まばたき)ノードは、リップシンクおよびカスタム顔アニメーションの後に配置し、それらの値が下流で上書きされないようにします。
詳細な実行フローチャートを表示(Curves モード vs. Bones モード)
MetaHuman リグが推奨される Curves モード とフォールバックの Bones モード のどちらを使用するかに応じて、実行ロジックの配置が変わります。以下のチャートを展開して、両方のパイプラインの正確な実行順序を確認してください:
Auto Blink とリップシンクは、両モードにおいて通常の Face AnimBP に引き続き存在します。
ボディアニメーションとのレイヤリングの詳細については、「既存のアニメーションとの組み合わせ」を参照してください。
注意事項と制限事項
これらのヘルパーは MetaHuman 固有です。これらは、標準の MetaHuman フェイス Control Rig カーブ名 (CTRL_L_eye_blink、CTRL_R_eye_blink、CTRL_expressions_eyeLook*) と標準の眼球ボーン (FACIAL_L_Eye、FACIAL_R_Eye) に依存しています。カスタムの非 MetaHuman キャラクターを対象としたものではありません。
ヘルプが必要ですか?
カスタム開発のご依頼は、[email protected] までお問い合わせください。