ブレンド スペース分析

ブレンド スペース分析を使用して、ブレンド スペース サンプルの位置を正確に計算し、配置します。

ブレンド グラフ にサンプルを正確に配置することは、面倒で時間がかかります。アニメーションにどのような特性があるのかを正確に把握していない場合は特に大変です。ブレンド スペース分析 は、関連するプロパティの範囲を計算し、その後ブレンド スペースでサンプルを自動で配置するために使用できます。

このドキュメントでは、ブレンド スペースでのブレンド スペース分析システムの概要について説明します。

前提条件

  • ブレンド スペース を理解していること。

  • プロジェクトにスケルタル メッシュ キャラクターとインポートが必要なアニメーションがあり、ブレンド スペース グラフのサンプルとして使用すること。

ブレンド スペース分析はアニメーション ブループリントで作成されたブレンド スペースの各ノードには使用できません。

分析を有効にする

ブレンド スペース分析はすべての ブレンド スペース タイプ に対して有効にできます。[Asset Details (アセット詳細)] パネルにある軸関数プロパティを設定することで実行します。[Axis Function (軸関数)][None (なし)] 以外の値を設定すると、ブレンド スペース分析が有効になり、作成しているブレンド スペースの種類に応じて値が選択されます。たとえば、エイム オフセット を作成している場合、一般に [Orientation (向き)] を選択します。

blend space analysis

次の 軸関数 を利用できます。

軸関数

説明

None (なし)

この軸に対する分析を無効にします。

Position (位置)

サンプルの継続時間で平均したボーン/ソケットの位置を計算します。

Velocity (速度)

サンプルの継続時間で平均したボーン/ソケットの速度を計算します。

Delta Position (位置のデルタ)

サンプルの継続時間におけるボーン/ソケットの位置の変化を計算します。

Orientation (向き)

サンプルの継続時間で平均したボーン/ソケットの向き (ロール、ピッチ、ヨー) を計算します。

Orientation Rate (向きのレート)

サンプルの継続時間で平均したボーン/ソケットの向き (ロール、ピッチ、ヨー) の変化レートを計算します。

Delta Orientation (向きのデルタ)

サンプルの継続時間におけるボーン/ソケットの向き (ロール、ピッチ、ヨー) の変化を計算します。

Angular Velocity (角速度)

サンプルの継続時間で平均した回転ベクター (度/秒単位) として角速度を計算します。

Locomotion (移動)

足の動きに基づいて二足歩行キャラクターの移動速度を見積もります。

Root Motion (ルートモーション)

ルートの動きに基づいてキャラクターの移動速度を見積もります (アニメーション シーケンスでルート モーション データが必要)。

分析プロパティ

軸関数のタイプを選択すると、追加のプロパティが表示されます。これらは分析を設定するのに使用されます。これらのプロパティの多くは、すべてのタイプに共通ですが、特定タイプに限定したプロパティもあります。

analysis properties

名前

説明

Axis

分析対象のボーン / ソケットの軸。選択した軸関数に基づいて、選択する異なる があります。

  • PositionVelocityDelta Position、および Angular Velocity では分析の軸に XY、または Z を使用します。

  • OrientationOrientation Rate、および Delta Orientation では分析の軸に PitchRoll、または Yaw を使用します。

  • Locomotion および Root Motion では、分析の軸に、SpeedDirectionForward SpeedRightward SpeedUpward SpeedForward Slope、および Rightward Slope を使用します。

Bone/Socket

分析対象のボーン / ソケットを指定します。AxisLocomotion に設定されている場合、2 つのボーン / ソケット プロパティが必要で、両足に対応します。一部の分析関数は、ピッチ、ロール、ヨーの値を計算するために、ボーンの向きも使用します。これらの場合、正面 および 右向き の軸が、キャラクターのスケルトンがセットアップされている方法に従って、正しく設定されていることを確認する必要があります。

Bone Facing Axis

OrientationOrientationRate、または DeltaOrientation が軸関数として選択されている場合、選択ボーン/ソケットの正面の軸。

Bone Right Axis

OrientationOrientationRate、または DeltaOrientation が軸関数として選択されている場合、選択ボーン/ソケットの右向きの軸。

Space

分析を実行する空間座標で、別のボーンに対してボーンの位置や向きを計算できます。次の空間座標を選択できます。

  • World (ワールド) 空間は、各アニメーション シーケンスの先頭でキャラクターがいる空間を表し、ビューポートの軸表示から決定されます。

  • Fixed (固定) 空間は、特定のボーン/ソケットの空間を使用し、アニメーション シーケンスの間で更新されません。使用すると、アニメーション シーケンスの先頭フレームから、ボーン/ソケットを使用する独自の「ワールド空間」座標フレームを指定できます。

  • Changing (変更) は、Fixed と同様ですが、アニメーション シーケンスで分析されている各フレームに対して、空間が更新されます。

  • Moving (移動) 空間は、Changing と同様ですが、ボーン空間を基準に速度が計算される点が異なります。

Analysis Space Bone/Socket

空間が FixedChanging、または Moving に設定されている場合、空間分析で使用するため、ボーン/ソケットを指定する場所です。

Character Facing Axis

キャラクターの正面方向、ビューポートの軸表示で決定できます。一般に +Y に設定します。

character facing axis

Character Up Axis

キャラクターの上方向、ビューポートの軸表示で認識できます。一般には +Z に設定します。

Start Time Fraction

分析するアニメーション サンプルの正規化された開始時間です。アニメーションの特定セクションだけを分析する場合に、これを調整することができます。

End Time Fraction

分析するアニメーション サンプルの正規化された終了時間です。アニメーションの特定セクションだけを分析する場合に、これを調整することができます。

分析例

以下に示すのは、ブレンド スペース分析を使用して、ブレンド スペース グラフに入力する方法の一例です。

エイム オフセット

エイム オフセット サンプルを自動的に配置する場合、次の方法でブレンド スペース分析を使用できます。この例では、エイム オフセット アセットを作成していることが前提です。

エイム オフセットの [Asset Details (アセット詳細)] で、[Horizontal Axis Function (水平軸関数)][Vertical Axis Function (垂直軸関数)] プロパティを見つけ、[Orientation] に設定します。

aim offset analysis orientation

追加の 分析プロパティ は各軸関数の下に表示されます。[Horizontal Axis (水平軸)] では、次のプロパティを設定します。

  • AxisYaw に設定します。選択ボーン / ソケットをヨー (横方向) 軸に沿って分析します。

  • Bone/Socket をキャラクターの 武器 または武器がアタッチされた プロップ ボーン に設定します。多くの場合、これは右手の武器ボーンになります。

  • Bone Facing Axis を、ボーンにアタッチされたとき、武器で狙いを定める向きに一致するように設定します。多くの場合、+X になります。

  • Bone Right Axis を、ボーンにアタッチされたとき、武器で狙いを定める右向きに一致するように設定します。多くの場合、+Y になります。

aim offset horizontal axis properties

[Vertical Axis Function] で、次のプロパティを設定します。

  • AxisPitch に設定します。選択ボーン / ソケットをピッチ (上と下) 軸に沿って分析します。

  • Bone/Socket をキャラクターの 武器 または武器がアタッチされた プロップ ボーン に設定します。多くの場合、これは右手の武器ボーンになります。

  • Bone Facing Axis を、ボーンにアタッチされたとき、武器で狙いを定める向きに一致するように設定します。多くの場合、+X になります。

  • Bone Right Axis を、ボーンにアタッチされたとき、武器で狙いを定める右向きに一致するように設定します。多くの場合、+Y になります。

aim offset vertical axis properties

この時点で [Asset Browser (アセットブラウザ)] からサンプルをドラッグできます。これを実行するとブレンド グラフ内で分析され、自動で配置されます。グラフでは、分析に基づいて、範囲とグリッド分割が自動で調整されます。

add samples to analyze

Ctrl を押して、グラフ内でカーソルを移動すると、結果をプレビューします。

preview analysis results

サンプルを分析した後、ブレンド スペースの軸の範囲を調整する必要があります。その結果、サンプルをさらに正確に取り込みます。

移動

この例で、垂直軸で前方への移動、水平軸で横方向/攻撃の動きをコントロールするブレンド スペースを作成します。ブレンドスペース アセットを作成していることが前提です。

ブレンドスペースの [Asset Details (アセット詳細)] で、[Horizontal Axis Function] および [Vertical Axis Function] プロパティを見つけ、[Locomotion] に設定します。

locomotion analysis

追加の分析プロパティがそれぞれの軸関数の下に表示されます。[Horizontal Axis] で、次のプロパティを設定します。Horizontal Axis では、次のプロパティを設定します。

  • AxisRightward Speed に設定します。

  • Bone/Socket 1 をキャラクターの片足のボーンに設定します。

  • Bone/Socket 2 をもう一方の足のボーンに設定します。

locomotion analysis properties

[Vertical Axis Function] で、次のプロパティを設定します。

  • Axis を **Forward Speed に設定します。

  • Bone/Socket 1 をキャラクターの片足のボーンに設定します。

  • Bone/Socket 2 をもう一方の足のボーンに設定します。

locomotion analysis properties

この時点で [Asset Browser (アセットブラウザ)] からサンプルをドラッグできます。これを実行するとブレンド グラフ内で分析され、自動で配置されます。グラフでは、分析に基づいて、範囲とグリッド分割が自動で調整されます。

analyze locomotion samples

追加のサンプルをドラッグして、分析配列に追加できます。

additional samples

分析を管理する

グラフでサンプルの位置を調整するとき、[Asset Details (アセット詳細)] の [Analyze all Samples (すべてのサンプルを分析)] をクリックして、すべてのサンプルを分析した位置に戻すことができます。

reset analysis

分析後クリーンアップ

ブレンド スペースの複雑さにより、三角化の問題が発生することがあります。これはグラフの赤線で示されます。

blend space analysis red error

ブレンド スペースを補間するときブレンドに不連続な部分が生まれることがあり、調整が必要です。この問題を解決するために次のいずれかの操作を実行できます。

  • 既存のサンプルを移動します。これにより三角化問題を修正できますが、サンプルの位置が少し不正確になることがあります。

  • 既存のサンプルを複製し、現在の領域の外に配置します。つまり境界が凸型 (円形) の形状になります。

  • 不正な三角形を取り除くため、配置できる新しいサンプルを作成します。

移動の例

この例では、グラフの左側で、2 つのサンプルがほぼ重なっていて、ブレンドの問題を生み出します。追加のサンプルを選択し、グラフの右側で適切な位置に移動できます。狙いは +180 と -180 度の間で区別するからです。

move sample to fix analysis

複製の例

この例では、いくつかの境界サンプルにより、サンプルを含む領域のエッジの外または近くでブレンド スペースを使用するとき、問題が発生します。これらのサンプルをグラフのエッジの外側に移動して、長い/細い三角形が生成されないようにすることができます。右クリックして、[Duplicate (複製)] を選択することで複製します。分析された位置で複製サンプルが配置されますが、移動しただけのサンプルは維持されます。

perimeter blend space fix analysis

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