Legacy Documentation: Version 5.0
Language: English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

public var corners: Vector3[];
public Vector3[] corners;

Description

Corner points of the path. (Read Only)

Also known as "waypoints", the corners define the places along a path where it changes direction (ie, the path consists of a number of straight-line moves between corners).

// 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; } }