Name | Description |
---|---|
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. |
boolean - 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 example : 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
class example(MonoBehaviour):
public mesh as NavMesh
public player as Transform
def IndicateCoverPosition():
hit as NavMeshHit
if mesh.FindClosestEdge(player.position, hit, -1):
transform.position = hit.position