Chiều sâu giúp tăng độ chân thực

Hướng dẫn dành riêng cho nền tảng

Là nhà phát triển ứng dụng thực tế tăng cường, bạn muốn kết hợp liền mạch giữa thế giới ảo và thế giới thực cho người dùng. Khi đặt một đối tượng ảo vào cảnh của họ, người dùng muốn đối tượng đó trông giống như trong thế giới thực. Nếu đang xây dựng một ứng dụng để người dùng mua sắm đồ nội thất, bạn muốn họ tin tưởng rằng chiếc ghế bành mà họ sắp mua sẽ phù hợp với không gian của họ.

API Độ sâu giúp máy ảnh của thiết bị hiểu được kích thước và hình dạng của đối tượng thực trong cảnh. Tạo hình ảnh chiều sâu hoặc bản đồ độ sâu, do đó thêm một lớp chân thực vào ứng dụng của bạn. Bạn có thể sử dụng thông tin do hình ảnh chiều sâu cung cấp để mang lại trải nghiệm người dùng sống động và thực tế.

Các trường hợp sử dụng để phát triển bằng Depth API

API Độ sâu có thể giúp che khuất đối tượng, cải thiện độ chìm và các hoạt động tương tác mới giúp nâng cao độ chân thực của trải nghiệm thực tế tăng cường. Sau đây là một số cách bạn có thể sử dụng trong các dự án của mình. Để xem ví dụ về Chiều sâu trong thực tế, hãy khám phá các cảnh mẫu trong Phòng thí nghiệm Độ sâu ARCore. Những cảnh này minh hoạ các cách truy cập dữ liệu độ sâu. Ứng dụng Unity này là nguồn mở trên GitHub.

Bật tính năng che khuất

Hiệu ứng che khuất hoặc hiển thị chính xác một vật thể ảo phía sau vật thể trong thế giới thực là yếu tố rất quan trọng đối với trải nghiệm thực tế tăng cường sống động. Hãy xem xét một cảnh Andy ảo mà người dùng có thể muốn đặt vào một cảnh có thân cây bên cạnh cửa. Được hiển thị mà không bị che khuất, Andy sẽ chồng chéo với mép thân cây theo cách không thực tế. Nếu bạn sử dụng độ sâu của cảnh và hiểu khoảng cách từ khoảng cách của Andy ảo so với môi trường xung quanh như thân cây gỗ, bạn có thể kết xuất Andy ảo một cách chính xác bằng sự che khuất, khiến nó trông thực tế hơn nhiều trong môi trường xung quanh.

Biến đổi cảnh

Đưa người dùng đến một thế giới mới, sống động bằng cách kết xuất những bông tuyết ảo trên cánh tay và gối trên ghế đi-văng hoặc đặt phòng khách của họ trong màn sương mù. Bạn có thể sử dụng Chiều sâu để tạo cảnh nơi ánh sáng ảo tương tác, nấp sau và chiếu sáng vật thể thực.

Khoảng cách và độ sâu trường ảnh

Bạn cần cho thấy rằng có thứ gì đó ở xa? Bạn có thể sử dụng số đo khoảng cách và thêm hiệu ứng độ sâu trường ảnh, chẳng hạn như làm mờ nền hoặc nền trước của một cảnh bằng API Độ sâu.

Cho phép người dùng tương tác với các đối tượng AR

Cho phép người dùng “chạm” vào thế giới thông qua ứng dụng của bạn bằng cách cho phép nội dung ảo tương tác với thế giới thực thông qua xung đột và vật lý. Để các vật thể ảo vượt qua các chướng ngại vật trong thế giới thực hoặc cho những quả đạn sơn ảo bắn tung toé và văng vào cái cây trong thế giới thực. Khi kết hợp va chạm dựa trên độ sâu với vật lý trong trò chơi, bạn có thể tạo ra trải nghiệm sống động.

Cải thiện thử nghiệm nhấn

Có thể dùng chiều sâu để cải thiện kết quả thử nghiệm lượt truy cập. Kiểm thử va chạm trên mặt phẳng chỉ hoạt động trên các bề mặt phẳng có hoạ tiết, trong khi kiểm thử va chạm theo độ sâu chi tiết hơn và hoạt động ngay cả trên các khu vực có hoạ tiết thấp và không phẳng. Điều này là do thử nghiệm nhấn vào độ sâu sử dụng thông tin về độ sâu từ cảnh để xác định độ sâu và hướng chính xác của một điểm.

Trong ví dụ sau, Andys màu xanh lục đại diện cho các thử nghiệm chạm máy bay tiêu chuẩn và Andy màu đỏ đại diện cho các thử nghiệm nhấn theo độ sâu.

Khả năng tương thích với thiết bị

API Độ sâu chỉ được hỗ trợ trên các thiết bị có khả năng xử lý để hỗ trợ độ sâu, và bạn phải bật API này theo cách thủ công trong ARCore, như mô tả trong phần Bật độ sâu.

Một số thiết bị cũng có thể cung cấp cảm biến độ sâu phần cứng, chẳng hạn như cảm biến thời gian bay (ToF). Hãy tham khảo trang Thiết bị được hỗ trợ ARCore để biết danh sách mới nhất về các thiết bị hỗ trợ API Độ sâu và danh sách thiết bị có cảm biến độ sâu phần cứng được hỗ trợ, chẳng hạn như cảm biến ToF.

Hình ảnh chi tiết

API Độ sâu sử dụng thuật toán độ sâu từ chuyển động để tạo hình ảnh chiều sâu, từ đó cho ra chế độ xem 3D về thế giới. Mỗi pixel trong hình ảnh đo chiều sâu được liên kết với thông tin đo lường khoảng cách của cảnh so với máy ảnh. Thuật toán này chụp nhiều hình ảnh thiết bị từ các góc khác nhau và so sánh các hình ảnh đó để ước tính khoảng cách đến mỗi pixel khi người dùng di chuyển điện thoại. Chế độ này sử dụng công nghệ học máy một cách có chọn lọc để tăng cường xử lý chiều sâu, ngay cả khi người dùng chuyển động rất ít. Phương pháp này cũng tận dụng mọi phần cứng bổ sung mà thiết bị của người dùng có thể có. Nếu thiết bị có cảm biến độ sâu chuyên dụng, chẳng hạn như ToF, thì thuật toán sẽ tự động hợp nhất dữ liệu từ tất cả các nguồn có sẵn. Điều này giúp nâng cao chiều sâu hình ảnh hiện có và tạo chiều sâu ngay cả khi máy ảnh không di chuyển. Chế độ này cũng tạo chiều sâu tốt hơn trên các bề mặt có ít hoặc không có đối tượng nào như tường trắng hoặc trong cảnh động có người hoặc vật thể đang chuyển động.

Các hình ảnh sau đây hiển thị hình ảnh máy ảnh về hành lang có một chiếc xe đạp trên tường và hình ảnh trực quan về hình ảnh chiều sâu được tạo từ hình ảnh máy ảnh. Các khu vực màu đỏ ở gần camera hơn và các khu vực màu xanh dương ở xa hơn.

Chiều sâu khi chuyển động

Dữ liệu độ sâu sẽ có khi người dùng di chuyển thiết bị. Thuật toán có thể nhận được ước tính độ sâu mạnh mẽ, chính xác từ 0 đến 65 mét. Kết quả chính xác nhất sẽ là khi thiết bị cách cảnh trong thế giới thực từ nửa mét đến khoảng 5 mét. Những trải nghiệm khuyến khích người dùng di chuyển thiết bị nhiều hơn sẽ mang lại kết quả ngày càng tốt hơn.

Thu thập hình ảnh có chiều sâu

Với API Độ sâu, bạn có thể truy xuất hình ảnh có chiều sâu khớp với mọi khung hình của máy ảnh. Hình ảnh chiều sâu thu được có cùng dấu thời gian và trường nhìn như máy ảnh. Dữ liệu độ sâu hợp lệ chỉ có sẵn sau khi người dùng bắt đầu di chuyển thiết bị, vì độ sâu có được từ chuyển động. Các bề mặt có ít hoặc không có đặc điểm, chẳng hạn như tường trắng, sẽ có độ sâu không chính xác.

Bước tiếp theo