自定義啓動器

Snapdragon Spaces目前的(de)架構經過優化(huà),用(yòng)于創建佩戴式體驗,主要應用(yòng)體驗在頭戴式設備/眼鏡上,支持手部跟蹤、硬件控制器或通(tōng)過模拟控制器的(de)觸摸界面(稱爲伴侶控制器),所有這(zhè)些都使用(yòng)OpenXR Profiles進行通(tōng)信。

這(zhè)種架構允許一些應用(yòng)在不需要重新編譯的(de)情況下(xià)跨設備類型構建和(hé)運行。因此,了(le)解底層運行機制是非常重要的(de)。

 

自定義啓動器

在爲Snapdragon Spaces構建應用(yòng)時(shí),首先啓動的(de)Activity包含自定義啓動器,會查詢設備是否安裝了(le)Snapdragon Spaces運行時(shí),并執行權限檢查。一旦通(tōng)過了(le)這(zhè)些檢查,此自定義啓動器将檢查設備,以查看它是否通(tōng)過手機加眼鏡的(de)類型設備連接,或者它是否通(tōng)過純頭戴式類型設備連接。

在頭戴式設備形态中,專爲頭戴設備設計的(de)Activity将直接在設備上啓動。

在手機加眼鏡的(de)設備形态中,會在手機上立即啓動伴侶控制器,同時(shí)在連接的(de)眼鏡上啓動專爲頭戴設備設計的(de)Activity。這(zhè)兩個(gè)Activity互相不知道,它們通(tōng)過OpenXR橋梁進行通(tōng)信。即使伴侶控制器活動被滑動并關閉,它不會關閉應用(yòng),頭戴設備上的(de)活動仍将運行,需要應用(yòng)發出适當的(de)退出信号或進行強制停止。

眼鏡未連接

如果在沒有連接眼鏡的(de)情況下(xià)在手機上啓動頭戴Spaces應用(yòng),則頭戴式活動将在移動設備上啓動。可(kě)以通(tōng)過從Android UI中輕松滑動該活動來(lái)退出。


伴侶控制器

在連接了(le)手機的(de)設備類型上,默認情況下(xià)提供了(le)伴侶控制器,包含預編譯的(de)Android Activity,用(yòng)于處理(lǐ)觸摸屏的(de)輸入。這(zhè)個(gè)預編譯的(de)二進制文件将觸摸傳輸爲按鈕,并将旋轉信息發送到OpenXR運行時(shí),然後由正在運行的(de)Activity讀取。

圖片1.png

如何使用(yòng)伴侶控制器:

l觸摸闆上的(de)點擊映射爲觸發選擇或點擊事件。

l應用(yòng)程序可(kě)以選擇如何響應菜單按鈕。

l控制器的(de)旋轉可(kě)以通(tōng)過3DoF設備指針(Device Pointer)驅動一個(gè)“激光(guāng)指針”作爲交互射線。

l重置按鈕可(kě)用(yòng)于根據需要重新調整設備的(de)方向,以進行校準對(duì)齊。

雖然此類型設備不支持額外的(de)按鈕,因爲其功能受限于OpenXR控制器配置文件标準的(de)限制,但伴侶控制器屏幕和(hé)按鈕布局可(kě)以自定義。有關詳細信息,請參閱自定義控制器