頭顯擴展包模板簡介
com.easyar.sense.ext.hmdtemplate package 是為頭顯擴展開發提供的範例和模板。它是一個 SDK 的實現,並且包含了給應用開發者的範例。
模板內容
這個 package 的包結構遵循了 Unity 推薦的文件佈局:
.
├── CHANGELOG.md
├── Documentation~
├── Editor
├── LICENSE.md
├── package.json
├── Runtime
└── Samples~
└── Combination_BasedOn_HMD
其中一些比較重要的內容如下:
- Runtime:存放運行時平台資產的文件夾。這是模板中最重要的文件夾。
- Samples~:存放 package 中所有範例的文件夾。它包含給下游使用的範例,可以用作測試擴展的 demo。為了原地開發這個範例,需要修改文件夾名為
Samples。使用 Client.Pack 方法會在打包一個新發佈時將其自動重新命名為Samples~。 - Editor:存放編輯時平台資產的文件夾。這個文件夾的腳本主要用於創建功能表項。
- package.json:package 的清單文件。
模板範例的創建過程
-
在
Hierarchy檢視中:- 在 空白 處點擊右鍵,通過功能表
EasyAR Sense>Mega>AR Session (Mega Block Default Preset)添加 ARSession。 - 選中 AR Session (EasyAR) 並點擊右鍵,通過功能表
EasyAR Sense>Image Tracking>Frame Filter : Image Tracker添加一個 ImageTrackerFrameFilter 到 session 中。 - 選中 AR Session (EasyAR) 並點擊右鍵,通過功能表
EasyAR Sense>SpatialMap>Frame Filter : Dense SpatialMap Builder添加一個 DenseSpatialMapBuilderFrameFilter 到 session 中。 - 選中 AR Session (EasyAR) 並點擊右鍵,通過功能表
EasyAR Sense>SpatialMap>Frame Filter : Sparse SpatialMap Builder添加一個 SparseSpatialMapBuilderFrameFilter 到 session 中。 - 選中 AR Session (EasyAR) 並點擊右鍵,通過功能表
EasyAR Sense>Extensions>Frame Source : HMD Template (keep it only)添加並僅保留 HMD Template 這一個 FrameSource。

- 在 空白 處點擊右鍵,通過功能表
-
在
Hierarchy檢視中,在 空白 處點擊右鍵,通過功能表EasyAR Sense>Image Tracking>Target : Image Target添加一個 ImageTargetController 到 session 中。
在完成上述配置之後,
Scene檢視中顯示的圖像是 gizmo。這個範例中通過一個 quad 來顯示同一圖像的虛擬物體。添加顯示在 target 上面的虛擬物體:

添加一個模型作為運動跟踪原點參考
這個模型對開發者以及下游用戶都很重要,它用於解耦設備運動跟踪和 EasyAR 演算法。

添加功能選擇的 UI

關閉啟動時啟用的 EasyAR 功能,並通過 UI 開關來打開它們
例如,圖像跟踪的功能在啟動時可以關閉,只需要設置對應元件的 enable 為 false 即可:

然後添加 UI 開關處理:

相關主題
- 讓頭顯支援 EasyAR 介紹了如何使用這個模板來創建一個新的頭顯擴展包
- 運行驗證(bring-up) 介紹了如何利用這個模板提供的範例驗證輸入擴展的正確性
- 發佈擴展包 介紹了如何基於這個模板完成最後的打包分發