Select your preferred scripting language. All code snippets will be displayed in this language.
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseArea mask constant that includes all NavMesh areas.
The mask can be used in query functions, such as NavMesh.Raycast, to indicate that all NavMesh area types are accepted.
#pragma strict // TargetReachable.cs public class TargetReachable extends MonoBehaviour { public var target: Transform; private var hit: NavMeshHit; private var blocked: boolean = false; function Update() { // is reachable from the transform location. blocked = NavMesh.Raycast(transform.position, target.position, hit, NavMesh.AllAreas); Debug.DrawLine(transform.position, target.position, blocked ? Color.red : Color.green); if (blocked) Debug.DrawRay(hit.position, Vector3.up, Color.red); } }
// TargetReachable.cs using UnityEngine; using System.Collections; public class TargetReachable : MonoBehaviour { public Transform target; private NavMeshHit hit; private bool blocked = false; void Update() { // Allow pass through all area types when testing if the target position // is reachable from the transform location. blocked = NavMesh.Raycast(transform.position, target.position, out hit, NavMesh.AllAreas); Debug.DrawLine(transform.position, target.position, blocked ? Color.red : Color.green); if (blocked) Debug.DrawRay(hit.position, Vector3.up, Color.red); } }
See also:
??? Areas and Costs ??? to learn how to use different Area types.