targetPosition | The desired end position of movement. |
hit | Properties of the obstacle detected by the ray (if any). |
Trace a straight path towards a target postion in the NavMesh without moving the agent.
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 target: Transform; private var agent: NavMeshAgent; function Start () { agent = GetComponent.<NavMeshAgent>(); } function Update() { var hit: NavMeshHit; // Note the negative test condition! if (!agent.Raycast(target.position, hit)) { // Target is "visible" from our position. } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Transform target; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { NavMeshHit hit; if (!agent.Raycast(target.position, out hit)) { } } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public target as Transform private agent as NavMeshAgent def Start() as void: agent = GetComponent[of NavMeshAgent]() def Update() as void: hit as NavMeshHit if not agent.Raycast(target.position, ): pass