パスのコーナーポイント(読み取り専用)
別名 "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; } }