サービス は、Composite ノードもしくは Task ノードにアタッチされ、ブランチの実行中に定義された頻度で実行されるノードです。多くの場合、ブラックボードの確認や更新に使用されます。これらは、他の Behavior Tree システムの従来の Parallel ノードに代わるものです。
Default Focus

Default Focus は、AI コントローラーのフォーカスを設定することにより、ブループリント やコード内でアクタへのショートカットを作成します。AI コントローラーのフォーカスをアクタに設定すると、Blackboard Key にアクセスせずに AI コントローラーに直接アクセスできるようになります。
プロパティ | 説明 |
---|---|
Blackboard Key | GetFocusActor を使って、Actor Key (基本クラスがアクタに設定されたオブジェクト キー) が AI コントローラーからすぐに参照されるようにします。 |
Node Name | Behavior Tree グラフで表示されるノード名です。 |
Run EQS

Run EQS Service ノードを使用すると、Environmental Query System (EQS) テンプレートを指定された間隔で定期的に実行し、指定された Blackboard Key を更新できます。
プロパティ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Query Template | 実行する EQS アセットです。 | ||||||||||
Query Config | クエリに含める追加パラメータのオプションの配列です。 | ||||||||||
EQSQuery Blackboard Key | 指定した EQS クエリ テンプレートの代わりに、EQS クエリ テンプレートを格納する Blackboard Key を使用するオプションです。 | ||||||||||
Run Mode |
|
||||||||||
Blackboard Key | サービスが結果を書き込む Blackboard Key (FVector または アクタ) です。 | ||||||||||
Interval | サービスの後続のティック間の時間スパンを定義します。 | ||||||||||
Random Deviation | ランダムな範囲の値をサービスの Interval 値に追加します。 | ||||||||||
Call Tick on Search Start | タスクの検索でこのノードが入力されたときに、Tick イベントを呼び出します (Search Start も同様に呼び出されます)。 | ||||||||||
Restart Timer on Each Activation | これが設定されている場合、ノードがアクティブになったときに次のティック時間は常にサービスの Interval 値にリセットされます。 | ||||||||||
Node Name | Behavior Tree グラフで表示されるノード名です。 |
カスタム サービス

ブループリント ロジックと (または) パラメータを含むツールバーから [New Service] ボタンをクリックすることで、 サービス を作成することができます。

Blueprint サービスは、C++ サービスよりもパフォーマンスが劣ります。最適化が問題になる場合は、ネイティブ サービスの使用をお勧めします。
サービスの作成時には、以下のプロパティも使用できます。
プロパティ | 説明 |
---|---|
Show Property Details | これを有効にすると、ノードのプロパティに関する詳細情報が表示されます。 |
Show Event Details | これを有効にすると、実装されているイベントに関する詳細情報が表示されます。 |
Node Name | Behavior Tree グラフで表示されるノード名です。 |
Interval | サービスの後続のティック間の時間スパンを定義します。 |
Random Deviation | ランダムな範囲の値をサービスの Interval 値に追加します。 |
Call Tick on Search Start | タスクの検索でこのノードが入力されたときに、Tick イベントを呼び出します (Search Start も同様に呼び出されます)。 |
Restart Timer on Each Activation | これが設定されている場合、ノードがアクティブになったときに次のティック時間は常にサービスの Interval 値にリセットされます。 |