Định cấu hình chế độ cài đặt của ứng dụng để ứng dụng có thể sử dụng Geospatial API.
Điều kiện tiên quyết
Hãy đảm bảo rằng bạn hiểu các khái niệm cơ bản về AR và cách định cấu hình phiên ARCore trước khi tiếp tục.
Hãy xem bài viết Giới thiệu về API không gian địa lý để biết thêm thông tin về API không gian địa lý.
Nếu bạn mới bắt đầu phát triển bằng ARCore, hãy xem phần Bắt đầu để biết thông tin về các yêu cầu phần cứng và phần mềm, điều kiện tiên quyết và các thông tin khác dành riêng cho các nền tảng mà bạn đang sử dụng.
Để sử dụng ARCore Geospatial API, dự án của bạn phải hỗ trợ AR Foundation và Tiện ích ARCore cho AR Foundation.
Bật API ARCore
Trước khi sử dụng Hệ thống định vị bằng hình ảnh (VPS) trong ứng dụng, trước tiên, bạn phải bật ARCore API trong một dự án Google Cloud mới hoặc hiện có. Dịch vụ này chịu trách nhiệm lưu trữ, lưu trữ và phân giải neo không gian địa lý.
Bạn nên sử dụng phương thức uỷ quyền không cần khoá, nhưng phương thức uỷ quyền bằng Khoá API cũng được hỗ trợ.
Thêm thư viện bắt buộc vào ứng dụng
Sau khi uỷ quyền cho ứng dụng gọi API ARCore, bạn phải thêm thư viện để bật các tính năng Địa không gian trong ứng dụng.
- Chuyển đến Edit (Chỉnh sửa) > Project Settings (Cài đặt dự án) > XR Plug-In Management (Quản lý trình bổ trợ XR) > ARCore Extensions (Tiện ích ARCore). Đảm bảo bạn đã chọn Bật tính năng hỗ trợ iOS.
- Trong phần Tính năng không bắt buộc, hãy chọn Không gian địa lý.
Bật các tính năng không gian địa lý trong cấu hình phiên
Sau khi bật chức năng không gian địa lý trong ứng dụng, hãy bật các chức năng không gian địa lý trong cấu hình phiên AR của ứng dụng để ứng dụng có thể giao tiếp với API ARCore:
- Đảm bảo rằng thư mục Tài sản của dự án chứa đối tượng có thể tạo tập lệnh ARCoreExtensionsConfig. Để tạo một tệp cấu hình, hãy nhấp chuột phải vào ngăn Assets (Thành phần) rồi chọn Create (Tạo) > XR > ARCore Extensions Config (Cấu hình tiện ích ARCore).
Chọn đối tượng có thể tạo tập lệnh ARCoreExtensionsConfig trong thư mục Assets (Tài sản) rồi đặt Geospatial Mode (Chế độ không gian địa lý) thành Enabled (Bật).
Định cấu hình đối tượng trò chơi Tiện ích ARCore để sử dụng cấu hình ARCoreExtensionsConfig. Trong ngăn Hệ phân cấp, hãy tìm đối tượng trò chơi ARCore Extensions (Tiện ích ARCore) mà bạn đã tạo khi thiết lập Tiện ích ARCore ban đầu, rồi kết nối trường ARCore Extensions Config (Cấu hình tiện ích ARCore) với đối tượng có thể viết tập lệnh ARCoreExtensionsConfig trong thư mục Assets (Tài sản).
Nhắc người dùng cho phép sử dụng dữ liệu thiết bị
Các ứng dụng sử dụng API không gian địa lý ARCore phải hiển thị cho người dùng một lời nhắc để xác nhận và cho phép sử dụng dữ liệu từ thiết bị của họ. Hãy xem phần Yêu cầu về quyền riêng tư của người dùng để biết thêm thông tin.
Kiểm tra khả năng tương thích của thiết bị
Không phải thiết bị nào hỗ trợ ARCore cũng hỗ trợ API không gian địa lý. Để kiểm tra khả năng tương thích của thiết bị của người dùng, hãy gọi AREarthManager.IsGeospatialModeSupported()
.
Nếu hàm này trả về FeatureSupported.Unsupported
, đừng cố định cấu hình phiên.
Yêu cầu người dùng cấp quyền truy cập thông tin vị trí trong thời gian chạy
Để bật dịch vụ vị trí của Unity trong một tập lệnh kích hoạt các yêu cầu cấp quyền khi bắt đầu chạy, hãy làm như sau:
Trong Project Settings > iOS > Other Settings > Location Usage Description, hãy nhập tên của ứng dụng đang yêu cầu quyền.
Bật dịch vụ vị trí của Unity để kích hoạt yêu cầu cấp quyền trong thời gian chạy như sau:
public void OnEnable() { Input.location.Start(); } public void OnDisable() { Input.location.Stop(); }
Hãy xem tài liệu về
LocationService
của Unity để biết thêm thông tin.
Kiểm tra xem tính năng Không gian địa lý có được cung cấp tại vị trí hiện tại của thiết bị hay không
Vì API không gian địa lý sử dụng kết hợp VPS và GPS để xác định tư thế không gian địa lý, nên bạn có thể sử dụng API này miễn là thiết bị có thể xác định vị trí của nó. Ở những khu vực có độ chính xác GPS thấp, chẳng hạn như không gian trong nhà và môi trường đô thị đông đúc, API sẽ dựa vào phạm vi phủ sóng VPS để tạo ra các tư thế có độ chính xác cao. Trong điều kiện thông thường, VPS có thể cung cấp độ chính xác về vị trí khoảng 5 mét và độ chính xác về độ xoay khoảng 5 độ. Sử dụng AREarthManager.CheckVpsAvailability()
để xác định xem một vị trí nhất định có phạm vi cung cấp VPS hay không.
Bạn cũng có thể sử dụng API không gian địa lý ở những khu vực không có phạm vi cung cấp VPS. Trong môi trường ngoài trời có ít hoặc không có vật cản phía trên, GPS có thể đủ để tạo ra một tư thế có độ chính xác cao.
Bước tiếp theo
- Nhận tư thế không gian địa lý của máy ảnh thiết bị để xác định vị trí chính xác của thiết bị của người dùng trong thế giới thực.
- Kiểm tra xem VPS có sẵn hay không tại một vị trí nhất định của thiết bị.