リターゲティング プロファイルを使用する

リターゲティングされたキャラクターでランタイム時に IK リターゲッタ設定をオーバーライドしてアニメートします。

ランタイム時におけるキャラクターの IK リターゲティング に加えて、リターゲティング プロファイル を使って クローバルルートチェーン の各設定を動的に変更できます。リターゲティング プロファイルは Retarget Pose From Mesh アニメーション ブループリント ノードの追加機能であり、その設定を変更したりアニメートしたりするにはこのノードを使用します。これは、アニメーション全体のさまざまな時点で、リターゲティング設定を変更したり異なる設定を適用したりする必要がある場合に便利です。

本ドキュメントでは、リターゲティング プロファイルの設定方法と、その設定を変更するさまざまな方法について説明します。

前提条件

リターゲティング プロファイルにアクセスする

リターゲティング プロファイルには、前提条件の ランタイム IK リターゲティング のステップで作成したターゲット キャラクターのアニメーション ブループリントに含まれる Retarget Pose From Mesh ノードからアクセスできます。Retarget Pose From Mesh ノードを選択し、その [Details (詳細)] パネルにある [Custom Retarget Profile (カスタム リターゲティング プロファイル)] プロパティを見つけます。

retarget profile details

静的オーバーライド

デフォルトでは、割り当てた IK リターゲッタ アセット内で設定した内容が Retarget Pose From Mesh ノードで使用されます。ノードの [Custom Retarget Profile] プロパティを変更することで、これらの設定を静的にオーバーライドすることができます。

名称

説明

Apply Target Retarget Pose (ターゲット リターゲティング ポーズを適用)

有効にすると、ターゲット キャラクターに使用される リターゲティング ポーズ がオーバーライドされます。

Target Retarget Pose Name (ターゲット リターゲティング ポーズ名)

[Apply Target Retarget Pose] が有効な場合に、代わりに使用する新しいリターゲティング ポーズの名前をこの設定で指定します。

Apply Source Retarget Pose (ソース リターゲティング ポーズを適用)

有効にすると、ソース キャラクターに使用される リターゲティング ポーズ がオーバーライドされます。

Source Retarget Pose Name (ソース リターゲティング ポーズ名)

[Apply Source Retarget Pose] が有効な場合に、代わりに使用する新しいリターゲティング ポーズの名前をこの設定で指定します。

Apply Chain Settings (チェーン設定を適用)

有効にすると、IK リターゲッタ アセットで使用される チェーン設定 が、次の [Chain Settings] で指定する新しいチェーン設定でオーバーライドされます。

Chain Settings (チェーン設定)

新しいチェーン設定でオーバライドするチェーンを追加する配列です。プラス記号 (追加) をクリックして新しいチェーンを追加し、IK リターゲッタ アセットのリターゲティング チェーンの一つと一致する名前を付けます。[FK][IK][Speed Planting (速度プランティング)] の各カテゴリを展開して、それぞれの設定を調整できます。

Access2.png

Apply Root Settings (ルート設定を適用)

有効にすると、IK リターゲッタ アセットで使用される ルート設定 が、次の [Root Settings] で指定する新しいルート設定でオーバーライドされます。

Root Settings (ルート設定)

[Apply Root Settings] が有効な場合に、これらの設定で IK リターゲッタ アセットで使用されるルート設定がオーバーライドされます。

Apply Global Settings (グローバル設定を適用)

有効にすると、IK リターゲッタ アセットで使用される グローバル設定 が、次の [Global Settings] で指定する新しいグローバル設定でオーバーライドされます。

Global Settings (グローバル設定)

[Apply Global Settings] が有効な場合に、これらの設定で IK リターゲッタ アセットで使用されるグローバル設定がオーバーライドされます。

動的オーバーライド

リターゲティング設定が変わるタイミングを制御するには、追加のブループリント ロジックを作成する必要があります。ブループリントとアニメーションの状況には自由度の高い性質があるため、さまざまなリターゲティングの状況を調整するためのロジックを多様な方法で作成できます。

この例では、マネキンと一致するように、より大きいキャラクターの腕をグラウンドに正しく到達させるための調整にリターゲティング プロファイルを使用します。

target character incorrect

IK リグの設定

この特定のリターゲティング状況では、IK 目標とソルバを利用するために、ターゲット キャラクターの IK リグ を変更する必要があります。この例では フルボディ IK (FBIK) ソルバを使用しますが、ご自分のキャラクターに応じて適切な IK リグ ソルバ を選択してください。これは、変更対象のリターゲティング プロファイルの IK アーム チェーン設定を提供する上で必須のステップです。

リターゲティングに使用する、ターゲット キャラクターの IK リグ アセットを開き、次のステップを実行します。

  1. [Hierarchy (階層)] パネル内で手のボーンの一つを右クリックし、[New IK Goal (IK 目標の新規作成)] を選択します。

  2. 次に表示されるプロンプトで [Full Body IK (フルボディ IK)] がソルバとして設定されていることを確認し、[Add Solver (ソルバを追加)] をクリックします。

  3. この フルボディ IK ソルバ[Solver Stack (ソルバ スタック)] パネルで選択し、次にもう一方の手のボーンを右クリックして [New IK Goal] を選択します。

  4. 最後に、この ブルボディ IK ソルバ を選択して、階層内でそのルート ボーン (通常は pelvis または hips) を右クリックし、[Set Root Bone on Selected Solver (選択されているソルバにルート ボーンを設定)] を選択します。

create FBIK goals and solver

FBIK の設定

[Solver Stack] パネルで フルボディ IK を選択し、その [Details] パネル内で [Root Behavior (ルート動作)][Pin to Input (入力にピン止め)] に設定します。これは、IK 目標の移動に伴ってボディ下部が動かないようにするための必要な設定です。

pin to input

また、FBIK ソルバで制御するボーンに対して追加のボーン設定を作成しなければならない場合もあります。これにより、FBIK ソルブから生じる可能性のある剛性や不適切なジョイント回転を解決できます。ボーン設定を作成するには、フルボディ IK ソルバ を選択し、設定を作成する対象のボーンを選択して [Add Settings to Selected Bone (選択ボーンに設定を追加)] を選択します。

この例では、脊髄 (Spine)、肩 (Shoulder)、腕 (Arm) の各ボーンの回転剛性を解決するために、それらのボーン (対称的なボーンも含む) 向けに次のプロパティを含むボーン設定を作成しました。

  • Spine_01

    • Rotation Stiffness (回転の剛性) と Position Stiffness (位置の剛性):0.75

  • Spine_02

    • Rotation Stiffness (回転の剛性) と Position Stiffness (位置の剛性):0.75

  • Spine_03

    • Rotation Stiffness (回転の剛性) と Position Stiffness (位置の剛性):0.75

  • Clavicle_l

    • Rotation Stiffness (回転の剛性) と Position Stiffness (位置の剛性):0.8

  • Lowerarm_l

    • Use Preferred Angles (望ましい角度を使用):有効

    • Preferred Angles (望ましい角度): 0, 0, 45

fbik bone settings

リターゲティング プロファイル変数の設定

ターゲット アニメーション ブループリントに戻り、Retarget Pose From Mesh ノードを選択します。その [Details] パネルで [Custom Retarget Profile] ドロップダウン メニューをクリックし、[Expose As Pin (ピンとして公開)] をオンにします。これを有効にすると、ノードに Custom Retarget Profile ピンが加わります。

expose custom retarget profile

新しく作成したピンを右クリックして [Promote to Variable (変数へ昇格)] を選択します。これによって Retarget Profile タイプの新しい 構造体変数 が作成されて、ピンに接続されます。この変数は [My Blueprint (マイ ブループリント)] パネルにも表示されます。

promote to variable

イベント グラフ ロジックを作成する

アニメーション ブループリントのイベント グラフ を開いてここで リターゲティング プロファイル変数 を参照し、次のステップを実行します。

  1. そこからドラッグして Get Chain Settings from Retarget Profile ノードを作成します。

  2. Target Chain Name をアニメートするリターゲティング チェーンに設定します。この例では LeftArm です。

  3. Return Value を右クリックして [Split Struct Pin (構造体ピンを分割)] を選択します。

get chain settings from retarget profile

次に Return Value IK からドラッグして、TargetChainIKSettings ノードに Set メンバー を作成します。それを選択し、[Details] パネルで [Static Offset (スタティック オフセット)] を有効にします。これにより、ノード上で Static Offset チェーン プロパティがピンとして公開されます。

set members in target chain ik settings

Struct Out からドラッグして Set Chain IKSettings in Retarget Profile ノードを作成し、次のステップを実行します。

  1. Target Chain Name を以前に使用したものと同じチェーン名`LeftArm`,

  2. リターゲティング プロファイル 変数を Retarget Profile 入力に接続します。

set chain IK settings in retarget profile

Event Blueprint Update Animation をこの実行チェーンに接続し、そのピンを右クリックして [Promote to Variable] を選択し、スタティック オフセット を変数として公開します。

update animate event and expose static offset

最後に、スタティック オフセット変数の [Details] パネルで [Expose to Cinematics (シネマティックスに公開)][Instance Editable (インスタンス編集可能)] を有効にして、変数を外部から編集できるようにします。

expose variable to instance and cinematics

リターゲティング設定をアニメートする

ターゲットのアニメーション ブループリントのイベント グラフでロジックを作成し、それを Event Blueprint Update Animation にリンク付けしたので、Anim インスタンスをアニメート するのと同じ方法で、公開された変数をシーケンサーでアニメートできるようになりました。

作成済みのレベル シーケンスをすでに開いている と仮定して、リターゲティングしたキャラクターをそのレベル シーケンスとソース スケルタルメッシュ コンポーネントに追加し、そのソース コンポーネント上で アニメーションを再生して、ターゲット上のリターゲティング効果を確認します。

runtime retargeting in sequencer

次に、以下のステップを実行して、前に公開したチェーン設定変数を追加します。

  1. ブループリント トラック[Add Track (+) (トラックを追加 (+))] をクリックしてターゲットのスケルタルメッシュ コンポーネントを追加し、Target コンポーネントを選択します。

  2. ターゲットの コンポーネント トラック[Add Track (+)] をクリックし、[Anim Instance] を選択します。

  3. Anim インスタンス トラック[Add Track (+)] をクリックし、この変数を選択します。

add target anim instance track

これで、このトラックを キーフレーム化 してチェーン プロパティをリアルタイムで調整できます。

keyframe retarget profile settings

リターゲティング プロファイルのアニメートと ランタイム リターゲティング を組み合わせることで、新しいアニメーションや追加のアセットを作成することなく、ランタイム リターゲティングの結果を微調整することができます。

RTP_Result1.gif

RTP_Result2.gif

RTP_Result3.gif

元のアニメーション

大きなキャラクターでのリターゲティング プロファイルのアニメート

小さなキャラクターでのリターゲティング プロファイルのアニメート

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル