他の Behavior Tree システムで条件式としても知られる デコレーター は、Composites または Task ノードのいずれかにアタッチされ、ツリーのブランチあるいはノード 1 つでも実行可能かどうかの判断をします。
ブラックボード
Blackboard ノードは、任意の Blackboard Key に値が設定されているかを確認します。
| プロパティ |
説明 |
| Notify Observer |
| |
|
| On Result Change |
条件が変更された時のみ再評価されます。 |
| On Value Change |
評価された Blackboard Key が変更された時のみ再評価されます。 |
|
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Blackboard Key |
|
| Key Query |
| |
|
| Is Set |
値が設定されているかどうか。 |
| Is Not Set |
値が設定されていないかどうか。 |
|
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Check Gameplay Tag Condition
| プロパティ |
説明 |
| Actor to Check |
チェックするアクタへのリファレンスを含む Blackboard Key です。 |
| Tags to Match |
デコレーターを Gameplay Tags プロパティにリストされているタグの Any あるいは All に一致させるかどうか。 |
| Gameplay Tags |
Gameplay Tag エディタをロードして、デコレーターで使うタグを選択します。 |
| Inverse Condition |
デコレーターの結果を反転するかどうか (「false」を「true」に、「true」は「false」になります)。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Compare BBEntries
Compare BBEntries (Blackboard Entries) ノードは 2 つの Blackboard Key の値を比較し、その結果 (「等しい」か「等しくない」か) 次第でノードの実行をブロックあるいは許可します。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Operator |
| |
|
| Is Equal To |
2 つのキーが等しいかどうか。 |
| Is Not Equal To |
2 つのキーが異なるかどうか。 |
|
| Blackboard Key A |
この比較で使用される最初のキーです。 |
| Blackboard Key B |
この比較で使用される 2 番目のキーです。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
コンポジット
Composite Decorator ノードを使用すると、組み込みノードよりもさらに高度なロジックを設定できますが、完全なブループリントほど複雑なことはできません。Composite デコレーターをノードに追加して Composite デコレーターをダブルクリックすると、コンポジットのグラフが呼び出されます。グラフ内で 右クリック すると、Decorator ノードをスタンドアローン型のノードとして追加し、AND ノード、OR ノード、NOT ノードを使用して接続し、さらに高度なロジックを作成することができます。
画像をクリックしてフルサイズで表示
| プロパティ |
説明 |
| Composite Name |
Behavior Tree グラフで表示されるノード名です。 |
| Show Operations |
操作がプレーンテキストでノード上にリスト表示されます。 |
この方法で Composite デコレーターを使用すると、メモリとパフォーマンスに影響します。C++ を使えば、同じカスタム ビヘイビアをより効率的に実行するデコレーターを作成できます。
Conditional Loop
Key Query 条件が一致している限り、このデコレーターはループにアタッチされているノードを持ちます。
| プロパティ |
説明 |
| Key Query |
デコレーターが操作する Blackboard Key です。
|
| Blackboard Key |
| |
|
| Is Set |
値が設定されているかどうか。 |
| Is Not Set |
値が設定されていないかどうか。 |
|
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Cone Check
Cone Check デコレーターは 3 つのベクター キーを受け取ります。1 つ目がコーンの開始位置のキー、2 つ目がコーンがポイントする向きを定義するキー、3 つ目はコーンの内部にその位置があるかを確認するキーです。Cone Half Angle プロパティを使って、コーンの角度を定義します。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Cone Half Angle |
コーンの半分の角度です。つまり、90 度のコーンの場合、値は 45 度に設定されます。 |
| Cone Origin |
コーンの開始位置 (コーンの先端) です。 |
| Cone Direction |
コーンの底面が指す方向です。 |
| Observed |
コーン内部にあるかどうかを確認するためにチェックされている位置、あるいはアクタです。 |
| Inverse Condition |
デコレーターの結果を反転するかどうか (「false」を「true」に、「true」は「false」になります)。
|
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Cooldown
Cooldown ノードは、クールダウン時間が終了するまで、ノードまたはブランチの実行をロックします。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Cool Down time |
Cooldown デコレーターがこのノードの実行をロックする秒単位の時間です。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
カスタム デコレーター
独自のブループリント ロジックと (または) パラメータを持つ新しい デコレーター を作成するには、[New Decorator] ボタンをクリックします。
カスタム ロジックには、以下のパラメータも含まれます。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Show Property Details |
ノードのプロパティに関する詳細情報を表示します。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
| Inverse Condition |
デコレーターの結果を反転するかどうか (「false」を「true」に、「true」は「false」になります)。
|
Does Path Exist
Does Path Exist ノードは、パスが Blackboard Key A と Blackboard Key B の 2 つのベクターからパスを作成できるかどうかをチェックします。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Blackboard Key A |
パスの最初の位置です。 |
| Blackboard Key B |
パスの 2 番目の位置です。 |
| Path Query Type |
| |
|
| NavMesh Raycast 2D |
非常に速い |
| Hierarchical Query |
速い |
| Regular Path Finding |
遅い |
|
| Inverse Condition |
デコレーターの結果を反転するかどうか (「false」を「true」に、「true」は「false」になります)。
|
| Filter Class |
使用するナビゲーション データを設定します。None に設定すると、デフォルトのナビゲーション データが使用されます。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Force Success
Force Success デコレーターは、ノード結果を成功に変更します。
| プロパティ |
説明 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Is At Location
Is At Location Decorator ノードは、AI で制御された Pawn が指定の位置にあるかどうかを確認します。
| プロパティ |
説明 |
| Acceptable Radius |
ある位置にいることを感知する距離の閾値 |
| Parametrized Acceptable Radius |
パラメータ ベースの Acceptable Radius (例:Random Number)。 |
| Geometric Distance Type |
Path Finding Based Test を無効にすると、距離タイプを 3D、2D、または Z 値に設定できます。 |
| Use Nav Agent Goal Location |
アクタに移動し、このアクタが Nav Agent である場合は、その Nav Agent の Nav Agent Goal Location に移動します。
|
| Path Finding Based Test |
有効にすると、結果はパスの追跡中に実行されたテストと一致します。無効になっている場合は、Distance Type で構成されている Geometric Distance を使用します。 |
| Inverse Condition |
デコレーターの結果を反転するかどうか (「false」を「true」に、「true」は「false」になります)。
|
| Blackboard Key |
テスト対象の Blackboard Key の値です。 |
| Node Name |
ノードのユーザー定義名です。 |
Is BBEntry Of Class
Is BBEntry Of Class Decorator ノードは、指定された Blackboard Key が指定された Class であるかどうかを判断するためのノードです。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Test Class |
Blackboard Key プロパティの Object の Class に対してテストされる Class 型です。 |
| Blackboard Key |
テストされる Blackboard Key です。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Keep in Cone
Keep in Cone Decorator ノードは、観察された位置がまだコーン内にあるかどうかに基づいて条件を設定するノードです。コーンの方向は、最初に関連付けられたノードで計算されます。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Cone Half Angle |
コーンの半分の角度です。つまり、90 度のコーンの場合、値は 45 度に設定されます。 |
| Cone Origin |
コーンの開始位置 (コーンの先端) です。 |
| Observed |
コーン内部に保持する位置あるいはアクタです。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Loop
Loop デコレーターは、ノードあるいはブランチを回数分、あるいは無限にループさせます。
| プロパティ |
説明 |
| Num Loops |
実行するループ回数です。 |
| Infinite Loop |
このループを無限にループさせるかどうか。 |
| Infinite Loop Timeout Time |
Infinite Loop が有効な場合のタイムアウト値 (負の値は無限ループします)。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Set Tag Cooldown
Set Tag Cooldown ノードは、Gameplay Tag のクールダウン時間を設定するノードです。
| プロパティ |
説明 |
| Cooldown Tag |
Cooldown に使用する GameplayTag です。 |
| Cooldown Duration |
Cooldown の秒単位の時間です。 |
| Add to Existing Duration |
ある GameplayTag 上に既に Cooldown がある場合、さらに追加するかどうかを決めます。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Tag Cooldown
Gameplay Tag のクールダウン タイマーが時間切れになったかどうかに基づいて条件を設定する Decorator ノードです。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Cooldown Tag |
Cooldown に使用する GameplayTag です。 |
| Cooldown Duration |
Cooldown の秒単位の時間です。 |
| Add to Existing Duration |
ある GameplayTag 上に既に Cooldown がある場合、さらに追加するかどうかを決めます。 |
| Adds/Sets Cooldown on Deactivation |
デコレーターが非アクティブの時、Cooldown Tag の値を追加、もしくは設定するかどうかを決めます。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |
Time Limit
Time Limit デコレーターは、ブランチまたはノードに、停止または失敗するまでの終了時間の長さを設定します。ノードがフォーカスされる度に、タイマーはリセットされます。
| プロパティ |
説明 |
| Observer Aborts |
| |
|
| None |
何も中止しません。 |
| Self |
このノード自身、およびその下で実行されているサブツリーをすべて中止します。 |
| Lower Priority |
このノードの右側にあるノードをすべて中止します。 |
| Both |
このノード自身、およびその下で実行されているすべてのサブツリー、およびこのノードの右側にあるすべてのノードを中止します。 |
|
| Time Limit |
ノードが失敗するまでの秒単位の時間制限です。 |
| Node Name |
Behavior Tree グラフで表示されるノード名です。 |