using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; namespace UnityEngine.XR.Templates.MR { // Copied from AR Foundation Samples project. Commit: 8970b5a /// /// Manages the plane material color for each recognized plane based on /// the enumeration defined in ARSubsystems. /// [RequireComponent(typeof(ARPlane))] [RequireComponent(typeof(MeshRenderer))] public class PlaneTrackingModeVisualizer : MonoBehaviour { ARPlane m_ARPlane; MeshRenderer m_PlaneMeshRenderer; Color m_OriginalColor; void Awake() { m_ARPlane = GetComponent(); m_PlaneMeshRenderer = GetComponent(); m_OriginalColor = m_PlaneMeshRenderer.material.color; } void Update() { UpdatePlaneColor(); } void UpdatePlaneColor() { Color planeMatColor = Color.cyan; switch (m_ARPlane.trackingState) { case TrackingState.None: planeMatColor = Color.grey; break; case TrackingState.Limited: planeMatColor = Color.red; break; case TrackingState.Tracking: planeMatColor = m_OriginalColor; break; } planeMatColor.a = m_OriginalColor.a; m_PlaneMeshRenderer.material.color = planeMatColor; } } }