sourcePosition | The origin of the distance query. |
hit | Holds the properties of the resulting location. |
passableMask | A mask specifying which NavMesh layers can be passed when finding the nearest edge. |
bool True if a nearest edge is found.
Locate the closest NavMesh edge from a point on the NavMesh.
The returned NavMeshHit object contains the position and details of the nearest point on the nearest edge of the navmesh. Since an edge typically corresponds to a wall or other large object, this could be used to make a character take cover as close to the wall as possible.
var mesh: NavMesh; var player: Transform; // Move a marker object to show a position of cover // that the player should head for. function IndicateCoverPosition() { var hit: NavMeshHit; if (mesh.FindClosestEdge(player.position, hit, -1)) { transform.position = hit.position; } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public NavMesh mesh; public Transform player; void IndicateCoverPosition() { NavMeshHit hit; if (mesh.FindClosestEdge(player.position, out hit, -1)) transform.position = hit.position; } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public mesh as NavMesh public player as Transform def IndicateCoverPosition() as void: hit as NavMeshHit if mesh.FindClosestEdge(player.position, , -1): transform.position = hit.position