diff --git a/Assets/Examples/Scripts/NavMeshSourceTag.cs b/Assets/Examples/Scripts/NavMeshSourceTag.cs index 375ff635..7c5bdcab 100644 --- a/Assets/Examples/Scripts/NavMeshSourceTag.cs +++ b/Assets/Examples/Scripts/NavMeshSourceTag.cs @@ -10,6 +10,9 @@ public class NavMeshSourceTag : MonoBehaviour // Global containers for all active mesh/terrain tags public static List m_Meshes = new List(); public static List m_Terrains = new List(); + public static List m_Areas = new List(); + + [SerializeField] private string areaName = "Walkable"; void OnEnable() { @@ -17,12 +20,14 @@ void OnEnable() if (m != null) { m_Meshes.Add(m); + m_Areas.Add(NavMesh.GetAreaFromName(areaName)); } var t = GetComponent(); if (t != null) { m_Terrains.Add(t); + m_Areas.Add(NavMesh.GetAreaFromName(areaName)); } } @@ -58,7 +63,7 @@ public static void Collect(ref List sources) s.shape = NavMeshBuildSourceShape.Mesh; s.sourceObject = m; s.transform = mf.transform.localToWorldMatrix; - s.area = 0; + s.area = m_Areas[i]; sources.Add(s); } @@ -72,7 +77,7 @@ public static void Collect(ref List sources) s.sourceObject = t.terrainData; // Terrain system only supports translation - so we pass translation only to back-end s.transform = Matrix4x4.TRS(t.transform.position, Quaternion.identity, Vector3.one); - s.area = 0; + s.area = m_Areas[i]; sources.Add(s); } }