ブレンド スペース

ブレンド スペースは、複数の入力の値に基づいてブレンドされるアニメーションをいくつでもプロットできるグラフです。

ブレンド スペースは、複数のアニメーションまたはポーズを 1 次元または 2 次元のグラフにプロットすることで、それらをブレンドできるアセットです。その後に、ブレンドをゲームプレイ入力または他の変数で制御できる アニメーション ブループリント 内でそのグラフを参照できます。ブレンド スペースを使用すると、実質的にどのようなタイプのブレンド配置でもアニメーションで使用できます。

このドキュメントでは、ブレンド スペースの概要、そのさまざまな種類、そのセットアップについて説明します。

前提条件

  • プロジェクトに、各種の指向性または類似した アニメーション シーケンス がインポートされている スケルタル メッシュ があること。

ブレンド スペースの概要

ブレンド スペースは、サンプル と呼ばれるさまざまなポイントで、グラフに沿ってアニメーションを指定できるアセットです。アニメーション全体は、各軸に対する入力値に基づいてグラフ上のポイント間でブレンドすることで計算されます。たとえば、方向が示された移動と待機アニメーションをブレンドするロコモーション システムを作成できます。

blend space overview

ブレンドスペースの作成およびタイプ

ブレンド スペースにはさまざまなタイプがあり、アセット エディタでの機能、または アニメーション ブループリント 内でどのように使用されるかは、タイプごとに異なります。

以下のブレンド スペースのタイプは、コンテンツ ブラウザで [Add (追加) (+)] ボタンをクリックして [Animation (アニメーション)] メニューから選択することで作成できます。

  • Aim Offset (エイム オフセット)

  • Aim Offset 1D (エイム オフセット 1D)

  • Blend Space (ブレンド スペース)

  • Blend Space 1D (ブレンド スペース 1D)

create blend space

ブレンド スペース

通常のブレンド スペースはさまざまなブレンド スペースのベースであり、グラフに沿ってアニメーションをブレンドする主な機能のすべてを提供し、アニメーション ブループリント内で、ベースレイヤーとして参照され、セカンダリ アニメーションがそこから進むように意図されています。

blend space type

エイム オフセット

エイム オフセットは、メッシュ空間の加算アニメーションがサンプルとして入るように意図されているブレンド スペースです。通常は、武器や他の視線照準のブレンド スペースを作成するために使用されます。Aim Offset Aim Offset ノードは、入力ポーズと法線軸入力を受け取ることになっています。

aim offset type

これらの使用方法の詳細については、「エイム オフセット」を参照してください。

TopicIcon.png

エイム オフセット

エイム オフセットはブレンド スペースの一種で、一般にエイム スペースを作成するために加算ポーズを使用します。

エイム オフセットはブレンド スペースの一種で、一般にエイム スペースを作成するために加算ポーズを使用します。

1D

ブレンド スペースとエイム オフセットのどちらでも単一軸 (1D) のバリアントがサポートされています。これらのブレンド スペースは通常、単一軸のブレンドのみを必要とする場合に使用されます。ブレンド スペース 1D またはエイム オフセット 1D の場合、グラフでは水平軸のみが提供されます。

blend space 1d

1D のブレンド スペースを使用できますが、サンプル配置で単一軸のみを使用ことで、1 次元の方法で通常の 2D グラフを使用することもできます。そうすることで、必要であればブレンド スペースを 1D から 2D に拡張することができます。

ブレンド スペースのセットアップ

ブレンド スペース タイプを作成して開き、以下のセットアップに進みます。

軸と範囲を定義する

ほとんどの場合、ブレンド スペースで使用する軸の名前と値の範囲を定義します。そうするには、[Asset Details (アセット詳細)] パネルに移動し、[Axis Settings] カテゴリにある以下のプロパティを変更します。

  • Name

  • Minimum Axis Value

  • Maximum Axis Value

blend space axis value

ブレンド スペースのタイプに応じて、異なる値のスケールを使用します。たとえば、エイム オフセットを作成してグリッドを回転値と一致させる場合は、-9090 または -180180 を使用します。

アニメーションをグラフに追加する

アセット ブラウザ または コンテンツ ブラウザ からアニメーションをグラフにドラッグすることで、グラフにアニメーションを投入することができます。Shift キーを押したままにすると、グリッド ポイントにアニメーションがスナップされるので、アライメントに便利です。作成するブレンド スペースのタイプに応じて、ループ アニメーションまたはスタティック ポーズのいずれかになります。

blend space add animation

1D のブレンド スペースでは入力は単一軸のみであるため、その単一軸に沿ってのみアニメーションを適用できます。

blend space 1d graph

次の例では、垂直軸と水平軸はそれぞれ方向と速度にマッピングされています。いくつかのサイクルベースのアニメーションが、これらの入力の値に基づいて適切にブレンドされるようにセットアップされて、ゲーム内で表示される最終ポーズになります。

blend space graph axis

アニメーション ブループリントで参照する

グラフを完了したら、アニメーション ブループリント内のブレンド スペース を参照および操作することができます。ブレンド スペースを追加するには、AnimGraph で右クリックして、使用するブレンド スペースを見つけます。コンテンツ ブラウザ からブレンド スペースをグラフにドラッグすることもできます。そうすると、そのアセットを参照している ブレンド スペース プレイヤー が作成されます。

blend space animation blueprints

アニメーション ブループリント でのブレンド スペースの使用の詳細については、「アニメーション ブループリント」ページを参照してください。

TopicIcon.png

アニメーション ブループリントでのブレンド スペース

ブレンド スペースをアニメーション ブループリントで参照または作成して、Unreal Engine でブレンド スペースの使用を始めます。

ブレンド スペースをアニメーション ブループリントで参照または作成して、Unreal Engine でブレンド スペースの使用を始めます。

エディタの概要

使用されているブレンド スペースのタイプに関係なく、これらのアセットのいずれかを開くと次のエディタが表示されます。

blend space editor

  1. アセット詳細: このブレンド スペースのプロパティおよび他の設定を設定できます。

  2. ビューポート: スケルタル メッシュと、グラフに従って現在プレイされているアニメーションが表示されます。

  3. アセットブラウザ: アニメーションをグラフにドラッグする便利な場所として使用できます。

  4. ブレンド グラフ: 1 次元または 2 次元のグラフに沿ってアニメーションをプロットし、ブレンド機能をプレビューします。

アセット詳細パネル

[Asset Details] パネルには、このブレンド スペース アセットのプロパティおよび設定があります。

asset details

名称

説明

Use Grid

これを有効にすると、デフォルトの三角分割の方法ではなく、従来のグリッド モードがブレンドで使用されます。通常、グリッドを使用するのは、ラップ入力の使用など、特定のブレンド配置を行う場合のみです。それ以外のほとんどの場合は、これを無効にして三角分割を使用し、ブレンド結果がより正確になるようにします。

Preferred Triangulation Direction

サンプル間の三角ブレンド角度を制御します。これは、Use Grid が無効になっている場合にのみ、均一に配置されているサンプルにのみ影響を及ぼします。

  • None では、三角ポリゴンがグラフ全体に沿って同じ角度を持つようになります。両側で異なるブレンド結果になるので、対称なブレンド スペースを作成する場合、通常はこのオプションを選択しません。

    triangulation direction none

  • Tangential では、三角ポリゴンがグラフの原点から外に向くようになります。

    triangulation direction tangential

  • Radial では、三角ポリゴンがグラフの原点の方を向くようになります。

    triangulation direction radial

Axis to Scale Animation

Smoothing Time が使用されている場合に、アニメーションの再生速度をスケーリングする軸を指定します。ほとんどの場合、移動アニメーションで速度の軸を指定するために使用されます。

Name

ブレンド グラフおよびブレンド スペースのアニメーション ブループリント ノードに表示される軸の名前です。

Minimum Axis Value

この軸の最小表示値。

Maximum Axis Value

この軸の最大表示値。

Grid Divisions

この軸でのグリッドの分割数。この値を大きくするほど、ブレンド結果の精度が高くなります。また、奇数の値を指定すると、偶数の値とは異なるブレンド結果になります。Use Grid が無効であれば、この値はグリッドの外観が変わるだけです。

Snap to Grid

この軸に沿ってアニメーション ポイントを動かす場合に、グリッド分割 へのスナップを有効にします。また、Shift キーを押したままにすると、すべての軸に対するスナップが一時的に有効になります。

Wrap Input

有効であれば、この軸への入力値が Minimum Axis ValueMaximum Axis Value の範囲を越えることができます。その場合、ブレンド スペースではその軸が循環として扱われ、入力が反対側の逆数値に変換されます。このプロパティを有効にすると、軸のどちらかの端にあるアニメーションが飛び出さないようになります。

Smoothing Time

異なる入力間でこの軸がブレンドされる時間 (秒単位)。この値が「0」であれば、ブレンドされなくなります。プレビュー ポイントと無関係に動くセカンダリ十字線を観察することで、グラフ内でブレンドをプレビューできます。

smoothing time

Smoothing Type

Smoothing Time が使用されている場合に、どのイージング機能が使用されているかを特定します。以下の選択肢があります。

  • Averaged (平均)

  • Linear (リニア)

  • Cubic (キュービック)

  • Ease In/Out (イーズイン/アウト)

  • Exponential (指数関数)

  • Spring Damper (スプリング ダンパー)

Damping Ratio

Smoothing TypeSpring Damper が使用されている場合は、減衰の程度を特定します。この値が「1」未満であれば、オーバーシュートになり、一部の動きがより自然に見えるようになることがあります。

blend space damping ratio

Max Speed

スムージングが適用されている場合の、この軸値の変化の最大速度。Smoothing TypeSpring Damper または Exponential 設定されている場合にのみ使用されます。「0」に設定すると、ブレンド速度が制限されなくなります。

Analysis

サンプルを分析してブレンド スペースに自動的に配置するために、軸ごとに使用される関数を指定することができます。詳細については、「ブレンド スペースの分析」ページを参照してください。

TopicIcon.png

ブレンド スペース分析

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

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

Blend Samples

このセクションには、ブレンド スペースに関与するすべてのサンプルが一覧表示され、それらの詳細を変更または削除できます。ブレンド スペース内のサンプルを右クリックすると、これらの同じプロパティをプレビューすることもできます。

Weight Speed

これは、個々のサンプルのウェイトが変化できる速度を制御します。この値が「2.0」であれば、サンプルはそのウェイトを 0.5 秒で 0 から 1 まで変化できます。この値が「0.0」であれば、Per Bone Overrides が使用されている場合以外は、この機能が無効になります。通常は、これを Smoothing Time または Smoothing Type と併用しないでください。

Smoothing

ウェイト速度のイーズ インとイーズ アウトを有効にします。通常は、これを Smoothing Time または Smoothing Type と併用しないでください。

Per Bone Overrides

異なる速度でブレンドするボーンのさまざまなウェイト速度を指定できる配列。ここで指定されているボーンにはそのすべての子孫も含まれます。

Preview Base Pose

ブレンド スペースまたはエイム オフセットで加算アニメーションを使用している場合に、その加算アニメーションをプレビューするためのベース アニメーションをここで指定できます。

Notify Trigger Mode

複数のサンプル間でブレンドされている場合に、トリガーをどのように アニメーションが通知する かを制御するために、このブレンド スペースで使用されている現在のモード。以下の選択肢があります。

  • All Animations (すべてのアニメーション) では、すべての通知がトリガーされます。

  • Highest Weighted Animation (ウェイトが最も大きいアニメーション) では、ウェイトが最も大きいサンプルからの通知のみがトリガーされます。

  • None では、どの通知もトリガーされません。

ブレンド グラフ

ブレンド グラフはブレンド スペース内の主要なインタラクション パネルです。ここでは、アニメーション サンプルを配置および操作し、ブレンド動作をプレビューし、ブレンドに関する問題をデバッグします。

blend space graph

ツールバー

[Show Triangulation (三角分割を表示)] をクリックすると、三角分割が有効または無効になります。このボタンは、[Asset Details] パネルで Use Grid が無効になっている (ブレンド方法として三角分割が有効である) 場合にのみ表示されます。

blend space triangulation

[Show Sample Names (サンプル名を表示)] をクリックすると、各サンプルの名前が表示されます。

blend space sample name

[Stretch Grid to Fit (フィットするようにグリッドを拡大)] をクリックすると、パネルのサイズに合うようにグラフが拡大されます。これを無効にすると、グラフの各軸の範囲に基づく相対スケールが維持されます。

blend space graph stretch

サンプルが選択されていれば、その軸の座標がツールバーに表示され、ユーザーがそれを操作できます。

blend space sample values

これらのツールバー設定には、グラフ内で右クリックしたときに表示されるコンテキスト メニューからアクセスすることもできます。

blend space graph context menu

インタラクション

グラフ内でサンプルをドラッグすることで、サンプルを動かすことができます。Shift キーを押したままにすると、その軸の Grid Divisions プロパティで定義されているグリッドの増分で、サンプルがグリッドにスナップされます。

blend space move sample

サンプルを右クリックすると、その Blend Sample プロパティを編集できるコンテキスト メニューが表示されます。

blend space sample context menu

プレビュー

Ctrl キーを押しながらグラフ内でカーソルを動かすと、その位置が緑色の十字線でマークされ、そこにあるブレンドがプレビューされます。Smoothing Time プロパティを使用している場合は、2 番目の緑色の十字線も現れて、ターゲット位置とスムージングの両方をプレビューできます。

preview blend space

Ctrl + Alt キーを同時に押したままにすると、影響表示が有効になり、プレビュー ポイントを基準としてさまざまなサンプル ウェイトを確認することができます。

blend space preview influences

デバッグ

ポイント間の三角分割が非常に薄くなるような方法でサンプルが配置されていれば、その三角ポリゴンを調整する必要があることを示すために赤色で表示されます。これは通常、ブレンド スペースの分析 を行っているときに表示されます。

blend space debugging

Use Grid が有効になっていれば、不自然に配置されているサンプルに対して、サンプル ポイントの周りが赤色で強調表示されてこのエラーが示されます。これは、強調表示されているサンプルがブレンド スペースに適切な影響を及ぼしていないことも表しています。

blend space debugging

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