ARFoundation系列講解-09平面檢測一


一、准備工作

1.打開Unity新建一個空場景,將場景中默認的“Main Camera”刪除掉

2.Hierarchy->XR->AR Session Origin 創建AR Session Origin組件

3.Hierarchy->XR->AR Session 創建AR Session組件

二、平面檢測管理

您可以指定檢測模式,可以是水平,垂直或兩者兼有。一些平台需要額外的工作來執行垂直平面檢測,因此,如果僅需要水平平面,則應禁用垂直平面檢測。 

 

三、可視化平面

1.Hierarchy->XR->AR Default Plane 創建AR Default Plane

2.將AR Default Plane 制作成Prefab 並且將 Hierarchy 面板中 AR Default Plane 刪除掉

3.AR Plane組件負責該平面各類屬性事宜,

4.將ARPlaneManager->Plane Prefab 設置成 AR Default Plane

5.打包並且運行

 

四、開啟或關閉平面檢測和平面可視化

 
   /// <summary>
    /// 切換平面檢測和平面可視化
    /// </summary>
    public void TogglePlaneDetection()
    {
        m_ARPlaneManager.enabled = !m_ARPlaneManager.enabled;
 
        string planeDetectionMessage = "";
        if (m_ARPlaneManager.enabled)
        {
            planeDetectionMessage = "Disable Plane Detection and Hide Existing";
            SetAllPlanesActive(true);
        }
        else
        {
            planeDetectionMessage = "Enable Plane Detection and Show Existing";
            SetAllPlanesActive(false);
        }
 
        if (togglePlaneDetectionText != null)
            togglePlaneDetectionText.text = planeDetectionMessage;
    }
 
    /// <summary>
    /// 顯示或隱藏平面可視化
    /// </summary>
    private void SetAllPlanesActive(bool value)
    {
        foreach (var plane in m_ARPlaneManager.trackables)
            plane.gameObject.SetActive(value);
    }
 
 

 

 

五、動態設置平面檢測模式

private ARPlaneManager m_ARPlaneManager=null;
 
 private void Awake()
    {
       m_ARPlaneManager = FindObjectOfType<ARPlaneManager>();
    }
 
//設置只檢查水平平面
 
 m_ARPlaneManager.detectionMode = PlaneDetectionMode.Horizontal;
 
//設置只檢查垂直平面
 
 m_ARPlaneManager.detectionMode = PlaneDetectionMode.Vertical;
 
//設置檢查水平平面和垂直平面
 
  m_ARPlaneManager.detectionMode = PlaneDetectionMode.Horizontal | PlaneDetectionMode.Vertical;

 

推薦學習資料

1.ARFoundation系列講解-教程目錄

2.Unity官方API:學習一門技術,官方教程是最權威的

3.ARFoundation Samples : ARFoundation 示例地址

歡迎對AR技術感興趣的朋友,加入QQ群:883655607 討論 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM