Hướng dẫn dành riêng cho nền tảng
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
Phần lớn trải nghiệm Thực tế tăng cường là "thời gian thực". Người dùng phải ở một nơi nhất định vào một thời điểm nhất định, với điện thoại được đặt ở chế độ AR đặc biệt và mở ra một ứng dụng AR. Ví dụ: nếu muốn xem một chiếc ghế dài AR trông như thế nào trong phòng khách, người dùng sẽ phải "đặt" chiếc ghế đó vào môi trường trên màn hình trong khi họ đang ở trong phòng.
API Quay và phát loại bỏ yêu cầu "theo thời gian thực" này, cho phép bạn tạo trải nghiệm AR có thể xem ở bất cứ đâu, bất cứ lúc nào. API Quay video lưu trữ luồng video của máy ảnh, dữ liệu IMU hoặc bất kỳ siêu dữ liệu tuỳ chỉnh nào khác mà bạn chọn lưu trong tệp MP4. Sau đó, bạn có thể cung cấp các video đã quay này cho ARCore thông qua API phát. API này sẽ coi tệp MP4 giống như nguồn cấp dữ liệu phiên trực tiếp. Bạn vẫn có thể sử dụng phiên máy ảnh trực tiếp, nhưng với API mới này, các ứng dụng AR có thể chọn sử dụng tệp MP4 được quay trước thay vì phiên trực tiếp đó.
Người dùng cuối cũng có thể tận dụng tính năng này. Bất kể ở đâu trong cuộc sống thực, người dùng đều có thể xem bất kỳ video nào được quay bằng API Quay và phát trong thư viện gốc của họ, đồng thời chỉnh sửa hoặc phát lại các đối tượng, hiệu ứng và bộ lọc AR. Với tính năng này, người dùng có thể mua sắm bằng công nghệ AR khi đang trên tàu đi làm hoặc nằm trên giường thư giãn.
Các trường hợp sử dụng để phát triển bằng API Ghi và phát
API Quay video và phát lại giúp loại bỏ các hạn chế về thời gian và không gian khi xây dựng ứng dụng AR. Sau đây là một số cách bạn có thể sử dụng tính năng này trong các dự án của mình.
Ghi một lần, kiểm thử ở mọi nơi
Thay vì phải đến một địa điểm mỗi khi cần kiểm thử tính năng AR, bạn có thể quay video bằng Recording API rồi phát lại video đó bằng bất kỳ thiết bị tương thích nào. Bạn đang xây dựng trải nghiệm trong một trung tâm mua sắm? Bạn không cần phải truy cập vào đó mỗi khi muốn kiểm thử một thay đổi. Bạn chỉ cần ghi lại một lần lượt truy cập, sau đó lặp lại và phát triển ngay tại bàn làm việc của mình.
Giảm thời gian lặp lại
Thay vì phải quay video cho từng thiết bị Android mà bạn muốn hỗ trợ, cho từng trường hợp mà bạn muốn kiểm thử, bạn có thể quay video một lần và phát lại trên nhiều thiết bị trong giai đoạn lặp lại.
Giảm gánh nặng kiểm thử thủ công trên các nhóm phát triển
Thay vì tạo tập dữ liệu tuỳ chỉnh cho mọi tính năng mới, hãy tận dụng các tập dữ liệu được ghi trước khi ra mắt các tính năng mới kết hợp độ sâu hoặc các điểm cải tiến mới nhất về tính năng theo dõi của ARCore.
Khả năng tương thích với thiết bị
Bạn sẽ cần ARCore để ghi dữ liệu bằng API Ghi và phát, nhưng không cần API này để phát lại. Về cơ bản, tệp MP4 được ghi bằng tính năng này là các tệp video có dữ liệu bổ sung mà bạn có thể xem bằng bất kỳ trình phát video nào. Bạn có thể kiểm tra các tệp này bằng ExoPlayer của Android hoặc bất kỳ trình phát tương thích nào có thể vừa giải mã MP4 vừa quản lý dữ liệu bổ sung do ARCore thêm vào.
Cách ghi dữ liệu video và AR để phát
ARCore lưu các phiên đã ghi vào tệp MP4 trên thiết bị mục tiêu. Các tệp này chứa nhiều kênh video và dữ liệu khác. Sau khi lưu các phiên này, bạn có thể chỉ định ứng dụng sử dụng dữ liệu này thay vì phiên máy ảnh trực tiếp.
Bản ghi âm chứa nội dung gì?
ARCore ghi lại những dữ liệu sau trong video H.264. Bạn có thể truy cập vào bản dịch trên mọi trình phát video tương thích với MP4 và có thể chuyển đổi bản nhạc. Phiên bản có độ phân giải cao nhất là phiên bản đầu tiên trong danh sách vì một số trình phát video tương thích với MP4 sẽ tự động phát phiên bản đầu tiên trong danh sách mà không cho phép bạn chọn phiên bản video cần phát.
Luồng video chính (luồng hình ảnh CPU)
Tệp video chính ghi lại môi trường hoặc cảnh để phát lại sau. Theo mặc định, ARCore sẽ ghi lại hình ảnh CPU 640x480 (VGA) dùng để theo dõi chuyển động làm luồng video chính.
ARCore không chụp kết cấu GPU (có độ phân giải cao) được kết xuất lên màn hình dưới dạng hình ảnh máy ảnh truyền qua.
Nếu muốn có luồng hình ảnh có độ phân giải cao trong khi phát, bạn phải định cấu hình một máy ảnh cung cấp hình ảnh CPU có độ phân giải mong muốn. Trong trường hợp này:
- ARCore sẽ yêu cầu cả hình ảnh CPU 640x480 (VGA) cần thiết để theo dõi chuyển động và hình ảnh CPU có độ phân giải cao do cấu hình máy ảnh đã định cấu hình chỉ định.
- Việc chụp luồng hình ảnh CPU thứ hai có thể ảnh hưởng đến hiệu suất của ứng dụng và các thiết bị khác nhau có thể bị ảnh hưởng theo cách khác nhau.
- Trong khi phát, ARCore sẽ sử dụng hình ảnh CPU có độ phân giải cao được chụp trong quá trình quay video làm hoạ tiết GPU trong quá trình phát.
- Hình ảnh CPU có độ phân giải cao sẽ trở thành luồng video mặc định trong bản ghi MP4.
Cấu hình máy ảnh được chọn trong quá trình quay video xác định hình ảnh CPU và luồng video chính trong bản ghi. Nếu bạn không chọn cấu hình máy ảnh có hình ảnh CPU có độ phân giải cao, thì video này sẽ là bản nhạc đầu tiên trong tệp và sẽ phát theo mặc định, bất kể bạn sử dụng trình phát video nào.
Hình ảnh trực quan của bản đồ độ sâu của máy ảnh
Đây là tệp video thể hiện bản đồ độ sâu của máy ảnh, được ghi lại từ cảm biến độ sâu phần cứng của thiết bị, chẳng hạn như cảm biến thời gian bay (hoặc cảm biến ToF) và được chuyển đổi thành giá trị kênh RGB. Video này chỉ được dùng cho mục đích xem trước.
Sự kiện lệnh gọi API
ARCore ghi lại các phép đo từ cảm biến con quay hồi chuyển và gia tốc kế của thiết bị. Ứng dụng này cũng ghi lại các dữ liệu khác, một số dữ liệu có thể mang tính nhạy cảm:
- Phiên bản định dạng tập dữ liệu
- Phiên bản SDK ARCore
- Phiên bản Dịch vụ Google Play cho Thực tế tăng cường
- Vân tay số trên thiết bị (đầu ra của
adb shell getprop ro.build.fingerprint
) - Thông tin bổ sung về các cảm biến dùng để theo dõi AR
- Khi sử dụng ARCore Geospatial API, vị trí ước tính, kết quả đo từ kế và kết quả đo la bàn của thiết bị