Version: 5.4
public static void SetAreaCost (int areaIndex, float cost);

パラメーター

areaIndex 設定するエリアのインデックス
cost 新しいコスト

説明

すべてのエージェントがレイヤーのジオメトリ上を横切るためのコストを設定します

すべてのエージェントで任意のカスタムのエリアのコストを置き換えられ、関数が呼び出された後に作成された新しいエージェントのデフォルトのコストを設定します。コストは 1.0 より大きくなければなりません。

NavMesh.GetAreaFromName を使って NavMesh エリアタイプの名前にもとづく領域のインデックスを検索できます。

// ToggleWaterCost.cs
using UnityEngine;
using System.Collections;
public class ToggleWaterCost : MonoBehaviour {
	void Update() {
		if (Input.anyKeyDown) {
			// Make water area 10x more costly to traverse.
			NavMesh.SetAreaCost(NavMesh.GetAreaFromName("water"), 10.0f);
		}
	}
}

See also:
Areas and Costs – to learn how to use different Area types.

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961