Jetpack XR 適用的 ARCore
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 12 日 | - | - | - | 1.0.0-alpha01 |
宣告依附元件
如要為 Jetpack XR 新增 ARCore 依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.0 版本
1.0.0-alpha01 版
2024 年 12 月 12 日
發布 androidx.xr.arcore:arcore-* 1.0.0-alpha01
。
初始版本的功能
ARCore for Jetpack XR 程式庫受到現有 ARCore 程式庫的啟發,提供將數位內容與真實世界融合的功能。這個程式庫包含動作追蹤、持續性錨點、命中測試,以及平面識別功能,並提供語義標記 (例如地板、牆壁和桌面)。請參閱開發人員指南,進一步瞭解如何使用 ARCore for Jetpack XR。
Session
:Jetpack XR 適用的 ARCore 會在幕後使用 Jetpack XR 執行階段,以提供其功能。您將使用工作階段與大多數 ARCore for Jetpack XR API 互動,因此請參閱相關說明文件。Plane
:使用平面圖瞭解周遭環境。每個平面都有一個Label
,用於說明其語義。您可以使用subscribe
接收最新偵測到的平面通知,也可以使用state
接收特定平面的變更通知。Anchor
:虛擬物件與實際位置之間的連結。錨點可附加至空間中的特定位置 (使用create
) 或Trackable
(使用createAnchor
)。錨點可在不同工作階段中重複使用。您可以使用
persist
儲存這些項目、使用getPersistedAnchorUuids
列舉這些項目,以及使用load
擷取這些項目。請務必在不再使用時unpersist
這些檔案。錨點可在 Jetpack XR 適用的 ARCore 和 Jetpack SceneCore 之間互通。您可以使用錨點建立
AnchorEntity
,如果您有現有的 AnchorEntity,則可以使用getAnchor
擷取其備用錨點。使用
hitTest
提供自然的使用者互動。命中測試會使用Ray
判斷與其相交的內容,並從該位置建立Anchor
。建議您從InputEvent
執行命中測試。
已知問題
呼叫
unpersist
與從getPersistedAnchorUuids
傳回的結果中移除其 UUID 之間可能會有延遲。create
不會驗證系統是否有足夠的資源來傳回新的錨點。建立過多錨點可能會導致應用程式當機。目前不支援儲存先前已儲存及未儲存的錨點。
雖然支援在模擬器中使用,但行為可能不如在實際裝置上執行時穩定。特別是,呼叫
create
可能會因原生程式碼錯誤而失敗,並立即終止活動。在某些情況下,呼叫
persist
時,RuntimeException
可能會因「Anchor was not persisted」訊息而錯誤拋出。在這種情況下,函式仍會成功執行,且錨點會保留。建議您使用try
區塊包裝對persist
的呼叫,做為替代方案。