Name | Description |
---|---|
sourcePosition | The origin of the ray. |
targetPosition | The end of the ray. |
hit | Holds the properties of the ray cast resulting location. |
passableMask | A mask specifying which NavMesh layers can be passed when tracing the ray. |
boolean - True if the ray is terminated before reaching target position. Otherwise returns false.
Trace a line between two points on the NavMesh.
This function follows the path of a "ray" between the specified source and target positions on the navmesh. If an obstruction is encountered along the line then a true value is returned and the position and other details of the obstructing object are stored in the hit parameter. This can be used to check if there is a clear shot or line of sight between a character and a target object. This function is preferable to the similar Physics.Raycast because the line tracing is performed in a simpler way using the navmesh and has a lower processing overhead.
var mesh: NavMesh;
var target: Transform;
function Update () {
var hit: NavMeshHit;
// Note the negative test condition! Using -1 for the mask
// indicates all layers are to be used.
if (!mesh.Raycast(transform.position, target.position, hit, -1)) {
// Target is "visible" from our position.
}
}