Blend ノード は複数のアニメーションをブレンドするために使用されます。このノードは、アニメーション ブループリントの アニメーション グラフ にのみ配置することができます。各 Blend ノードは、複数のポーズと、アルファ (重み値) を受け取ります。このアルファは、最終的な出力における各ポーズの重みを計算するために使用されます。Blend ノードの中には、より複雑で、追加データを入力する必要があるものもあります。
Apply Additive
Apply Additive ノードおよび Apply Mesh Space Additive ノードはいずれも、アルファ値に基づいてベースの通常アニメーション ポーズに加算ポーズを追加します。

ピン | 説明 |
---|---|
入力ピン | |
Base | ベースとして使用する通常のポーズ。 |
Additive | 上にブレンドする加算ポーズ。 |
Alpha | アルファ値として使用するための [0.0, 1.0] の範囲の浮動小数点値です。これにより、加算ポーズが与える影響の度合いが決定されます。0.0 という値は、Additive ポーズが Base 入力ポーズにまったく追加されません。値 1.0 を指定すると、Additive ポーズが Base 入力ポーズに完全に追加されます。 |
出力ピン | |
Pose | ブレンディング適用後の最終ポーズです。 |
受けます。Apply Additive ノードは 4.11 で導入された LOD Threshold システムの影響も受けます。この設定は Apply Additive ノードの [Details (詳細)] パネルにあります。

プロパティ | 説明 |
---|---|
LOD Threshold | このノードで実行が認められている最高 LOD (Level of Detail) です。例えば、LOD Threshold を 2 に設定すると、LOD 2 になるまでは実行しますが、コンポーネントの LOD が 3 になると無効になります。 |
Blend
一般的な Blend ノードは、2 つの入力ポーズをアルファ入力に基づいてそのままミックスします。

ピン | 説明 |
---|---|
入力ピン | |
A | ブレンドする 1 つ目のポーズ。 |
B | ブレンドする 2 つ目のポーズ。 |
Alpha | アルファ値として使用する範囲 [0.0, 1.0] の浮動小数点値。これにより、2 つのポーズの重みを決定します。値 0.0 は入力ポーズ A に最大限の重み付けをし、値 1.0 は入力ポーズ B に最大限の重み付けをします。 |
出力ピン | |
Pose | ブレンディング適用後の最終ポーズです。 |
Blend Poses by Bool
Blend Poses by Bool ノードは、ブール値をキーとして使用して、2 つのポーズを時間ベースでブレンドします。ブール値が true の場合、true 入力ピンに接続されているポーズが使用されます。ブール値が false の場合、false ポーズが使用されます。各ポーズには、ブレンド時間という浮動小数点値があります。この値を使用して、そのポーズにブレンドするのにかかる時間が制御されます。

ピン | 説明 |
---|---|
入力ピン | |
Active Value | これは、2 つのポーズのどちらを使用するかを判断する入力ブール値です。 |
True Pose | ブール値が true に設定されている場合にブレンドするポーズを受け取ります。 |
False Pose | ブール値が false に設定されている場合にブレンドするポーズを受け取ります。 |
True Blend Time | true ポーズにブレンドするのに必要な時間を定義します。 |
False Blend Time | false ポーズにブレンドするのに必要な時間を定義します。 |
出力ピン | |
Pose | ブレンド適用後の最終ポーズ。 |
[Details (詳細)] パネルで、ブレンド時間ピンの表示/非表示を変更できます。また、Transition Type (Standard または Inertialization) や Blend Type を設定できます。
Blend Poses by Int
Blend Poses by int ノードは、整数値をキーとして使用して、任意の数のポーズを時間ベースでブレンドします。入力整数値それぞれに対して、その値の入力ピンに関連付けられたポーズが使用されます。たとえば、整数が 0 に設定されている場合、[Blend Pose 0] に接続されているポーズが使用されます。各ポーズには、ブレンド時間という浮動小数点値があります。この値を使用して、そのポーズにブレンドするのにかかる時間が制御されます。

追加の Blend Pose 入力を作成するには、ノードを右クリックして、コンテキスト メニューから [Add Blend Pin (ブレンドピンを追加)] を選択します。

入力を削除するには、目的の入力を右クリックして [Remove Blend Pin] を選択します。
ピン | 説明 |
---|---|
入力ピン | |
Active Child Index | この入力値の整数によって、使用するポーズが決定されます。 |
Blend Pose X | [Active Child Index] が [X] に設定されている場合にブレンドするポーズを受け取ります。 |
Blend Time X | ポーズ X にブレンドするのに必要な時間を定義します。 |
出力ピン | |
Pose | ブレンド適用後の最終ポーズ。 |
[Details (詳細)] パネルで、ブレンド時間ピンの表示/非表示を変更できます。また、Transition Type (Standard または Inertialization) や Blend Type を設定できます。
Blend Poses by Enum
Blend Poses by Enum ノードは、列挙 (Enum) 値をキーとして使用して、ポーズを時間ベースでブレンドします。デフォルトのポーズを使用でき、追加のポーズは Active Enum Value を通じて接続された列挙値内で特定される値に追加することができます。さらに、各ポーズには、ブレンド時間という浮動小数点値があります。この値を使用して、そのポーズにブレンドするのにかかる時間が制御されます。

ピン | 説明 |
---|---|
入力ピン | |
Active Enum Value | 接続されている列挙値またはインデックス値によって現在選択されているポーズ。 |
Default Pose | デフォルトで使用されるポーズ。 |
Additional Poses | 指定されている列挙値内の値に応じた追加ポーズ。 |
Blend Time | 指定のポーズにブレンドするのに必要な時間を定義します。 |
出力ピン | |
Pose | ブレンド適用後の最終ポーズ。 |
[Details (詳細)] パネルで、ブレンド時間ピンの表示/非表示を変更できます。また、Transition Type (Standard または Inertialization) や Blend Type を設定できます。
Layered Blend Per Bone
Layered blend per bone ノードは、スケルトンに含まれるボーンの特定のサブセットのみに影響するマスクブレンドを行います。たとえば、キャラクターの腰から上だけにアニメーションを適用したい場合は、Blend Per Bone を使用してそれを実現できます。

ピン | 説明 |
---|---|
入力ピン | |
BasePose | ブレンドする 1 つ目のポーズ。 |
BlendPose | ブレンドする 2 つ目のポーズ。 |
BlendWeight | アルファ値として使用する範囲 [0.0, 1.0] の浮動小数点値。これにより、加算ポーズが与える影響の度合いが決定されます。値 0.0 を指定すると、Additive ポーズは Base 入力ポーズにまったく追加されません。値 1.0 を指定すると、Additive ポーズが Base 入力ポーズに完全に追加されます。 |
Add Pin | 追加の Blend Pose 入力と Blend Weight 入力を作成します。 |
出力ピン | |
OutPose | ブレンド適用後の最終ポーズです。 |
Slot

Slot ノードは、所定のアニメーション スロットから結果として得られるアニメーションを再生します。
スロットとアニメーション モンタージュ システムの使用の詳細については、アニメーション モンタージュ を参照してください。
Inertialization
上記の映像で、左側は従来のクロスフェードを使用して腕を振っています。右側は慣性ブレンドを使用しており、終わり方がより自然です。
慣性ブレンドは、従来のアニメーション クロスフェードに代わる高性能な処理であり、ポストプロセスとして自然な遷移を生み出します。慣性ブレンドを有効にすると、ソース ポーズはまったく評価されなくなります。一方、従来のブレンド方法では、遷移中はソース ポーズとターゲット ポーズの両方を評価して、2 つがブレンドされたポーズを作成します。慣性ブレンドを使用するには、アニメーション グラフに Inertialization ノードが含まれていなければなりません。

Inertialization ノードは、グラフ内で、慣性ブレンド リクエストのソースの 後 の任意の場所に配置します。Inertialization ノードは、慣性ブレンドが有効な場合、ターゲット アニメーションに向けて動きを継続するために、ポーズ モーションとカーブの変化を追跡します。このノードは、ソース ポーズに流れる慣性ブレンド リクエストによって有効になります。以下に示すように、State Machine の Transition、各種 Blend ノード、Linked Anim Graph、Linked Anim Layer はいずれも、慣性ブレンドをトリガーできます。

上記の画像で、Blend Poses by bool ノードの [Transition Type] は [Inertialization] に設定されています。慣性ブレンドを使用するには、アニメーション グラフ内で、Inertialization ノードが Blend Poses by bool ノードの後の任意の場所に配置されている必要があります。
以下の画像では、2 つの [Transition (トランジション)] ルールの [Blend Logic (ブレンドロジック)] で [Inertialization] を使用するように設定されています。慣性ブレンドを使用するには、アニメーション グラフ内で、それらの遷移を含む State Machine ノードの後の任意の場所に Inertialization ノードが配置されている必要があります。

State Machine で慣性ブレンドを使用する方法の詳細については、遷移ルール を参照してください。
以下では、「Upper Body」 アニメーション レイヤー が選択されており、[Details] パネルで [Graph Blending] オプションが表示されています。アニメーション レイヤーはブレンドインとブレンドアウトができますが、それには慣性ブレンドが必要です。Inertialization ノードを、このアニメーション ブループリントにリンクする Linked Anim Layer ノードの後の任意の場所に配置する必要があります。負の値は、ブレンド時間が他の入力または出力アニメーション レイヤーによって決定されることを表します。

Inertialization ノードは、慣性ブレンド リクエストのソースの後に接続する必要がありますが、ソースの直近である必要はありません。Inertialization ノードの接続場所を Output Pose に近くすることで、必要に応じて、慣性ブレンドを保留にできます。このように、標準のブレンドをグラフから減らしたり、排除したりして、パフォーマンスを向上できます。グラフに Inertialization ノードがない場合は、[Message Log (メッセージ ログ)] ウィンドウにランタイム エラーが記録されます。

1 つの Inertialization ノードで多数の慣性ブレンド リクエストを処理できます。最小のリクエストされたブレンド時間が使用されます。
慣性ブレンドを考慮してアニメーションとグラフを作成する際は、出力アニメーションがまだ動いているときに遷移を開始することをお勧めします。慣性ブレンドによってスムーズかつ自然に停止位置への遷移が処理されるため、ニュートラルなポーズに戻る必要はありません。慣性ブレンドは、ターゲット アニメーションにモーションを遷移させるポストプロセスなので、短いブレンドが最もよく機能します。慣性ブレンドは別の慣性ブレンドによって中断される場合がありますが、継続的な中断が発生するシナリオは避けるようにします。ポーズを安定した状態に保つために、後続のブレンド時間が削減される可能性があるからです。
必要に応じて、グラフに複数の Inertialization を配置することができます。それぞれのノードが、ソース ポーズからの慣性ブレンド リクエストを処理します。これは、さまざまな空間で慣性ブレンドを実行できることを意味します。たとえば、キャラクターの上半身と下半身に個別の Inertialization ノードを用意して、その後に Layered Blend per boneノードを配置し、それらを最終ポーズに接合するとします。ベース ポーズに適用する前に Inertialization ノードを挿入することで、慣性ブレンドを加算ポーズと一緒に使用することができます。最終ポーズの準備では通常、IK の前に慣性化を実行することで、実質的に、IK 空間で慣性ブレンドを行います。
慣性ブレンドが始まると、ソース ポーズの評価が停止することに留意してください。再生が停止するので、その時点でソース シーケンスからの アニメーション通知 はトリガーされなくなります。既存のゲーム ロジックと通知に慣性化との互換性を持たせるには、リファクタリングが必要な場合があります。