ARCore cho Jetpack XR
Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 30 tháng 7 năm 2025 | - | - | - | 1.0.0-alpha05 |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên ARCore cho Jetpack XR, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha05") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Phiên bản 1.0
Phiên bản 1.0.0-alpha05
Ngày 30 tháng 7 năm 2025
Phát hành androidx.xr.arcore:arcore:1.0.0-alpha05
, androidx.xr.arcore:arcore-guava:1.0.0-alpha05
và androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Thêm
getPrimaryHandSide
để nhà phát triển có thể nhận được thông tin về phía tay (I270bd) - Thêm API kiểm tra không gian địa lý về tình trạng cung cấp VPS (I58573)
- Thêm ARCore API cho
checkVpsAvailability
(Idbded) - Các hàm mở rộng
stateFlowable
được thêm vào:xr:arcore:arcore-rxjava3
để nhà phát triển Java sử dụng. (I083aa, b/427247794)
Thay đổi về API
- Các giá trị
*Mode
trong cấu hình đã được đổi tên để phản ánh hành vi của các giá trị đó. (I6d247, b/414648065) - Cấu phần phần mềm ARCore chính (xr:arcore:arcore) sẽ chỉ chứa các API không đồng bộ theo kiểu Kotlin. Nhà phát triển Java có thể dựa vào thư viện
xr:arcore:arcore-rxjava3
để truy cập vào các API tương thích. (Ia525e, b/422794329) - Cấu phần phần mềm ARCore chính (
xr:scenecore:scenecore
) sẽ chỉ chứa các API không đồng bộ theo kiểu Kotlin. Nhà phát triển Java có thể dựa vào thư việnxr:arcore:arcore-guava
để truy cập vào các API tương thích. (Iffcb4, b/422773524) Anchor.persistAsync()
được thêm vàoAnchorGuava
để nhà phát triển Java sử dụng. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)
được thêm vàoEarthGuava
để nhà phát triển Java sử dụng. (I66357, b/425992992)- Nhà phát triển Java sẽ dùng các hàm mở rộng cho
GltfModel.createAsync
trongGltfModel.kt
. Các hàm không đồng bộ trongGltfModel
sẽ bị xoá. (I0af60) - Thư viện này hiện sử dụng chú giải về giá trị rỗng JSpecify, là loại sử dụng. Nhà phát triển Kotlin nên sử dụng đối số trình biên dịch sau đây để thực thi cách sử dụng chính xác:
-Xjspecify-annotations=strict
(đây là trạng thái ban đầu mặc định bắt đầu từ phiên bản 2.1.0 của trình biên dịch Kotlin) (Ia8420, b/326456246) - Các hàm mở rộng
subscribeAsFlowable
được thêm vào:xr:arcore:arcore-rxjava3
để nhà phát triển Java sử dụng. (Id3e49, b/427277298)
Phiên bản 1.0.0-alpha04
Ngày 7 tháng 5 năm 2025
Phát hành androidx.xr.arcore:arcore:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Thay đổi về API
- Các dự án được phát hành bằng Kotlin 2.0 yêu cầu sử dụng KGP 2.0.0 trở lên. (Idb6b5)
TrackingState
vàHandJointType
đã được di chuyển từ ARCore sang Thời gian chạy.Hand.State.isActive (boolean)
đã được thay đổi thànhHand.State.trackingState (androidx.xr.runtime.TrackingState)
.Anchor.load
trả vềAnchor.AnchorLoadInvalidUuid
nếu UUID không hợp lệ.
Phiên bản 1.0.0-alpha03
Ngày 26 tháng 2 năm 2025
androidx.xr.arcore:arcore:1.0.0-alpha03
được phát hành mà không có thay đổi đáng kể nào kể từ bản phát hành alpha gần đây nhất. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Phiên bản 1.0.0-alpha02
Ngày 12 tháng 2 năm 2025
Phát hành androidx.xr.arcore:arcore:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Thêm tính năng hỗ trợ theo dõi cử chỉ tay. Sử dụng
Hand.left
vàHand.right
để xem thông tin theo dõi. - Các API tạo một neo (
Anchor.create
,Anchor.load
,Plane.createAnchor
) hiện đều trả vềAnchorCreateResult
và triển khai đúng cáchAnchorCreateResourcesExhausted
.
Sửa lỗi
Anchor.detach
không còn gây ra lỗi nghiêm trọng do điều kiện xung đột với luồng cập nhật Phiên.Anchor.create
ổn định hơn khi chạy trên trình mô phỏng
Phiên bản 1.0.0-alpha01
Ngày 12 tháng 12 năm 2024
Phát hành androidx.xr.arcore:arcore-* 1.0.0-alpha01
.
Các tính năng của bản phát hành ban đầu
Lấy cảm hứng từ thư viện ARCore hiện có, thư viện ARCore cho Jetpack XR cung cấp các chức năng để kết hợp nội dung kỹ thuật số với thế giới thực. Thư viện này bao gồm tính năng theo dõi chuyển động, các điểm neo cố định, kiểm tra lượt truy cập và nhận dạng mặt phẳng bằng tính năng gắn nhãn ngữ nghĩa (ví dụ: sàn nhà, tường và mặt bàn). Xem hướng dẫn cho nhà phát triển để tìm hiểu thêm về cách sử dụng ARCore cho Jetpack XR.
Session
: ARCore cho Jetpack XR sử dụng Jetpack XR Runtime để hỗ trợ chức năng của mình. Bạn sẽ dùng một phiên để tương tác với hầu hết các API ARCore cho Jetpack XR, vì vậy, vui lòng xem tài liệu của phiên này.Plane
: Sử dụng mặt phẳng để hiểu rõ thế giới xung quanh bạn. Mỗi mặt phẳng đều có mộtLabel
mô tả mặt phẳng đó theo ngữ nghĩa. Bạn có thể sử dụngsubscribe
để nhận thông báo về những máy bay mới nhất được phát hiện hoặcstate
để nhận thông báo về những thay đổi đối với một máy bay cụ thể.Anchor
: Mối liên kết giữa một đối tượng ảo và một vị trí trong thế giới thực. Bạn có thể đính các neo vào một vị trí cụ thể trong không gian (bằng cách sử dụngcreate
) hoặc mộtTrackable
(bằng cách sử dụngcreateAnchor
).Bạn có thể sử dụng lại các điểm neo trong các phiên. Bạn có thể dùng
persist
để lưu trữ,getPersistedAnchorUuids
để liệt kê vàload
để truy xuất các đối tượng này. Đảm bảo rằng bạnunpersist
chúng khi không còn sử dụng nữa.Các neo có thể tương tác giữa ARCore cho Jetpack XR và Jetpack SceneCore. Bạn có thể tạo một
AnchorEntity
bằng một neo hoặc nếu đã có AnchorEntity, bạn có thể dùnggetAnchor
để truy xuất neo hỗ trợ của neo đó.Cung cấp các hoạt động tương tác tự nhiên của người dùng bằng cách sử dụng
hitTest
. hitTest sử dụngRay
để xác định nội dung mà nó giao nhau và tạo mộtAnchor
từ vị trí đó. Cân nhắc việc tiến hành hitTest từ mộtInputEvent
.
Lỗi đã biết
Có thể sẽ mất một khoảng thời gian kể từ khi bạn gọi
unpersist
cho đến khi UUID của yêu cầu đó bị xoá khỏi kết quả màgetPersistedAnchorUuids
trả về.create
sẽ không xác thực rằng hệ thống có đủ tài nguyên để trả về các điểm neo mới. Việc tạo quá nhiều điểm neo có thể dẫn đến sự cố.Hiện không hỗ trợ việc duy trì một Anchor đã được duy trì và không được duy trì trước đó.
Bạn có thể sử dụng trong trình mô phỏng, nhưng hành vi có thể không ổn định như khi chạy trên một thiết bị thực. Cụ thể, các lệnh gọi đến
create
có thể không thành công do lỗi mã gốc và ngay lập tức chấm dứt hoạt động.Trong một số trường hợp,
RuntimeException
có thể bị lỗi khi gọipersist
bằng thông báo "Anchor was not persisted" (Không duy trì được điểm neo). Trong những trường hợp đó, hàm vẫn sẽ thành công và điểm neo sẽ được duy trì. Bạn nên bao bọc lệnh gọi đếnpersist
bằng một khốitry
để khắc phục vấn đề này.