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 22 tháng 10 năm 2025 | - | - | - | 1.0.0-alpha07 |
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-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07") }
Để 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-alpha07
Ngày 22 tháng 10 năm 2025
Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha07. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.
Sửa lỗi
:xr:arcore:arcore-openxrđược thêm dưới dạng phần phụ thuộc triển khai vào:xr:arcore:arcore(I47315, b/446999229)
Phiên bản 1.0.0-alpha06
Ngày 24 tháng 9 năm 2025
Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.
Thay đổi về API
- Tính năng hỗ trợ kiểm thử cho
ARCoređã di chuyển sang mô-đunxr:arcore:arcore-testing. (I25469) - Thêm
ArDevicevàRenderViewpointđể cho phép các ứng dụng truy xuất tư thế và cấu hình hiển thị của thiết bị cho mục đích kết xuất. (Ib7e3f) - Đổi tên enum
HandJointTypebằng tiền tốHAND_JOINT_TYPE_. (I3f7cd) HandJointTypeđã được di chuyển từxr:runtime:runtimesangxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Statehiện cung cấp mộtjava.nio.FloatBuffervới các tư thế khớp ở định dạng cho phép dễ dàng truy cập vào các ứng dụng định hướng hiệu suất. (I55e27)
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ề khả nă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ị
*Modetrong 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.createAsynctrongGltfModel.kt. Các hàm không đồng bộ trongGltfModelsẽ bị xoá. (I0af60) - Thư viện này hiện sử dụng chú giải về khả năng rỗng JSpecify, là loại chú giả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)
TrackingStatevà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.loadtrả vềAnchor.AnchorLoadInvalidUuidnế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.leftvà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ềAnchorCreateResultvà triển khai đúng cáchAnchorCreateResourcesExhausted.
Sửa lỗi
Anchor.detachkhô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ẽ 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 API 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ộtLabelmô 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 điểm 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ạnunpersistcác thiết bị này 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
AnchorEntitybằng một neo hoặc nếu đã có AnchorEntity, bạn có thể dùnggetAnchorđể truy xuất neo hỗ trợ của AnchorEntity đó.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 cắt và tạo mộtAnchortừ vị trí đó. Cân nhắc việc tiến hành một hitTest từInputEvent.
Lỗi đã biết
Có thể sẽ mất một khoảng thời gian kể từ khi bạn gọi
unpersistcho đến khi UUID của yêu cầu đó bị xoá khỏi kết quả màgetPersistedAnchorUuidstrả về.createsẽ không xác thực rằng hệ thống có đủ tài nguyên để trả về các 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
createcó 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,
RuntimeExceptioncó thể bị lỗi khi gọipersistvới 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 đếnpersistbằng một khốitryđể khắc phục vấn đề này.