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

目のアニメーションヘルパー

リップシンクに加えて、Runtime MetaHuman Lip Sync プラグインには、MetaHumanの目をアニメーションさせるための2つのオプションのヘルパーユーティリティが含まれています。

  • 自動まばたき: MetaHumanに自然でランダムなまばたきを生成するヘルパー
  • 視線制御: MetaHumanの目をワールド空間の位置に向けさせるアニメーションブループリントノード

これらの機能はリップシンクとは完全に独立しており、単独で、一緒に、またはリップシンクノードと組み合わせて使用できます。手動で作成することなく、リアルな目の動きを追加するための軽量でドロップイン可能なヘルパーとして設計されています。

機能プレビュー

自動まばたき:自動的な目のまばたき
視線の向き:プレイヤーカメラを追跡
アイズエイム:動くターゲットアクターを追跡

ビデオウォークスルー

両方のヘルパーの完全なウォークスルー(レガシーリグの回避策を含む)。

これらのヘルパーを使用するタイミング

すでにフェイシャルアニメーションパイプラインにまばたきや動的な視線が含まれている場合、このページはスキップして構いません。これらのヘルパーは、自分で作成しなくてもリアルな目の動きを実現したい場合に存在します。例えば、アニメーションシーケンスにまばたきが含まれていない場合や、目が動くターゲット(静的なアニメーションシーケンスではできないこと)を動的に追従する必要がある場合などです。また、既存のフェイシャルアニメーションの上に重ねて、不足している要素(例えば、口だけを動かすシーケンスにまばたきを追加するなど)を補うこともできます。

自動まばたきヘルパーは、MetaHuman Face Control Rigの**CTRL_L_eye_blink** および CTRL_R_eye_blink カーブを駆動することで、ランダムで自然な目のまばたきを生成します。

動作の仕組み

毎フレームごとに、Face Animation BlueprintのEvent GraphからUpdate MetaHuman Auto Blinkを呼び出し、そのフレームのデルタタイムを渡します。この関数は:

  1. 各キャラクターの状態(次の瞬きの時間、現在の開閉フェーズなど)を、呼び出し元の AnimInstance をキーとして追跡します
  2. 0..1 の範囲の2つの浮動小数点値を返します。左目用と右目用で、それぞれの目が現在どの程度閉じているかを表します
  3. その後、これらの値をブループリント変数に格納し、アニメーショングラフの コントロールリグ ノードに渡します

セットアップ

2つのステップ: まずイベントグラフにまばたき呼び出しを追加し、次にアニムグラフのコントロールリグノードに値を入力します。

Face Animation Blueprint(例:Face_AnimBP または複製・コピーしたバージョン。詳細はセットアップガイドを参照)で、Event Graph を開き、Event Blueprint Update Animation に以下を追加します。

  1. Update MetaHuman Auto Blink を呼び出す
  2. Delta Time X(イベントから)を Delta Seconds に接続する
  3. (オプション)Config 構造体を設定する。デフォルト値はすでに自然に見える
  4. Left Blink ValueRight Blink Value を Blueprint 変数(例:LeftBlinkValueRightBlinkValue)に昇格させる

Auto Blink Event Graph setup

同じアニメーションブループリントのアニムグラフ内で:

  1. コントロールリグノードを、目のまばたきカーブに書き込む可能性のある他のすべてのフェイシャルロジックのに配置します(例:Blend Runtime MetaHuman Lip Syncやカスタムフェイシャルアニメーションレイヤーの後)。
  2. ノードの詳細パネルで、コントロールリグクラス(UE 5.8以降ではコントロールリグアセット参照)をMetaHumanのフェイスコントロールリグに設定します。パスは通常次のとおりです:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • プロジェクトによっては、MetaHumanのインポート方法に応じてパスが異なる場合があります。
  3. 詳細パネルで、入力セクションを展開し、以下の項目に対してピンを使用を有効にします。
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. LeftBlinkValue 変数を CTRL_L_eye_blink に接続します
  5. RightBlinkValue 変数を CTRL_R_eye_blink に接続します

Auto Blink Anim Graph setup

配置が重要です。

リップシンクのブレンドノード(およびその他のフェイシャルアニメーションノード)の後にコントロールリグノードを配置し、まばたきの値が他のロジックによって上書きされないようにします。

設定

Update MetaHuman Auto Blink ノードは、オプションの Config 構造体を受け入れます。デフォルト設定はほとんどのキャラクターで自然に見えるようになっています。動作を調整したい場合は、以下を展開してください。

設定プロパティ

タイミング

プロパティデフォルト説明
瞬きの最小間隔2.0秒完全に目を開けている状態での、まばたきの最小間隔。
瞬きの最大間隔4.0秒まばたきの最大間隔。実際の間隔は最小値と最大値の間でランダム化されます。
最小クローズホールド時間0.04 秒目が完全に閉じている最低時間。
最大クローズドホールド時間0.08秒目が完全に閉じている最大時間。

補間

プロパティデフォルト説明
クローズ・インタープ・スピード35.0目を閉じる速度。人間は目を開けるよりも閉じる方が速いため、この値は開く速度よりも意図的に高く設定されています。
オープン補間速度18.0目を開ける速度。
クローズド閾値0.97まばたきが「完全に閉じた」と見なされ、ホールドフェーズが開始される値です。
オープンしきい値0.02まばたきが「完全に開いた」と見なされ、次のまばたきがスケジュールされる値です。

Misc

プロパティデフォルト説明
独立した目falsetrue の場合、左右の目がそれぞれ異なるタイミングで独立して瞬きを行います。false(デフォルト)の場合、両目が完全に同期して瞬きします。
bEnabled(関数ピン)truefalseの場合、目がゆっくりと開き、まばたきが停止します。カットシーン、睡眠、死亡などの場面で便利です。

ランタイム制御

また、特定の AnimInstance の内部状態を明示的にクリアするために Reset Auto Blink State を呼び出すこともできます(例:キャラクターのリスポーン時やシネマティック状態の切り替え時)。

視線の照準

Eyes Aim ヘルパーは、キャラクターの目がワールド空間上の位置(例:プレイヤーカメラ、他のアクター、または任意の移動ターゲット)を追跡できるようにする アニメーションブループリントノード (Runtime MetaHuman Eyes Aim) です。ヨー/ピッチのクランプ、スムージング、ターゲットが頭の後ろを通るときの反転防止、およびリアリティを高めるためのオプションのマイクロサッカードをサポートしています。

モードの選択

このノードは、ノードの詳細パネルにあるモードドロップダウンから選択できる2つのモードをサポートしています。

Modeそれが駆動するものどこに置くか
カーブ(デフォルト)フェイスコントロールリグの視線カーブ(CTRL_expressions_eyeLook*Face Animation Blueprint(例:Face_AnimBP)内の Control Rig ノードの
ボーンFACIAL_L_Eye / FACIAL_R_Eye ボーンを直接使用し、Control Rig をバイパスします。Face Post Process Animation Blueprint(例:Face_PostProcess_AnimBP)内の AnimNode_RigLogic ノードの後

カーブモードが推奨されるデフォルトです。このモードは、値が通常のコントロールリグ評価を通じて結合されるため、他のカーブベースのフェイシャルシステム(リップシンク、表情、ARKitブレンドシェイプなど)と競合することなく、クリーンに合成されます。

Curvesモードが機能しない場合は、Bonesモードを使用してください。

一部のMetaHumanバリアント(特に古いリグ、Quixel Bridge 経由でダウンロードしたものを含む)では、アイルックカーブが実際に目を動かしません。目に見える症状として、カーブモードノードがアクティブな場合、ターゲットの位置に関係なく目が下を向き、瞳孔がほぼ隠れた状態になります。

これが表示されたら、ボーンモードに切り替えてください。ボーンモードは眼球のボーンを直接回転させるため、コントロールリグの配線方法に関係なく、すべてのMetaHumanバリエーションで動作します。以下のセットアップボーンタブを参照してください。

セットアップ

デフォルトの設定です。このノードは標準のフェイスアニメーションブループリント内に配置され、フェイスコントロールリグの視線カーブを駆動します。

2つのステップ: アニメーショングラフにノードを追加し、イベントグラフからターゲット位置を入力します。

1. アニムグラフ:ノードを追加する

あなたのフェイスアニメーションブループリントのアニムグラフで:

  1. Runtime MetaHuman Eyes Aim ノードを追加する
  2. 詳細パネルで ModeCurves に設定したままにする
  3. 目の視線カーブに書き込む可能性のある他のすべてのフェイシャルロジック(リップシンク、カスタムアニメーションなど)のに配置する。これはAuto Blink Control Rigノードと同じ原則である
  4. 既存のポーズを Source Pose に接続する
  5. 出力をチェーン内の次のノード(または Output Pose)に接続する
  6. Vector Blueprint変数(例:TargetWorldLocation)を作成し、ノードの Target World Location ピンに接続する。この変数は次のステップでEvent Graphから更新する

Eyes Aim Anim Graph setup

2. イベントグラフ:ターゲット位置を入力する

Target World Location ピンはワールド空間の FVector を期待します。よくあるケースは、MetaHuman にプレイヤーカメラを見させることです。Event Blueprint Update Animation では:

  1. プレイヤーカメラマネージャーを取得(プレイヤーインデックス0)
  2. 有効かどうかを確認
  3. 有効な場合、カメラの位置を取得を呼び出す
  4. それをTargetWorldLocation Blueprint変数に格納する

Eyes Aim, tracking the camera

代わりに任意のアクター(NPC、アイテム、関心地点)を追跡するには、毎フレームそのアクターの位置を取得し、同じ変数に格納します。固定の注視点の場合は、ノードの詳細パネルでターゲットワールド位置を一度設定するか、定数として設定します。

設定

すべての設定は、Runtime MetaHuman Eyes Aim ノードの詳細パネルに表示されます。

Aim & Clamp

目的

プロパティデフォルト説明
Modeカーブ目の駆動方法を選択します。モードの選択を参照してください。
ターゲットワールドロケーション(0,0,0)眼球が見つめるワールド空間上の点。デフォルトではピンとして公開されます。
bEnabledtruefalse の場合、目は前方に戻り、ターゲットを無視します。デフォルトではピンとして公開されます。

クランプ

プロパティデフォルト説明
最大ヨー角度35°頭部の前方方向からの最大水平(ヨー)偏向角度。0から80の範囲に制限されます。
最大ピッチ角度25°頭部の前方方向からの最大垂直(ピッチ)偏向角度。0から80の範囲に制限されます。
反転防止trueターゲットが頭の後ろを通り過ぎるときに、目が反転するのを防ぎます。
スムージングとサッカード

スムージング

プロパティデフォルト説明
補間速度12.0目の動きのスムージング速度。高いほどキビキビし、低いほどゆったりとした動きになります。

サッケード

マイクロサッカードは、実際の眼球が常に行っている微小でランダムな視線移動です。これを追加することで、完全に滑らかな追跡が生み出す「死んだ魚のような目」の印象を回避できます。

プロパティデフォルト説明
サッカードを有効にするtrueマイクロサッカードのオン/オフを切り替えます。
サッケードのヨー振幅度1.5°サッカードごとの最大水平ジッター。小さい値(1~2°)は自然に見えますが、大きい値はピクピクした印象になります。
サッカードピッチ振幅度1.0°サッカードごとの最大垂直ジッター。通常、ヨー振幅よりもわずかに小さい値です。
最小サッカード間隔0.6秒サッカード間の最小時間。
最大サッカード間隔2.5秒サッカード間の最大時間。値が大きいほど落ち着いた印象に、小さいほど落ち着かない印象になります。
ボーン(ボーンモードのみ)
プロパティデフォルト説明
左目ボーンFACIAL_L_Eye左目のボーン名。標準のMetaHumanフェイススケルトンに一致します。
右目ボーンFACIAL_R_Eye右目のボーン名。標準のMetaHumanフェイススケルトンに一致します。
キャリブレーション(カーブモードのみ)

これらの値は、頭部空間の角度がMetaHumanフェイスCRの視線カーブ値にどのようにマッピングされるかを定義します。デフォルト値は標準のMetaHumanフェイスCR向けに調整されており、変更が必要になることはほとんどありません。

プロパティデフォルト説明
単位曲線あたりのヨー角度30°ヨールックカーブのカーブ値1.0にマッピングされる角度。
単位曲線あたりのピッチ角度25°ピッチルックカーブのカーブ値1.0にマッピングされる角度。

リップシンクと他のアニメーションとの組み合わせ

両方のヘルパーは、プラグインのリップシンクノードや既存のカスタムフェイシャルアニメーションと共存できるように設計されています。一般的なルールとして、Eyes Aim ノードと Control Rig(自動まばたき)ノードは、リップシンクおよびカスタムフェイシャルアニメーションの後に配置し、それらの値が後続の処理で上書きされないようにしてください。

詳細な実行フローチャートを表示(カーブモード vs ボーンモード)

MetaHumanリグが推奨されるカーブモードと代替のボーンモードのどちらを使用しているかに応じて、実行ロジックの配置が変わります。以下のチャートを展開して、両方のパイプラインの正確な実行順序を確認してください。

自動まばたきとリップシンクは、両方のモードにおいて通常のFace AnimBPに引き続き存在します。

ボディアニメーションとのレイヤリングの詳細については、既存のアニメーションとの組み合わせを参照してください。

注意事項と制限事項

これらのヘルパーは MetaHuman 固有 です。標準の MetaHuman フェイス コントロール リグのカーブ名(CTRL_L_eye_blinkCTRL_R_eye_blinkCTRL_expressions_eyeLook*)と標準の眼球ボーン(FACIAL_L_EyeFACIAL_R_Eye)に依存しています。カスタムの非 MetaHuman キャラクター向けではありません。

ヘルプが必要ですか?

Join our Discord
online · support

カスタム開発のご依頼は、[email protected] までお問い合わせください。