Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

NavMesh.CalculatePath

マニュアルに切り替える
public static function CalculatePath(sourcePosition: Vector3, targetPosition: Vector3, areaMask: int, path: NavMeshPath): bool;

パラメーター

sourcePosition リクエストした初期位置
targetPosition リクエストした目的地
areaMask パスの計算時に特定のマスクをかけるためにナビメッシュレイヤーを渡すことができる
path 計算結果のパス

戻り値

bool 完全な、あるいは部分的にパスが見つかった場合、True 。それ以外の場合は False 。

説明

2 点間の位置を計算して、ナビメッシュオブジェクト上で移動できる範囲のパスを作成します

この関数はパスが必要なときにゲームでの遅延を避けるために前もってパスを計画するために使用することができます。別の使い方はエージェントを移動する前にターゲットの位置が到達可能かをチェックすることです。

非同期の呼び出しの NavMeshAgent.SetDestination とは対照的にこの関数はすぐにパスを計算します。これは非常に長いパスではコストがかかる操作になり、フレーム レートのしゃっくりを引き起こしてしまいます。たとえば、点々をカバーするための距離を評価してフレームごとにいくつかのパスのみを検索することをお勧めします。

返されるパスは NavMeshAgent.SetPath を使用してエージェントのパスを設定するのに使用できます。パスが機能するように設定するためにエージェントは開始する点を閉じる必要があります。