ブレンド グラフ にサンプルを正確に配置することは、面倒で時間がかかります。アニメーションにどのような特性があるのかを正確に把握していない場合は特に大変です。ブレンド スペース分析 は、関連するプロパティの範囲を計算し、その後ブレンド スペースでサンプルを自動で配置するために使用できます。
このドキュメントでは、ブレンド スペースでのブレンド スペース分析システムの概要について説明します。
前提条件
ブレンド スペース を理解していること。
プロジェクトにスケルタル メッシュ キャラクターとインポートが必要なアニメーションがあり、ブレンド スペース グラフのサンプルとして使用すること。
ブレンド スペース分析はアニメーション ブループリントで作成されたブレンド スペースの各ノードには使用できません。
分析を有効にする
ブレンド スペース分析はすべての ブレンド スペース タイプ に対して有効にできます。[Asset Details (アセット詳細)] パネルにある軸関数プロパティを設定することで実行します。[Axis Function (軸関数)] に [None (なし)] 以外の値を設定すると、ブレンド スペース分析が有効になり、作成しているブレンド スペースの種類に応じて値が選択されます。たとえば、エイム オフセット を作成している場合、一般に [Orientation (向き)] を選択します。
次の 軸関数 を利用できます。
軸関数 |
説明 |
---|---|
None (なし) |
この軸に対する分析を無効にします。 |
Position (位置) |
サンプルの継続時間で平均したボーン/ソケットの位置を計算します。 |
Velocity (速度) |
サンプルの継続時間で平均したボーン/ソケットの速度を計算します。 |
Delta Position (位置のデルタ) |
サンプルの継続時間におけるボーン/ソケットの位置の変化を計算します。 |
Orientation (向き) |
サンプルの継続時間で平均したボーン/ソケットの向き (ロール、ピッチ、ヨー) を計算します。 |
Orientation Rate (向きのレート) |
サンプルの継続時間で平均したボーン/ソケットの向き (ロール、ピッチ、ヨー) の変化レートを計算します。 |
Delta Orientation (向きのデルタ) |
サンプルの継続時間におけるボーン/ソケットの向き (ロール、ピッチ、ヨー) の変化を計算します。 |
Angular Velocity (角速度) |
サンプルの継続時間で平均した回転ベクター (度/秒単位) として角速度を計算します。 |
Locomotion (移動) |
足の動きに基づいて二足歩行キャラクターの移動速度を見積もります。 |
Root Motion (ルートモーション) |
ルートの動きに基づいてキャラクターの移動速度を見積もります (アニメーション シーケンスでルート モーション データが必要)。 |
分析プロパティ
軸関数のタイプを選択すると、追加のプロパティが表示されます。これらは分析を設定するのに使用されます。これらのプロパティの多くは、すべてのタイプに共通ですが、特定タイプに限定したプロパティもあります。
名前 |
説明 |
---|---|
Axis |
分析対象のボーン / ソケットの軸。選択した軸関数に基づいて、選択する異なる 軸 があります。
|
Bone/Socket |
分析対象のボーン / ソケットを指定します。Axis が Locomotion に設定されている場合、2 つのボーン / ソケット プロパティが必要で、両足に対応します。一部の分析関数は、ピッチ、ロール、ヨーの値を計算するために、ボーンの向きも使用します。これらの場合、正面 および 右向き の軸が、キャラクターのスケルトンがセットアップされている方法に従って、正しく設定されていることを確認する必要があります。 |
Bone Facing Axis |
Orientation、OrientationRate、または DeltaOrientation が軸関数として選択されている場合、選択ボーン/ソケットの正面の軸。 |
Bone Right Axis |
Orientation、OrientationRate、または DeltaOrientation が軸関数として選択されている場合、選択ボーン/ソケットの右向きの軸。 |
Space |
分析を実行する空間座標で、別のボーンに対してボーンの位置や向きを計算できます。次の空間座標を選択できます。
|
Analysis Space Bone/Socket |
空間が Fixed、Changing、または Moving に設定されている場合、空間分析で使用するため、ボーン/ソケットを指定する場所です。 |
Character Facing Axis |
キャラクターの正面方向、ビューポートの軸表示で決定できます。一般に +Y に設定します。
|
Character Up Axis |
キャラクターの上方向、ビューポートの軸表示で認識できます。一般には +Z に設定します。 |
Start Time Fraction |
分析するアニメーション サンプルの正規化された開始時間です。アニメーションの特定セクションだけを分析する場合に、これを調整することができます。 |
End Time Fraction |
分析するアニメーション サンプルの正規化された終了時間です。アニメーションの特定セクションだけを分析する場合に、これを調整することができます。 |
分析例
以下に示すのは、ブレンド スペース分析を使用して、ブレンド スペース グラフに入力する方法の一例です。
エイム オフセット
エイム オフセット サンプルを自動的に配置する場合、次の方法でブレンド スペース分析を使用できます。この例では、エイム オフセット アセットを作成していることが前提です。
エイム オフセットの [Asset Details (アセット詳細)] で、[Horizontal Axis Function (水平軸関数)] と [Vertical Axis Function (垂直軸関数)] プロパティを見つけ、[Orientation] に設定します。
追加の 分析プロパティ は各軸関数の下に表示されます。[Horizontal Axis (水平軸)] では、次のプロパティを設定します。
Axis を Yaw に設定します。選択ボーン / ソケットをヨー (横方向) 軸に沿って分析します。
Bone/Socket をキャラクターの 武器 または武器がアタッチされた プロップ ボーン に設定します。多くの場合、これは右手の武器ボーンになります。
Bone Facing Axis を、ボーンにアタッチされたとき、武器で狙いを定める向きに一致するように設定します。多くの場合、+X になります。
Bone Right Axis を、ボーンにアタッチされたとき、武器で狙いを定める右向きに一致するように設定します。多くの場合、+Y になります。
[Vertical Axis Function] で、次のプロパティを設定します。
Axis を Pitch に設定します。選択ボーン / ソケットをピッチ (上と下) 軸に沿って分析します。
Bone/Socket をキャラクターの 武器 または武器がアタッチされた プロップ ボーン に設定します。多くの場合、これは右手の武器ボーンになります。
Bone Facing Axis を、ボーンにアタッチされたとき、武器で狙いを定める向きに一致するように設定します。多くの場合、+X になります。
Bone Right Axis を、ボーンにアタッチされたとき、武器で狙いを定める右向きに一致するように設定します。多くの場合、+Y になります。
この時点で [Asset Browser (アセットブラウザ)] からサンプルをドラッグできます。これを実行するとブレンド グラフ内で分析され、自動で配置されます。グラフでは、分析に基づいて、範囲とグリッド分割が自動で調整されます。
Ctrl を押して、グラフ内でカーソルを移動すると、結果をプレビューします。
サンプルを分析した後、ブレンド スペースの軸の範囲を調整する必要があります。その結果、サンプルをさらに正確に取り込みます。
移動
この例で、垂直軸で前方への移動、水平軸で横方向/攻撃の動きをコントロールするブレンド スペースを作成します。ブレンドスペース アセットを作成していることが前提です。
ブレンドスペースの [Asset Details (アセット詳細)] で、[Horizontal Axis Function] および [Vertical Axis Function] プロパティを見つけ、[Locomotion] に設定します。
追加の分析プロパティがそれぞれの軸関数の下に表示されます。[Horizontal Axis] で、次のプロパティを設定します。Horizontal Axis では、次のプロパティを設定します。
Axis を Rightward Speed に設定します。
Bone/Socket 1 をキャラクターの片足のボーンに設定します。
Bone/Socket 2 をもう一方の足のボーンに設定します。
[Vertical Axis Function] で、次のプロパティを設定します。
Axis を **Forward Speed に設定します。
Bone/Socket 1 をキャラクターの片足のボーンに設定します。
Bone/Socket 2 をもう一方の足のボーンに設定します。
この時点で [Asset Browser (アセットブラウザ)] からサンプルをドラッグできます。これを実行するとブレンド グラフ内で分析され、自動で配置されます。グラフでは、分析に基づいて、範囲とグリッド分割が自動で調整されます。
追加のサンプルをドラッグして、分析配列に追加できます。
分析を管理する
グラフでサンプルの位置を調整するとき、[Asset Details (アセット詳細)] の [Analyze all Samples (すべてのサンプルを分析)] をクリックして、すべてのサンプルを分析した位置に戻すことができます。
分析後クリーンアップ
ブレンド スペースの複雑さにより、三角化の問題が発生することがあります。これはグラフの赤線で示されます。
ブレンド スペースを補間するときブレンドに不連続な部分が生まれることがあり、調整が必要です。この問題を解決するために次のいずれかの操作を実行できます。
既存のサンプルを移動します。これにより三角化問題を修正できますが、サンプルの位置が少し不正確になることがあります。
既存のサンプルを複製し、現在の領域の外に配置します。つまり境界が凸型 (円形) の形状になります。
不正な三角形を取り除くため、配置できる新しいサンプルを作成します。
移動の例
この例では、グラフの左側で、2 つのサンプルがほぼ重なっていて、ブレンドの問題を生み出します。追加のサンプルを選択し、グラフの右側で適切な位置に移動できます。狙いは +180 と -180 度の間で区別するからです。
複製の例
この例では、いくつかの境界サンプルにより、サンプルを含む領域のエッジの外または近くでブレンド スペースを使用するとき、問題が発生します。これらのサンプルをグラフのエッジの外側に移動して、長い/細い三角形が生成されないようにすることができます。右クリックして、[Duplicate (複製)] を選択することで複製します。分析された位置で複製サンプルが配置されますが、移動しただけのサンプルは維持されます。