該示例演示了(le)如何可(kě)視化(huà)現實世界中檢測到的(de)平面。有關平面檢測/跟蹤的(de)基本信息以及 AR Foundation 的(de) AR Plane Manager 組件的(de)功能,請參考 Unity 文檔。要使用(yòng)此功能,必須在 OpenXR 插件設置中啓用(yòng)它,路徑爲:項目設置 > XR 插件管理(lǐ) > OpenXR (> Android 選項卡)。
示例的(de)工作原理(lǐ)
首先,确保在 OpenXR 項目設置中啓用(yòng)了(le)平面檢測功能。
要在體驗中看到平面,場(chǎng)景中隻需添加兩個(gè)組件。将 ARPlaneManager 添加到 ARSession GameObject 上,将啓用(yòng) Snapdragon Spaces 包中的(de)平面子系統。該組件提供了(le)一個(gè)字段,用(yòng)于定義在創建平面時(shí)生成的(de)預制件。此預制件附加了(le) AR Plane 和(hé) AR Plane Mesh Visualizer 組件,以及 Mesh Renderer 和(hé) Line Renderer。AR Plane Mesh Visualizer 組件會定期調整網格和(hé)線條,從而繪制出帶有填充和(hé)邊框的(de)平面,可(kě)以通(tōng)過修改渲染器的(de)材料和(hé)屬性來(lái)調整這(zhè)些外觀。此外,還(hái)可(kě)以在預制件上添加 Mesh Collider 組件,以接收射線檢測的(de)命中。
功能設置
功能設置可(kě)以通(tōng)過點擊 OpenXR 項目設置中平面檢測功能旁的(de)齒輪圖标來(lái)找到。
● 使用(yòng)場(chǎng)景理(lǐ)解平面檢測:
○ 啓用(yòng)或禁用(yòng)此設置會影(yǐng)響檢測到的(de)平面的(de)形狀和(hé)數量。
○ 啓用(yòng)此設置後,将使用(yòng)場(chǎng)景理(lǐ)解來(lái)檢測平面,這(zhè)與空間網格(實驗)功能使用(yòng)的(de)技術相同。
○ 啓用(yòng)場(chǎng)景理(lǐ)解平面檢測時(shí),用(yòng)戶可(kě)以在運行示例時(shí)選擇是否啓用(yòng)凸包(Convex Hull)選項。
○ 禁用(yòng)場(chǎng)景理(lǐ)解平面檢測時(shí),凸包選項默認啓用(yòng),用(yòng)戶在運行示例時(shí)無法取消選中。
○ 啓用(yòng)凸包時(shí),使用(yòng)檢測到的(de)平面的(de)凸包生成更複雜(zá)的(de)形狀。禁用(yòng)時(shí),将根據檢測到的(de)平面範圍生成平面。
○ 如果無法加載場(chǎng)景理(lǐ)解,此功能将自動表現爲禁用(yòng)了(le)場(chǎng)景理(lǐ)解平面檢測。
默認平面檢測與基于場(chǎng)景理(lǐ)解的(de)平面檢測的(de)區(qū)别
指标 | 默認設置 | 場(chǎng)景理(lǐ)解 |
檢測速度和(hé)首次檢測 | 正常 | 快(kuài)速 |
誤報情況 | 誤報較少 | 容易出現誤報 |
平面準确性 | 高(gāo) | 高(gāo) |
平面數量 | 少 | 多(duō) |
平面更新和(hé)移動 | 穩定,更新不頻(pín)繁 | 動态,平面更新更多(duō) |
平面方向過濾 | 提供水(shuǐ)平和(hé)垂直過濾選項 | 無過濾選項 |
命中測試 | 對(duì)平面進行預期的(de)命中測試 | 對(duì)網格進行命中測試 |