Table of Contents

在 XR 頭顯或眼鏡上使用 EasyAR 樣例

EasyAR 對所有頭顯提供統一的樣例,樣例中沒有任何代碼,全部由場景中配置實現。功能本身的使用可以參考相關功能在 Android/iOS 手機上樣例實現。

頭顯樣例名稱爲 Combination_BasedOn_* , 比如 Pico 的樣例爲 Combination_BasedOn_Pico。 該樣例在一個場景中演示了大部分 EasyAR 功能,它們可以動態開關,可以單獨使用,也可以同時打開。

準備工作

  • 確定您的頭顯或眼鏡當前在 EasyAR 支持列表
  • 下載並導入 EasyAR Unity 插件包
  • 下載並導入 EasyAR Unity XR設備擴展包
  • 獲取適合 XR 頭顯或者眼鏡的 EasyAR 許可證,頭顯或眼鏡可用 License 類型包括
    • EasyAR Sense 4.x XR License 試用版(試用,在 EasyAR 網站自主開通)
    • EasyAR Sense 4.x XR License 正式版(付費後使用,請聯繫商務購買開通)
    • EasyAR Sense 4.x XR License 企業版(企業版 SDK 使用)
注意

頭顯和眼鏡上僅允許使用 XR License,普通 License 無法使用 EasyAR 功能。

導入官方樣例

  1. 內建支持的設備的樣例位於 EasyAR Unity 插件包中,根據設備單獨導入需要的樣例。 xr-samples-location

  2. 通過擴展支持的設備樣例隨對應的頭顯擴展一起分發。可以使用 Unity 將樣例導入工程中。以Pico爲例。 xr-pico-extension

樣例打包並運行

分別完成頭顯工程配置和樣例使用說明。

  • 嚴格參照對應頭顯官方的文檔和說明做好對應的配置,EasyAR 文檔中不會覆蓋相關內容。

  • 按照 EasyAR 文檔中各平臺說明進行配置。

    Android: 請參考 Android 工程配置

    visionOS: 請參考 visionOS 工程配置

    Meta XR/Quest 除了按照 Android 平臺設置外,額外需要 Meta XR/Quest 工程配置

    XREAL 除了按照 Android 平臺設置外,額外需要 XREAL 工程配置

  • 樣例打包 在 Unity 裏打包樣例使用,並部署到設備上運行。具體方法參見 Unity上運行樣例

用法說明

樣例內置多個按鈕,其具體功能如下。 xr-sample-usage-7

  • 按鈕1 HUD:切換UI顯示模式,初始狀態UI會固定在現實世界中,打開HUD之後UI會始終顯示在眼前。
  • 按鈕2 Record:開關EIF錄製。打開之後必須關閉才能錄製正常的EIF文件,否則錄出來的文件將無法使用。
  • 按鈕3 Image:開關圖像跟蹤。
  • 按鈕4 Image Fusion:開關圖像跟蹤+運動融合模式。
  • 按鈕5 Dense:開關稠密空間建圖。
  • 按鈕6 Sparse:開關稀疏空間建圖。
  • 按鈕7 Mega:開關 Mega。

功能詳解

  • 默認功能開關

    所有功能啓動時默認都是關閉的,這是通過在編輯器上將對應腳本停用實現的,按鈕操作操作的是對應腳本的啓用/停用,可以根據實際要運行的樣例設置默認啓用的功能。

    hmd-default-disable

  • 座標系原點參照

    樣例中在運動跟蹤的座標系原點都放置了一個靜止的熊貓模型,用於檢查運動跟蹤狀態。這個模型對於解耦問題是有幫助的,比如在運行 Mega 的時候,有些快速漂移就是設備運動跟蹤(即設備自身缺陷)導致的,這時候這個模型也會跟着一起漂移/可以根據需要,調整或刪除這個熊貓模型。

  • 使用內嵌圖像跟蹤的識別圖

    • 樣例中預設了平面圖像跟蹤使用的圖像的大小,您需要使用 A4 紙打印 namecard.jpg,必須保持圖像的比例不拉伸,不裁剪,儘量充滿紙張(下圖)。 namecard

    • 測量打印完成紙張上名片圖案的長度,根據測量的結果,需將 Unity 場景中 Image TargetScale 設爲與真實物理大小一致(單位是米)。 set-the-actual-size

    • EasyAR 運動融合 打開時,只能跟蹤固定位置(不能移動)的圖像。如果運動融合關閉,圖像超出視野的時候就無法跟蹤。

    • 有時候眼鏡視角不能很好的反應相機圖像大小,如果識別不到可以嘗試讓眼鏡相機靠近圖像。實際使用時建議跟蹤更大的圖像,比如 5米*5米 大小。

附註

在頭顯上無論 EasyAR 運動融合功能是開是關,image targetScale 參數都必須設置爲真實的物理大小,否則顯示位置會是錯誤的。