システムとツール
Available in the Gaming Circle and Industries Circle
システム
FlowFieldsの実行には、以下のシステムが必要です(SystemSetup
内と同じ順序で記載しています)。
FlowFieldPathfinderSystem_Requests
: シングルスレッドシステム。FlowFieldPathfinder
からの要求に応じて、FlowFieldControllers
に新たな目的地を追加します。FlowFieldMapSystem_UpdateMap
: マルチスレッドシステム。ダーティなコントローラを再計算します。コストやポータルが変更されたり、FlowFieldPathfinderSystem_Requests
によって新しい目的地が追加されたりすると、コントローラーはダーティとなります。FlowFieldPathfinderSystem_RequestPath
: マルチスレッドシステム。要求されたパス(開始位置と目的地の組み合わせ)の識別子(パスキャッシングに使用)を計算し、FlowFieldMap
に登録します。同じフレーム内で2つのパスファインダーが同じ識別子を持つパスを要求した場合、エンティティインデックスが最も低いパスファインダーの位置と目的地がナビゲーションの最初のステップに使用されます(A*)。FlowFieldMapSystem_FindPaths
:FlowFieldPathfinderSystem_RequestPath
が要求するパスを計算し、パスキャッシュに追加します。FlowFieldPathfinderSystem_CopyPaths
: シングルスレッドシステム。FlowFieldMapSystem_FindPaths
が計算したパスをFlowFieldPathfinder
にコピーします。FlowFieldPathfinderSystem_SmoothPath
:マルチスレッドシステム。目的地を設定したパスファインダーと、最新のコーナーに到着したパスファインダーの次のコーナーを計算します。FlowFieldPathfinderSystem_Removes
: シングルスレッドシステム。FlowFieldPathfinderSystem_Requests
が追加したFlowFieldControllers
から目的地リクエストを削除します。FlowFieldMapSystem_ClearCache
: シングルスレッドシステム。カウントが高くなりすぎた場合に、キャッシュされたパスをクリアします。遅れて参加/再接続するスナップショットが大きくなりすぎる可能性があるため、キャッシュを過度に大きくすることはできません。FlowFieldPathfinderSystem
: シグナルのみのシステム。`FlowFieldPathfinder*の初期化および非初期化をおこないます。
ツール
FlowFieldMapDebug
コントローラー間のナビゲーションに使用するA*グラフを表示するツール。
FlowFieldControllerDebug
FlowFieldController
のデバッグビュー。
以下のデータを表示できます:
- Cost Original - ダイナミックモディファイアを使わない場合のタイルのコスト;
- Cost - ダイナミックモディファイアを適用する場合のタイルのコスト;
- Integration - タイルのインテグレーション (直近で計算されたフローのデータのみを含みます、コントローラー全体には1つの配列が使用されます);
- Flow - 特定の目的地またはポータルへのタイルの方向;
- Controller Location - コントローラー内のタイルの位置;
- Map Location - マップ内のタイルの位置;