ARCore cho Jetpack XR

Đưa nội dung kỹ thuật số vào thế giới thực bằng các khả năng nhận thức.
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 12 tháng 12 năm 2024 - - - 1.0.0-alpha01

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 bài viết về 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-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha01")
}

Để 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.

Báo lỗi mới

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-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 tính 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, neo cố định, kiểm thử lượt nhấn và xác định mặt phẳng bằng nhãn ngữ nghĩa (ví dụ: sàn, tường và mặt bàn). Xem hướng dẫn dành cho nhà phát triển để tìm hiểu thêm về cách làm việc với ARCore cho Jetpack XR.

  • Session: ARCore cho Jetpack XR sử dụng Jetpack XR Runtime để hỗ trợ chức năng của nó. 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 về Phiên.

  • Plane: Sử dụng mặt phẳng để hiểu thế giới xung quanh bạn. Mỗi mặt phẳng có một Label mô tả mặt phẳng đó về mặt ngữ nghĩa. Bạn có thể sử dụng subscribe để nhận thông báo về những chiếc máy bay mới nhất được phát hiện hoặc state để nhận thông báo về những thay đổi đối với một chiếc máy bay cụ thể.

  • Anchor: Đường liên kết giữa một đối tượng ảo và một vị trí thực. Bạn có thể đính kèm neo vào một vị trí cụ thể trong không gian (bằng cách sử dụng create) hoặc Trackable (bằng cách sử dụng createAnchor).

    • Bạn có thể sử dụng lại neo trong các phiên. Bạn có thể sử dụng persist để lưu trữ, getPersistedAnchorUuids để liệt kê và load để truy xuất các giá trị này. Hãy nhớ unpersist các thiết bị đó khi bạn không còn sử dụng nữa.

    • Các điểm neo có khả năng tương tác giữa ARCore cho Jetpack XR và Jetpack SceneCore. Bạn có thể tạo AnchorEntity bằng cách sử dụng một neo hoặc nếu có AnchorEntity hiện có, bạn có thể sử dụng getAnchor để truy xuất neo sao lưu 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 hitTest. hitTest sử dụng Ray để xác định nội dung nào giao nhau và tạo Anchor từ vị trí đó. Cân nhắc việc tiến hành hitTest từ InputEvent.

Lỗi đã biết

  • Có thể sẽ có độ trễ giữa thời điểm gọi unpersist và thời điểm UUID của unpersist bị xoá khỏi kết quả do 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 neo mới. Việc tạo quá nhiều neo có thể dẫn đến sự cố.

  • Hiện không hỗ trợ việc duy trì một neo đã được duy trì và huỷ duy trì trước đó.

  • Việc sử dụng trong trình mô phỏng được hỗ trợ, nhưng hành vi có thể không ổn định như khi chạy trên 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ị gửi nhầm khi gọi persist với thông báo "Mục cố định không được duy trì". Trong những trường hợp đó, hàm vẫn sẽ thành công và mục cố định sẽ được duy trì. Bạn nên gói lệnh gọi đến persist bằng một khối try để khắc phục vấn đề này.