Trước khi tìm hiểu kỹ hơn về ARCore, bạn nên nắm được một số khái niệm cơ bản. Các khái niệm này cùng minh hoạ cách ARCore hỗ trợ các trải nghiệm có thể khiến nội dung ảo trông như nằm trên khu vực thực hoặc gắn vào các vị trí trong thế giới thực.
Theo dõi chuyển động
Khi điện thoại của bạn di chuyển trên khắp thế giới, ARCore sử dụng một quy trình tên là bản địa hoá và ánh xạ đồng thời (SLAM) để hiểu vị trí của điện thoại so với thế giới xung quanh. ARCore phát hiện các tính năng khác biệt về hình ảnh trong hình ảnh máy ảnh đã chụp được gọi là điểm nổi bật và sử dụng các điểm này để tính toán sự thay đổi về vị trí. Thông tin hình ảnh được kết hợp với các phép đo quán tính từ IMU của thiết bị để ước tính tư thế (vị trí và hướng) của máy ảnh so với thế giới theo thời gian.
Bằng cách căn chỉnh tư thế của máy ảnh ảo kết xuất nội dung 3D với tư thế máy ảnh của thiết bị do ARCore cung cấp, các nhà phát triển có thể kết xuất nội dung ảo từ góc nhìn chính xác. Hình ảnh ảo đã kết xuất có thể phủ lên trên hình ảnh thu được từ máy ảnh của thiết bị, khiến hình ảnh này trông như thể nội dung ảo là một phần của thế giới thực.
Hiểu biết về môi trường
ARCore không ngừng cải thiện sự hiểu biết về môi trường thực tế bằng cách phát hiện các điểm và mặt phẳng tính năng.
ARCore tìm kiếm các cụm điểm tính năng có vẻ nằm trên các bề mặt ngang hoặc dọc phổ biến (chẳng hạn như bảng hoặc tường) và cung cấp các bề mặt này cho ứng dụng dưới dạng mặt phẳng hình học. ARCore cũng có thể xác định ranh giới của từng mặt phẳng hình học và cung cấp thông tin đó cho ứng dụng của bạn. Bạn có thể dùng thông tin này để đặt các đối tượng ảo nằm trên mặt phẳng.
Vì ARCore sử dụng các điểm tính năng để phát hiện mặt phẳng, nên các bề mặt phẳng không có hoạ tiết (chẳng hạn như tường trắng) có thể không được phát hiện chính xác.
Hiểu rõ
ARCore có thể tạo bản đồ độ sâu, hình ảnh chứa dữ liệu về khoảng cách giữa các bề mặt tính từ một điểm nhất định, sử dụng máy ảnh RGB chính trên một thiết bị được hỗ trợ. Bạn có thể sử dụng thông tin do bản đồ độ sâu cung cấp để mang lại trải nghiệm người dùng sống động và thực tế, chẳng hạn như làm cho các đối tượng ảo va chạm chính xác với các bề mặt quan sát được hoặc làm cho chúng xuất hiện phía trước hoặc phía sau đối tượng trong thế giới thực.
Ước tính ban đầu
ARCore có thể phát hiện thông tin về ánh sáng của môi trường, cung cấp cho bạn cường độ trung bình cũng như hiệu chỉnh màu của một hình ảnh máy ảnh nhất định. Thông tin này cho phép bạn chiếu sáng các đối tượng ảo trong cùng điều kiện với môi trường xung quanh, giúp tăng cảm giác chân thực.
Tương tác của người dùng
ARCore sử dụng kiểm thử nhấn để lấy toạ độ (x,y) tương ứng với màn hình điện thoại (được cung cấp bằng một lần nhấn hoặc bất kỳ hoạt động tương tác nào khác mà bạn muốn ứng dụng hỗ trợ) và chiếu một tia vào chế độ xem thế giới của máy ảnh, trả về mọi mặt phẳng hình học hoặc điểm đặc trưng mà tia giao cắt, cùng với tư thế của điểm giao nhau đó trong không gian thế giới. Điều này cho phép người dùng chọn hoặc tương tác với các đối tượng trong môi trường.
Điểm định hướng
Điểm định hướng cho phép bạn đặt các vật thể ảo trên các bề mặt góc. Khi bạn thực hiện kiểm thử lượt truy cập trả về một điểm tính năng, ARCore sẽ xem xét các điểm tính năng ở gần và sử dụng các điểm đó để cố gắng ước tính góc của bề mặt tại điểm tính năng nhất định. Sau đó, ARCore sẽ trả về một tư thế có tính đến góc đó.
Do ARCore sử dụng các cụm điểm tính năng để phát hiện góc của bề mặt nên các bề mặt không có hoạ tiết (chẳng hạn như tường màu trắng) có thể không được phát hiện chính xác.
Neo và thành phần có thể theo dõi
Vị trí có thể thay đổi khi ARCore cải thiện hiểu biết về vị trí và môi trường của chính nó. Khi muốn đặt một đối tượng ảo, bạn cần xác định một meo để đảm bảo rằng ARCore theo dõi vị trí của đối tượng theo thời gian. Thông thường, bạn tạo một liên kết dựa trên tư thế do quy trình kiểm thử lượt truy cập trả về, như mô tả trong phần tương tác của người dùng.
Trên thực tế, tư thế có thể thay đổi tức là ARCore có thể cập nhật vị trí của các đối tượng môi trường như mặt phẳng hình học và điểm đối tượng theo thời gian. Mặt phẳng và điểm là một loại đối tượng đặc biệt được gọi là có thể theo dõi. Giống như tên cho thấy, đây là các đối tượng mà ARCore sẽ theo dõi theo thời gian. Bạn có thể neo các đối tượng ảo với các thành phần theo dõi cụ thể để đảm bảo rằng mối quan hệ giữa đối tượng ảo và đối tượng theo dõi được duy trì ổn định ngay cả khi thiết bị di chuyển xung quanh. Điều này có nghĩa là nếu bạn đặt một tượng Android ảo trên không gian làm việc, nếu sau đó ARCore điều chỉnh vị trí của mặt phẳng hình học liên kết với không gian làm việc đó, thì tượng Android sẽ vẫn xuất hiện ở trên đầu bảng.
Để biết thêm thông tin, hãy xem bài viết Xử lý quảng cáo cố định cuối màn hình
Hình ảnh tăng cường
Hình ảnh tăng cường là một tính năng cho phép bạn xây dựng các ứng dụng thực tế tăng cường có khả năng phản hồi các hình ảnh 2D cụ thể, chẳng hạn như bao bì sản phẩm hoặc áp phích phim. Người dùng có thể kích hoạt trải nghiệm thực tế tăng cường khi họ hướng máy ảnh của điện thoại vào một số hình ảnh cụ thể, chẳng hạn như họ có thể hướng máy ảnh của điện thoại vào một áp phích phim rồi để một nhân vật bật ra và dựng một cảnh.
ARCore cũng theo dõi các hình ảnh chuyển động, chẳng hạn như biển quảng cáo ở bên cạnh một chiếc xe buýt đang di chuyển.
Hình ảnh có thể được biên dịch ngoại tuyến để tạo cơ sở dữ liệu hình ảnh hoặc thêm từng hình ảnh theo thời gian thực từ thiết bị. Sau khi đăng ký, ARCore sẽ phát hiện những hình ảnh này, ranh giới của hình ảnh và trả về một tư thế tương ứng.
Chia sẻ
API ARCore Cloud Anchor API cho phép bạn tạo các ứng dụng cộng tác hoặc nhiều người chơi cho thiết bị Android và iOS.
Với phương thức Neo trên đám mây, một thiết bị sẽ gửi điểm neo và điểm tính năng lân cận đến đám mây để lưu trữ. Bạn có thể chia sẻ các quảng cáo cố định này với người dùng khác trên thiết bị Android hoặc iOS trong cùng một môi trường. Điều này cho phép các ứng dụng kết xuất cùng một đối tượng 3D được gắn với các neo này, cho phép người dùng có cùng trải nghiệm AR cùng lúc.
Tìm hiểu thêm
Hãy bắt đầu áp dụng các khái niệm này bằng cách xây dựng trải nghiệm thực tế tăng cường trên nền tảng mà bạn chọn.