using UnityEngine; using UnityEngine.Experimental.XR; using UnityEngine.UI; using UnityEngine.XR.ARFoundation; /// /// This example demonstrates disabling vertical planes as they are /// detected and instantiated by the ARPlaneManager. /// [RequireComponent(typeof(ARPlaneManager))] public class DisableVerticalPlanes : MonoBehaviour { [SerializeField] Text m_LogText; void OnEnable() { GetComponent().planeAdded += OnPlaneAdded; } void OnDisable() { GetComponent().planeAdded -= OnPlaneAdded; } void OnPlaneAdded(ARPlaneAddedEventArgs eventArgs) { var plane = eventArgs.plane; // Check whether the plane is a vertical plane. if (plane.boundedPlane.Alignment == PlaneAlignment.Vertical) { // Disable the entire GameObject. plane.gameObject.SetActive(false); // Add to our log so the user knows something happened. m_LogText.text += string.Format("\n{0}", plane.boundedPlane.Id); } } }