Environmental Query System (EQS) で テスト を 実行すると、コンテキスト (すなわち、基準となる枠組み) を考慮して、ジェネレータ から生成されたどの アイテム が「最も良い」選択肢であるかを特定することができます。エンジンでは複数のテストが提供されています。これらのテストでは、「他の位置をアイテムからトレース (見ることが) できるか」または「アイテムとそのコンテキスト間の距離は指定の範囲内になっているか」など、大多数のユースケースが網羅されています。また、ジェネレータには複数のテストを追加できますが、これは結果を絞り込む効果的な方法であり、最も良いオプションを提供します。
デフォルトのエンジン テストで希望の結果が得られない場合は、C++ コードを使用してカスタム テストを作成することができます。
テストの共通プロパティ
各テスト タイプには、テストの実行方法を定義できる固有のプロパティが複数あります。ただし、テストの目的と結果の処理内容を定義するために使用する全テストに共通のプロパティも複数あります。例えば、結果をフィルタリングするためにテストを使用するのか、または結果をスコアリングして、ウェイト付けするためにテストを使用するのか、あるいはその両方を実行するためにテストを使用するのかは、共通プロパティで指定します。EQS エディタでテストを選択する際には、[Details (詳細)] パネルの複数のプロパティの中の [Test Purpose (テスト目的)] を定義できます。
テストのプロパティ
プロパティ | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Test Comment | テストの用途に関するオプションのコメントまたは説明です。これは、テストの目的が明確でない場合、特に同じタイプのテストが複数ある場合に役立ちます。 | ||||||||
Test Purpose | テストで使用できる追加オプションとそのテストの用途を定義します。
|
フィルタのプロパティ
次のオプションは、[Test Purpose (テスト目的)] が [Filter (フィルタ)] に設定されている (または [Filter and Score (フィルタとスコア)] に設定されている) 場合に使用できます。
フィルタリングは、除外されたアイテムのスコアを計算しないように、スコアリングの前に実行されます。
プロパティ | 説明 |
---|---|
Bool Match | スコアリング係数を指定する場合に、照合する値 (true または false) です。テストを実行して、この値に一致しない場合はスコアは変わりません。例えば、Trace テストでヒットしたかどうかの true/false や、 Pathing でパスが存在するか?についての true/false を照合します。 |
**Multiple Context Filter Op** | Distance To コンテキストで複数のアイテムが返される場合のフィルタリング演算子を定義します。[All Pass (すべて合格)] はすべてのコンテキストが合格する必要があることを示し、[Any Pass (いずれが合格)] は 1 つ以上のコンテキストが合格する必要があることを示します。 |
Float Value Min | この値以下のすべての値をフィルタリングします。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Float Value Max | この値以上のすべての値をフィルタリングします。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Filter Type | [Minimum (最小)]、[Maximum (最大)]、または値の [Range (範囲)] に適用されるフィルタのタイプを変更します。[Float Value Min (最小浮動小数値)] プロパティまたは [Float Value Max (最大浮動小数地)] プロパティでの指定の値から外れた値は除外されます。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
スコアのプロパティ
次のオプションは、[Test Purpose (テスト目的)] が [Score (スコア)] (または [Filter and Score (フィルタとスコア)] に設定されている) に設定されている場合に使用できます。
プロパティ | 説明 |
---|---|
Multiple Context Filter Op | Distance To コンテキストで複数のアイテムが返される場合のフィルタリング演算子を定義します。[All Pass (すべて合格)] はすべてのコンテキストが合格する必要があることを示し、[Any Pass (いずれが合格)] は 1 つ以上のコンテキストが合格する必要があることを示します。 |
**Clamp Min Type** | スコアリング式を適用する前に未処理のテスト値を正規化するために [Specified Value (指定値)] を使用するか、検出された (テストされた) 最小値を使用するかを定義します。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Clamp Max Type | スコアリング式を適用する前に未処理のテスト値を正規化するために [Specified Value (指定値)] を使用するか、検出された (テストされた) 最大値を使用するかを定義します。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Scoring Equation | [Constant (定数)]、[Linear (線形)]、[Square (二乗)]、[Inverse Linear (逆線形)]、または [Square Root (二乗根)] のタイプの曲線に従うようにテストのスコアが変更されます。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Scoring Factor | スコアリング式が適用された後に正規化スコアを乗算するためのウェイト (係数) です。この値には負数を指定できます。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Normalization Type | スコアの正規化に使用される値の範囲を決定する方法 ([Absolute (絶対値)] (正規化範囲のベースとして 0 を使用) または [Relative to Scores (スコアに対する相対値)] (正規化範囲のベースとしてアイテムの最小スコアを使用)) を指定します。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Reference Value | 値が [Reference Value (基準値)] に近いほど、より高い正規化結果が生成されるように、テストの結果を正規化します。[Reference Value (基準値)] から最も離れた値は 0 に正規化され、その中間にある他のすべての値は [Reference Value (基準値)] までの距離に比例して直線的に正規化されます。 このオプションは、Distance テストおよび Dot テストのみで使用できます。 |
Distance

Distance テストでは、アイテムと選択した [Distance To (距離)] プロパティとの間の直線距離を返します。 [Distance To (距離)] が複数の位置である場合、それぞれの距離を確認した結果の平均値になります。

プロパティ | 説明 |
---|---|
Test Mode | Distance テストを、3D 空間で行うか、2D XY 面 で行うか、Z または Z (絶対値) 軸 に沿って行うかを設定します。 |
Distance To | 距離の測定に使用するコンテキストです。 |
Dot

Dot テストでは、2 つのベクターの内積 (Dot Product) を計算します。コンテキストの回転である場合は、あるポイントから別のポイントへのベクターである場合があります。あるものが別のものと向かい合っているかを特定するのに役立ちます。

次のプロパティは Dot テストで使用できます。
プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
Line A Mode | テストで使用する 最初の 線の方向を定義します。方向を取得するには、次の 2 つの方法があります。
|
||||||
Line B Mode | テストで使用する 2 番目の 線の方向を定義します。方向を取得するには、次の 2 つの方法があります。
|
||||||
Test Mode | テストの計算に使用するベクターを、完全に 3D ベクターにするか、Line A ベクターと Line B ベクターが向かっている 2D のベクターにするかを指定します。 | ||||||
Absolute Value | Dot Product (内積) が -1.0 から 1.0 までの値を返すことで、テストが Dot product の絶対値を返します。 |
Gameplay Tags

Gameplay Tags テストを使用すると、クエリするタグを指定して、テストでの照合を試行することができます。

プロパティ | 説明 |
---|---|
Tag Query to Match | 検証するタグを指定できる Gameplay Tags エディタを開きます。 |
Reject Incompatible Items | IGamePlayTgAssetInterface を実装していないアクタの処理方法を制御します。true の場合、インターフェースを実装しないアクタは無視されます。つまり、スコアリングされず、フィルタリング時に考慮されません。false の場合、インターフェースを実装しないアクタは、スコアがゼロのフィルターおよびスコア操作に含まれます。 |
Overlap

Overlap テストを使用すると、1 つまたは複数のアイテムがプロパティで定義された範囲内にあるかどうかを特定できます。

プロパティ | 説明 |
---|---|
Extent X | X 軸に沿ったオーバーラップの形状パラメータです。 |
Extent Y | Y 軸に沿ったオーバーラップの形状パラメータです。 |
Extent Z | Z 軸に沿ったオーバーラップの形状パラメータです。 |
Shape Offset | オーバーラップをテストするアイテムの位置からのオフセットです。例えば、平らな地面と重ならないようにするために、垂直方向にオフセットする必要がある場合があります。 |
Overlap Channel | オーバーラップに使用するジオメトリ トレース チャンネルです。 |
Overlap Shape | ジオメトリ オーバーラップに使用する形状 ([Box (ボックス)]、[Sphere (球体)]、[Capsule (カプセル)]) です。 |
Only Blocking Hits (ブロッキング ヒットのみ) | オンの場合、オーバーラップで、ブロッキング ヒットのみを検索します。 |
Overlap Complex | オンの場合、オーバーラップが複雑なコリジョンでのみ実行されます。 |
Skip Overlap Querier | 設定されている場合、オーバーラップはクエリア コンテキストヒットをスキップします。 |
Pathfinding

Pathfinding テストを使用すると、コンテキストへの (またはコンテキストからの) パスが存在するかどうか、コンテキストへの (またはコンテキストからの) パスのコストレベル、またはパスの長さを特定できます。

プロパティ | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Test Mode | テストの適用方法:
|
||||||||
Context | パスまでの (パスからの) からのコンテキストです。 | ||||||||
Path from Context | パスファインダがコンテキストまで (false) なのか、コンテキストから (true) なのかを設定します。 | ||||||||
Filter Class | パス検索に使用するオプションのナビゲーション フィルタです。 | ||||||||
Skip Unreachable | オンの場合、失敗したパスを持つアイテムが無効になります。 |
[Test Mode (テスト モード)] が [Path Cost (パスの負荷)] または [Path Length (パスの長さ)] に設定されている場合、[Details (詳細)] パネルの [Filter (フィルタ)] セクションと [Score (スコア)] セクションは、通常、Dot テストおよび Distance** テストで概説されている共通プロパティでのみ使用可能なオプションを提供するように変わります。
Pathfinding Batch

Pathfinding テストを使用すると、コンテキストへの (またはコンテキストからの) パスが存在するかどうか、コンテキストへの (またはコンテキストからの) パスの負荷のレベル、またはパスの長さを特定できます。処理されるすべてのコンテキスト (パス) は、定義された [Test Mode (テスト モード)] に応じてスコアリングされます。

プロパティ | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Test Mode | テストの適用方法:
|
||||||||
Context | AI に必要な「までのパス」または「からのパス」を指定するコンテキストです。 | ||||||||
Path from Context | パスファインダがコンテキストまで (false) なのか、コンテキストから (true) なのかを設定します。 | ||||||||
Filter Class | パス検索に使用するオプションのナビゲーション フィルタです。 | ||||||||
Scan Range Multiplier | ポイントとコンテキスト間の最大距離の乗数です。 | ||||||||
Skip Unreachable (到達不可能なアイテムをスキップ) | オンの場合、失敗したパスを持つアイテムが無効になります。 |
[Test Mode (テスト モード)] が [Path Cost (パスの負荷)] または [Path Length (パスの長さ)] に設定されている場合、[Details (詳細)] パネルの [Filter (フィルタ)] セクションと [Score (スコア)] セクションは、通常、Dot テストおよび Distance** テストで概説されている共通プロパティでのみ使用可能なオプションを提供するように変わります。
Project

Project テストを使用すると、結果のアイテムを NavMesh (および NavMesh データ セットを使用するアイテム) 上に投影できます。
これにより、壁の内側にあるアイテムやブロックされているアイテムが NavMesh に移動します。このため、グリッド線が NavMesh のエッジを超えていると、バンチングが生成される可能性があります。

プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
Trace Mode | ジオメトリ トレーシングに使用される形状です。
|
||||||
Navigation Filter (ナビゲーション フィルタ) | 使用する (オプションの) ナビゲーション フィルタのクラスです。 | ||||||
Extent X | トレースの形状パラメータです。 | ||||||
Project Down | 検索高さが指定されたポイントより下で定義されます。 | ||||||
Project Up | 検索高さが指定されたポイントより上で定義されます。 | ||||||
Post Projection Vertical Offset (投影後の垂直方向のオフセット) | この値は結果の位置の Z 軸に追加されます。 これはナビゲーションにポイントを投影するときに役立ちます。Navmesh は単なるレベルのジオメトリの近似であり、最終的にアイテムがコリジョン可能なジオメトリになる可能性があるためです (falsify visibility (可視性改ざん) テストなど)。 |
Trace

Trace テストでは、アイテムまたはコンテキストまで (またアイテムまたはコンテキストから) トレースし、ヒットしたかどうかを返します。[Filter (フィルタ)] オプションの [Bool Match (ブーリアン一致)] を使用すると、結果を反転できます。このタイプのテストの一般的なユースケースの 1 つは、敵がレベルでプレイヤーを見ることができるか、できないかを特定することです。

プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
Trace Mode | ジオメトリ トレーシングに使用される形状です。
|
||||||
Trace Channel | トレースを実行するチャネルです。デフォルトでは、[Visibility (可視性)] オプションと [Camera (カメラ)] オプションを使用できます。ただし、[Project Settings (プロジェクト設定)] の [Edit Menu (編集メニュー)] > [Project Settings (プロジェクト設定)] > [Physics (物理)] > [Trace Channels (トレース チャンネル)] セクションでその他のチャンネルを追加できます。 | ||||||
Trace Shape | トレースを実行する形状。[Line (線)]、[Sphere (球体)]、[Box (ボックス)]、または [Capsule (カプセル)] です。 | ||||||
Trace Complex | トレースがメッシュ (複雑) に対して行われるのか、単純なコリジョンに対して行われるのかを指定します。 | ||||||
Only Blocking Hits | トレースでブロッキング トレースと非ブロッキング トレースのどちらを結果に使用するのかを指定します。 | ||||||
Trace from Context | Querier、アイテム、ユーザーが作成したカスタム コンテキストなど、トレースの開始元のコンテキストです。 | ||||||
Context | トレースの他方のエッジです。 | ||||||
Item Height Offset | テストがそのアイテムまで (またはそのアイテムから) トレースしているアイテムに、cm 単位で Z オフセットを追加します。 | ||||||
Context Height Offset | テストがそのコンテキストまで (またはそのコンテキストから) トレースしているコンテキストに、cm 単位で Z オフセットを追加します。 |