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

スクリプト言語

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

NavMesh.SetAreaCost

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function SetAreaCost(areaIndex: int, cost: float): void;
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.