Raycast(Vector3, out NavMeshHit)
Trace a straight path towards a target postion in the NavMesh without moving the agent.
Read time 1 minuteLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEngine.AI
- Assembly: UnityEngine.AIModule
Raycast(Vector3, NavMeshHit)
public bool Raycast(Vector3 targetPosition, out NavMeshHit hit)
Parameters
The desired end position of movement.
Properties of the obstacle detected by the ray (if any).
Returns
Type | Description |
|---|---|
| bool | True if there is an obstacle between the agent and the target position, otherwise false. |
Remarks
This function follows the path of a "ray" between the agent's position and the specified target position. 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 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.
hitExamples
using UnityEngine;using UnityEngine.AI;public class ExampleClass : MonoBehaviour{ public Transform target; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { NavMeshHit hit; if (!agent.Raycast(target.position, out hit)) { // Target is "visible" from our position. } }}