Pose Driver

Pose Driver を使用して、ボーンの動きに基づいて Pose アセットまたはカーブ値を制御する方法について説明します。

コンテンツ

Pose Driver アニメーション ブループリント ノードを使用すると、キャラクターをアニメートする アニメーション カーブ 値で Pose アセット を制御することができます。

pose driver aniamtion blueprint node

Pose Blender および Pose by Name アニメーション ブループリント ノードは、Pose アセットを既存のアニメーション ポーズとブレンドするために使用されますが、Pose Driver ノードは Pose アセット内に含まれるポーズを制御してキャラクターをアニメートするために使用されます。

Pose Driver ノードを使用すると、ボーンの動きを使用してランタイム時に Pose アセットの再生を制御することができます。

pose driver demo using animation sequence curves to drive anim curve

anim graph with pose driver

ビューポート

グラフ

[Pose Asset] を選択し、Pose Targets[Source Bone] を設定することで、ソース ボーンの動きのデータを使用して Pose アセットが制御する動作をコントロールすることができます。

Pose Driver ノードの Pose アセットを再選択し、Tool プロパティを使用して新しいポーズ セットをインポートする場合、Pose Driver ノードを作成する必要があります。

ポーズ ターゲット

Pose Targets プロパティでターゲットを割り当てることにより、Pose Driver ノードを使用してターゲットにしたい Pose アセット または アニメーション カーブ のスケルタル メッシュを指定することができます。ポーズ ターゲットは、Pose アセット に含まれるポーズを使用して、手動で入力するか、自動的に割り当てることができます。

Pose アセットに含まれるポーズをポーズ ターゲットとしてインポートするには、まず Pose Driver の [Details] パネルで、Pose Asset プロパティにある Pose アセットを選択します。

pose target properties in pose driver details panel add target

Pose アセットが割り当てられたら、Tool プロパティのコンテキスト メニューの [Pose Asset] オプションから [Copy Poses (ポーズをコピー)] を選択します。

tool drop down select copy poses from pose asset to import poses as pose targets

インポートされたポーズ ターゲットは、Pose Driver ノードを使用して制御できます。

ポーズ ターゲットのプロパティのリファレンス

pose target property reference general

以下のプロパティは、Pose Driver ノードのすべてのポーズ ターゲットの動作をコントロールします。ポーズ ターゲットのプロパティのリファレンスを以下に示します。

プロパティ

説明

Solo Driven Pose / Curve Only

ポーズ ターゲットがポーズ全体を表しているのか、アニメーション カーブのみを表しているのかを切り替えることができます。このプロパティが有効な場合は、カーブ データのみを補間し、ソース ジョイントはそのまま保持します。無効な場合は、すべてのポーズ データを使用します。

Tools

Pose Driver ノードに Pose Asset プロパティで設定されているポーズ アセットが含まれている場合、以下のオプションを選択することで、Pose Driver で制御するポーズまたはカーブの動作を指定できます。ドロップダウン メニューで、次のオプションを選択できます。

Copy All from PoseAsset (Pose アセットからすべてをコピー):Copy All from PoseAsset (Pose アセットからすべてをコピー):設定された Pose アセット の関連付けられているアニメーション ポーズからすべてのポーズ ターゲットを作成し、設定します。このオプションが選択されている場合は、既存のポーズ ターゲットがすべてオーバーライドされます。 Auto Scale (自動スケーリング):最近傍のポーズ ターゲットとの距離に基づいて、すべての スケーリング 係数を自動的に設定します。

Add Target (ターゲットを追加)

[(+) Add Target (ターゲットを追加)] ボタンを使用して、ポーズ ターゲット追加できます。

pose target property reference specific

Pose Driver ノードに登録された個々のポーズ ターゲットでは、以下のプロパティを調整できます。ポーズ ターゲットのプロパティのリファレンスを以下に示します。

プロパティ

説明

Solo

[Solo] ボタンを長押しすると、ビューポートでポーズ ターゲットをプレビューできます。また、ソロ ポーズをダブルクリックすることで、ポーズ ターゲットのポーズ プレビューをロックすることができます。ロックされたポーズの [Solo] ボタンをダブルクリックすると、そのプレビューのロックが解除されます。

Remove Target

削除したい特定のポーズ ターゲットの横にある [Remove Target] ボタンを選択すると、ターゲットを削除することができます。

Scale

ここでは、ポーズ ターゲットのカーブやポーズのスケールを設定することができます。値に「1」を指定すると、カーブまたはポーズの値がポーズ ターゲットとして使用されます。

Drive

設定されている Pose アセットのどのポーズをポーズ ターゲットを使用して制御するかを選択します。

Hidden

このプロパティを有効にすると、デバッグ描画でこのポーズ ターゲットが非表示になります。

Override

ポーズ ターゲットのブレンド メソッドとブレンド関数のオーバーライドを設定することができます。最初のフィールドでは、以下のオプションからブレンド メソッドを設定することができます。

  • Euclidian

  • Quaternion

  • Swing Angle

  • Twist Angle

  • Default Method

2 番目のフィールドでは、以下のオプションからオーバーライド ブレンド関数を選択することができます。

  • Gaussin

  • Exponential

  • Linear

  • Cubic

  • Quintic

  • Default Function

Curve

ポーズ ターゲットがアニメーション ポーズではなく アニメーション カーブ である場合は、このプロパティを有効にします。アニメーション ポーズをポーズ ターゲットとして使用する場合は、このプロパティを無効にします。

X, Y and Z

ポーズ ターゲットの位置の XY、および Z 値を参照して、調整することができます。デフォルトでは、これは ビューポート緑色のオブジェクト として表示されます。すべての値が「0」に設定されている場合、ポーズ ターゲットの動きは ソース ボーン とその に分離されます。

カーブベースのポーズ ターゲット

ポーズ ターゲットは、Pose アセット を使用するのではなく、アニメーション カーブ で制御することもできます。Pose Driver ノードの [Details] パネルで、[Drive Output] プロパティを [Drive Curves] に設定します。

drive output property in pose driver details panel

[Pose Target] セクションで、[Solo Driven Pose / Curve Only] を有効にし、各カーブのポーズ ターゲットで、**[Curve]* を有効にします。Curve プロパティを有効にすると、プロパティ ウィンドウ内でカーブ グラフを編集できるようになります。

curve property and graph in pose driver details panel

プロパティ リファレンス

Details.png

Pose Driver ノードのプロパティのリファレンスを以下に示します。

プロパティ

説明

Source Bones

キャラクターの スケルトン からボーンを選択して、ソース ボーン として使用し、向きに基づいて、制御されたアニメーションのポーズ パラメータを適用します。多くのソース ボーンを追加できますが、ソース ボーンは 1 つ以上必要です。[Add (+) Indexes (インデックス追加)] で、ポーズの向きを制御するソース ボーンを定義します。

Eval Space Bone

ソース ボーン のトランスフォームを評価するために、キャラクターの スケルトン からオプションのボーンを選択することができます。指定しない場合、ソース ボーンローカル空間 が使用されます。

Eval from Ref Pose

有効にすると、ソース ボーンの向きとトランスフォームが、Reference Pose の位置を基準として評価されます。これは、[Swing][Twist Angle][Distance Method] として使用する場合に推奨します。ツイストはキャラクターの 参照ポーズ から算出されるためです。無効な場合、ソース ボーンローカル空間 が使用されます。

[Eval Space Bone] が設定されている場合、[Eval from Ref Pose] は無視されます。

Only Drive Selected Bones

有効にすると、Only Drive Bones プロパティに設定されていないすべてのボーンが除外されます。

Only Drive Bones

[Only Drive Selected Bones] プロパティが有効な場合にのみ使用されるボーンを、キャラクターのスケルトンから追加および選択することができます。

Solver Type

使用するブレンド ソルバのタイプを指定できます。通常、Additive (加算) ソルバには正規化が必要で、Interpolation (補間) ソルバには必要ありません。補間 ソルバの方がスムーズにブレンドが実行されます。

  • Additive:加算ソルバは、各ターゲットの寄与を合計します。処理は迅速であるものの、適切なカバレッジを得るためにはより多くのターゲットが必要になり、スムーズな結果を得るためには正規化を実行する必要があります。

  • Interpolative:補間ソルバは、距離に基づいて各ターゲットからの値を補間します。入力値がターゲットに囲まれた領域内にある限り、補間は適切に機能し、0 ~ 100% の範囲内の重み値が返されるため、正規化が不要です。また、補間は加算よりも少ないターゲットでよりスムーズな結果を得ることができるものの、計算負荷が増大します。

Radius

各ターゲットのデフォルトの半径を設定できます。

Automatic Radius

有効な場合、このノードは、ターゲット間の平均距離に基づいて半径を自動で選択します。

Function

使用するブレンド関数を設定することができます。次のオプションを使用できます。

  • Gaussin

  • Exponential

  • Linear

  • Cubic

  • Quintic

  • Default Function

Distance Method

ブレンドに使用するメソッドを設定することができます。次のオプションを使用できます。

  • Euclidian

  • Quaternion

  • Swing Angle

  • Twist Angle

  • Default Method

Twist Axis

[Distance Method][Swing Angle] に設定されている場合に使用する軸。X 軸、Y 軸、または Z 軸の制限値を設定することができます。

Weight Threshold

重みを設定できます。この値を下回る重みは、ターゲットの寄与で無視する必要があります。

Normalize Method

重みを正規化するために使用するメソッドを設定することができます。次のオプションがあります。

  • Only Normalize Above One:値が 1 を超える場合は、値が正規化されます。

  • Always Normalize:ゼロ分布の重みがゼロのまま保持されます。。

  • Normalize Within Median:Median Reference プロパティ値内でのみ正規化します。中央値は 最小 角と 最大 角を持つコーンであり、その範囲内で値が非正規化と正規化の間で補間されます。このメソッドは、正規化が常に必要であるボリュームを定義するうえで役立ちます。

  • No Normalization:一切正規化を行いません。これは、すべての入力値がターゲットで囲まれた領域内にあることが判明している場合にのみ、補間メソッドと併用する必要があります。

Median Reference

有効にすると、[Normalize Method][Normalize Within Median] に設定されている場合に、正規化に使用される中央値制限の回転または位置を設定することができます。

Median Min

中央値正規化メソッドで使用する最小距離を設定することができます。

Median Max

中央値正規化メソッドで使用する最大距離を設定します。

Drive Source

ポーズ ターゲット の制御にアルファを適用するために、[Rotation][Translation] のどちらのトランスフォームを読み取るかを選択することができます。

| Pose Asset | 制御する Pose アセット をプロジェクトから選択できます。 |

デバッグ設定

debug properties

Pose Driver ノードのデバッグ設定のリファレンスを以下に示します。

プロパティ

説明

Axis Length

デバッグ描画に使用される軸の長さ (ワールド単位)。

Cone Subdivision

デバッグでコーンを描画するときに使用するサブディビジョン/線の数。

Draw Debug Cones

オンの場合、コーンはデバッグ用に 3D で描画されます

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