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

スクリプト言語

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

NavMeshPath.corners

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public var corners: Vector3[];
public Vector3[] corners;

説明

パスのコーナーポイント(読み取り専用)

別名 "waypoint" は経路上で向きを変えて曲がる地点を定義します(すなわち、経路は waypoint を結ぶ複数の直線から成ります)。

// Calculate the length of a NavMeshPath. A character will
// typically move a slightly longer distance than this as a
// result of its steering behaviour.
function PathLength(path: NavMeshPath) {
	// The length is implicitly zero if there aren't at least
	// two corners in the path.
	if (path.corners.Length < 2)
		return 0;
	
	var previousCorner = path.corners[0];
	var lengthSoFar = 0.0;
	
	// Calculate the total distance by adding up the lengths
	// of the straight lines between corners.
	for (var i = 1; i < path.corners.Length; i++) {
		var currentCorner = path.corners[i];
		lengthSoFar += Vector3.Distance(previousCorner, currentCorner);
		previousCorner = currentCorner;
	}
	
	return lengthSoFar;
}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { float PathLength(NavMeshPath path) { if (path.corners.Length < 2) return 0; Vector3 previousCorner = path.corners[0]; float lengthSoFar = 0.0F; int i = 1; while (i < path.corners.Length) { Vector3 currentCorner = path.corners[i]; lengthSoFar += Vector3.Distance(previousCorner, currentCorner); previousCorner = currentCorner; i++; } return lengthSoFar; } }