Environmental Query System (EQS) 内では、 ジェネレータ は、テストされウェイト付けされる位置またはアクタ ( アイテム とも呼ばれる) を生成し、ウェイトの一番大きい位置またはアクタが Behavior Tree に返されます。ジェネレータにはさまざまなタイプがあり、情報を取得するために使用できます。また、ジェネレータはブループリントまたは C++ で作成できます。
Actors of Class

Actors of Class ジェネレータでは、[Search Center (検索の中心)] の周囲の指定された [Search Radius (検索半径)] 内にある特定のクラスのアクタをすべて検索します。返されるアクタは、テストでアイテムとして使用できます。

プロパティ | 説明 |
---|---|
Searched Actor Class (検索対象のアクタのクラス) | 検索するアクタのクラス (Pawn、Character など) です。 |
Generate Only Actors in Radius (半径内のアクタのみを生成) | オンの場合、[Search Radius (検索半径)] 内の指定された [Searched Actor Class (検索対象のアクタのクラス)] のアクタのみが返されます。オフの場合、ゲーム ワールドで指定された [Searched Actor Class (検索対象のアクタのクラス)] のすべてのアクタが返されます。また、必要に応じて、このオプションに合わせて、ユーザー定義の [Data Bindings (データ バインディング)] を含めることもできます。 |
Search Radius (検索半径) | 指定された [Searched Actor Class (検索対象のアクタのクラス)] を検索する最大距離です。 ゼロおよび負の値が指定されると、結果は返されません。 |
Search Center (検索の中心) | Querier あるいは他のコンテキストからなど、検索の中心となるコンテキストです。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Composite

EQS Query を設定するときに、テスト ケースに複数のジェネレータを含める必要がある場合があります。Composite ノードを使用すると、テストで使用できる複数のジェネレータを 1 つの配列に追加できます。

プロパティ | 説明 |
---|---|
Generators (ジェネレータ) | 複数のジェネレータを追加して、テストに含めることができます。 |
Allow Different Item Types (さまざまなアイテム タイプを許可する) | さまざまなアイテム タイプのジェネレータにテストを実行できます。 ジェネレータは raw データでは ForcedItemType を使用します。また、子ジェネレータは適切なメモリ レイアウトを確保する必要があります。これは、子ジェネレータが独自のアイテム タイプを使用して、メモリ ブロックに書き込むためです。例えば、データは ForcedItemType によって割り当てられたブロックに収まる必要があり、テストは ForcedItemType を使用してアイテムの位置/プロパティを読み取ります。 |
Forced Item Type (アイテム タイプを強制する) | テストで使用するアイテムのタイプ (Actor、Direction、Point など) です。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Current Location

Current Location ジェネレータを使用すると、テストを検証するために、指定された [Query Context (クエリ コンテキスト)] の位置を取得できます。

プロパティ | 説明 |
---|---|
Query Context (クエリ コンテキスト) | テストで使用するコンテキストとその現在の位置です。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Custom Generators
エンジンが提供するジェネレータのタイプに加えて、EnvQueryGenerator_BlueprintBase クラス型の新しいブループリントを作成すると、独自のカスタム ジェネレータを作成できます。

C++ で開発されたジェネレータは、通常、ブループリントを使用して開発されたジェネレータよりも迅速に実行されます。
作成されると、カスタム ジェネレータは、次のように Environmental Query で使用可能になります。

カスタム ジェネレータ内には、Do Item Generation というオーバーライド可能な関数があります。

この関数をオーバーライドすると位置の配列が得られます。これは、Environmental Query から渡されたコンテキストの位置です。

コンテキストに応じて、配列は異なる場合があります。これは、例えば Querier の位置を含む単一のエントリだけの配列であったり、レベル内のすべての体力ピックアップの位置である場合もあります。
関数は 1 つの値のみを返すため、Do Item Generation 関数には、Environment Query に渡すことができる Add Generated Actor と Add Generated Vector という 2 つの配列があります。

Add Generated Actor ノードは、アクタをアクタの戻り配列に追加します。このノードは、位置の値も返すために、Add Generated Vector ノード (以下) と併用することもできます。ジェネレータが実際にビヘイビア ツリーに渡す内容を決定する方法は、Environment Query ノードから設定しているブラックボード キーの内容に基づいています。

Points: Circle

Points: Circle ジェネレータは [Circle Center (円の中心)] からトレースを放射状に拡げ、(生成された円の) 半径のエッジ上のヒットをアイテムとして返します。

プロパティ | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Circle Radius (円の半径) | Circle Center コンテキストから拡がる円の最大半径です。 | ||||||||
Space Between (アイテム間のスペース) | 円の外側のエッジ上に生成されるアイテム間のスペース (cm 単位) です。 | ||||||||
Number Of Points (ポイント数) | 円上に生成されるアイテムの数です。 | ||||||||
Arc Direction (円弧の方向) | 円弧の方向を決定するモードを定義します。[Two Points (2 つのポイント)](コンテキストの位置から他のコンテキストの位置までの方向) または [Rotation (回転)](方向として使用するコンテキストの回転)を選択できます。 | ||||||||
Arc Angle (円弧の角度) | 円弧を度単位で測定した角度を定義します。 | ||||||||
Circle Center (円の中心) | 円の中心として使用されるコンテキストです。 | ||||||||
Ignore Any Context Actors when Generating Circle (円の生成時にコンテキスト アクタを無視する) | オンの場合、円を生成するときにコンテキスト アクタへのトレースを無視します。 | ||||||||
Circle Center ZOffset (円の中心の Z オフセット) | Z 軸でコンテキストに適用するオプションのオフセットです。 | ||||||||
Trace Data (トレース データ) | トレースの実行方法に関するオプションです。
|
||||||||
Projection Data (投影データ) | 結果のアイテムを NavMesh 上に投影するかどうか (およびどの NavMesh データセットを使用するか) を指定します。 | ||||||||
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
||||||||
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Points: Cone

Points: Cone は、[Center Actor (Center アクタ)] から指定された [Cone Degrees (コーン角度)] のコーンの形状で、アイテムとしてトレースを放射状に拡げます。

プロパティ | 説明 |
---|---|
Aligned Points Distance (整列されたポイント間の距離) | 同じ角度上の各ポイント間の距離です。 |
Cone Degrees (コーンの角度) | 生成されたコーンの最大角度です。 |
Angle Step (角度の刻み) | 角度の増分の刻みです。角度の刻みは 1 以上である必要があります。値が小さいほど、生成されるアイテムが少なくなります。 |
Range (範囲) | コンテキストからコーンを生成する距離です。 |
Center Actor (Center アクタ) | 向かい合う方向でコーンを生成する 1 つまたは複数のアクタです。 |
Include Context Location (コンテキストの位置を含める) | アイテムを生成するときに [Center Actor (Center アクタ)] の位置を含めるかどうかを指定します。 このオプションでは、MinAngledPointsDistance パラメータがスキップされます。 |
Projection Data (投影データ) | 結果のアイテムを NavMesh 上に投影するかどうか (およびどの NavMesh データセットを使用するか) を指定します。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Points: Donut

Points: Donut ジェネレータは、[Center (中心)] コンテキストから放射状に拡がる、ユーザーが指定した [Number Of Rings (リングの数)] を持つ形状のトレースを作成します。

プロパティ | 説明 |
---|---|
Inner Radius (内半径) | ポイントとコンテキスト間の最小距離です。 |
Outer Radius (外半径) | ポイントとコンテキスト間の最大距離です。 |
Number Of Points (ポイント数) | 生成するリング数です。 |
Points Per Ring (リングあたりのポイント数) | 各リングに対して生成するアイテムの数です。 |
Arc Direction (円弧の方向) | 円弧の方向を決定するモードを定義します。[Two Points (2 つのポイント)] (あるコンテキストの位置から別のコンテキスト位置までの方向) または [Rotation (回転)] (方向として使用するコンテキストの回転) を選択できます。 |
Arc Angle (円弧の角度) | 円弧を度単位で測定した角度を定義します。 |
Use Spiral Pattern (渦巻きパターンを使用する) | オンの場合、ホイールのリングが渦巻きパターンで回転します。オフの場合、リングはまったく回転しないため、ホイールのスポークのように表示されます。 |
Center (中心) | Querier あるいはその他のコンテキストなどからの検索の中心となるコンテキストです。 |
Projection Data (投影データ) | 結果のアイテムを NavMesh 上に投影するかどうか (およびどの NavMesh データセットを使用するか) を指定します。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Points: Grid

Points: Grid ジェネレータでは、[Generate Around (周りに生成)] で割り当てられた指定の Querier の周囲にアイテムのグリッドを生成します。

プロパティ | 説明 |
---|---|
GridHalfSize | 生成するアイテムのグリッドの高さと幅です。 |
Space Between (アイテム間の距離) | グリッドのアイテム間の距離です。 |
Generate Around (周りに生成) | 周りにグリッドを生成するために使用するコンテキストです。 |
Projection Data (投影データ) | 結果のアイテムを NavMesh 上に投影するかどうか (およびどの NavMesh データセットを使用するか) を指定します。 これにより、壁の内側にあるアイテムやブロックされているアイテムが NavMesh に移動します。このため、グリッド線が NavMesh のエッジを超えていると、バンチングが生成される可能性があります。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Points: Pathing Grid

Points: Pathing Grid を使用すると、特定のコンテキストの位置の周りにグリッドを生成できます。

プロパティ | 説明 |
---|---|
Path to Item (アイテムへのパス) | パス検索をアイテムに近づく (オン) 方向で行うか、アイテムから遠ざかる (オフ) 方向で行うかを指定します。 |
Navigation Filter (ナビゲーション フィルタ) | パス検索に使用するナビゲーション フィルタです。 |
GridHalfSize | 正方形の範囲の半分 (エッジの距離) です。 |
Space Between (ポイント間のスペース) | グリッド上のポイントの生成密度を定義します。 |
Generate Around (周りに生成) | 周りにグリッドを生成するために使用するコンテキストです。 |
Projection Data (投影データ) | 結果のアイテムを NavMesh 上に投影するかどうか (およびどの NavMesh データセットを使用するか) を指定します。 これにより、壁の内側にあるアイテムやブロックされているアイテムが NavMesh に移動します。このため、グリッド線が NavMesh のエッジを超えていると、バンチングが生成される可能性があります。 |
Option Name (オプション名) | このプロパティは ActorsOfClass ジェネレータの基本クラスから継承されます。主に、このジェネレータの名前 (HUD、出力メッセージなど) を表示するときに使用されます。 |
Auto Sort Tests (自動ソート テスト) | オンの場合、クエリが実行される前、テストが最高のパフォーマンスが得られるように自動的にソートされます。 |
Scan Range Multiplier (スキャン範囲の乗数) | ポイントとコンテキスト間の最大距離の乗数です。 |