Kedalaman menambahkan realisme

Panduan khusus platform

Sebagai developer aplikasi AR, Anda ingin memadukan virtual dengan nyata untuk pengguna Anda dengan lancar. Ketika pengguna menempatkan objek virtual di dalam scene, mereka ingin objek tersebut terlihat seperti di dunia nyata. Jika Anda membuat aplikasi bagi pengguna untuk berbelanja furnitur, Anda ingin mereka yakin bahwa kursi berlengan yang akan mereka beli akan sesuai dengan ruangan mereka.

Depth API membantu kamera perangkat memahami ukuran dan bentuk objek nyata dalam adegan. Fitur ini membuat gambar kedalaman, atau peta kedalaman, sehingga menambahkan lapisan realisme ke dalam aplikasi Anda. Anda dapat menggunakan informasi yang diberikan oleh gambar kedalaman untuk memberikan pengalaman pengguna yang imersif dan realistis.

Kasus penggunaan untuk pengembangan dengan Depth API

Depth API dapat mendukung oklusi objek, peningkatan imersif, dan interaksi baru yang meningkatkan realisme pengalaman AR. Berikut adalah beberapa cara menggunakannya dalam project Anda sendiri. Untuk mengetahui contoh penerapan Depth, pelajari contoh scene di ARCore Depth Lab, yang menunjukkan berbagai cara untuk mengakses data kedalaman. Aplikasi Unity ini adalah open source di GitHub.

Aktifkan oklusi

Oklusi, atau merender objek virtual secara akurat di belakang objek dunia nyata, sangat penting untuk pengalaman AR yang imersif. Bayangkan Andy virtual yang mungkin ingin ditempatkan pengguna dalam adegan yang berisi bagasi di samping pintu. Ditampilkan tanpa oklusi, Andy akan tumpang tindih secara tidak realistis dengan tepi batang. Jika Anda menggunakan kedalaman adegan dan memahami seberapa jauh Andy virtual relatif terhadap lingkungan seperti batang kayu, Anda dapat merender Andy dengan oklusi secara akurat, sehingga membuatnya tampak jauh lebih realistis di sekitarnya.

Mengubah suasana

Tunjukkan kepada pengguna Anda ke dunia baru yang imersif dengan merender kepingan salju virtual untuk diletakkan di lengan dan bantal sofa mereka, atau membuat ruang tamu mereka tertutup kabut. Anda dapat menggunakan Depth untuk membuat suasana tempat lampu virtual berinteraksi, bersembunyi di belakang, dan menerangi objek nyata.

Jarak dan kedalaman bidang

Perlu menunjukkan bahwa ada yang jauh? Anda dapat menggunakan pengukuran jarak dan menambahkan efek kedalaman lapangan, seperti memburamkan latar belakang atau latar depan pemandangan, dengan Depth API.

Memungkinkan interaksi pengguna dengan objek AR

Izinkan pengguna untuk “menyentuh” dunia melalui aplikasi Anda dengan memungkinkan konten virtual berinteraksi dengan dunia nyata melalui tabrakan dan fisika. Minta objek virtual melewati rintangan di dunia nyata, atau bola cat virtual menabrak dan jatuh ke pohon di dunia nyata. Saat menggabungkan tabrakan berbasis kedalaman dengan fisika game, kamu bisa membuat pengalaman menjadi nyata.

Meningkatkan hit-test

Kedalaman dapat digunakan untuk meningkatkan hasil hit-test. Hit-test pesawat hanya berfungsi pada permukaan planar dengan tekstur, sedangkan hit-test kedalaman lebih mendetail dan berfungsi bahkan pada area yang tidak datar dan bertekstur rendah. Hal ini karena hit-test kedalaman menggunakan informasi kedalaman dari scene untuk menentukan kedalaman dan orientasi titik yang benar.

Dalam contoh berikut, Andy yang berwarna hijau mewakili hit-test bidang standar dan Andys merah mewakili depth hit-test.

Kompatibilitas perangkat

Depth API hanya didukung di perangkat dengan kekuatan pemrosesan untuk mendukung depth, dan harus diaktifkan secara manual di ARCore, seperti yang Aktifkan Kedalaman.

Beberapa perangkat juga menyediakan sensor kedalaman hardware, seperti waktu penerbangan (ToF). Lihat halaman Perangkat yang didukung ARCore untuk mengetahui daftar terbaru perangkat yang mendukung Depth API dan daftar perangkat yang memiliki sensor kedalaman perangkat keras yang didukung, seperti sensor ToF.

Gambar kedalaman

Depth API menggunakan algoritma kedalaman dari gerakan untuk membuat gambar kedalaman, yang memberikan tampilan 3D dunia. Setiap piksel dalam gambar kedalaman dikaitkan dengan pengukuran seberapa jauh adegan dari kamera. Algoritma ini mengambil beberapa gambar perangkat dari berbagai sudut dan membandingkannya untuk memperkirakan jarak ke setiap piksel saat pengguna menggerakkan ponselnya. Fitur ini menggunakan machine learning secara selektif untuk meningkatkan pemrosesan kedalaman, bahkan dengan gerakan minimal dari pengguna. AI generatif juga memanfaatkan perangkat keras tambahan yang mungkin dimiliki perangkat pengguna. Jika perangkat memiliki sensor kedalaman khusus, seperti ToF, algoritme akan otomatis menggabungkan data dari semua sumber yang tersedia. Hal ini akan meningkatkan kualitas gambar kedalaman yang ada dan mengaktifkan kedalaman bahkan saat kamera tidak bergerak. Warna ini juga memberikan kedalaman yang lebih baik pada permukaan dengan sedikit atau tanpa fitur, seperti dinding putih, atau dalam adegan dinamis dengan orang atau objek yang bergerak.

Gambar berikut menunjukkan gambar kamera lorong dengan sepeda di dinding, dan visualisasi gambar kedalaman yang dibuat dari gambar kamera. Area berwarna merah lebih dekat ke kamera, dan area berwarna biru lebih jauh.

Kedalaman dari gerakan

Data kedalaman tersedia saat pengguna memindahkan perangkat. Algoritme ini bisa mendapatkan perkiraan kedalaman yang kuat dan akurat dari jarak 0 hingga 65 meter. Hasil yang paling akurat muncul saat perangkat berjarak setengah meter hingga sekitar lima meter dari pemandangan dunia nyata. Pengalaman yang mendorong pengguna untuk lebih sering memindahkan perangkat akan mendapatkan hasil yang lebih baik.

Mendapatkan gambar kedalaman

Dengan Depth API, Anda dapat mengambil gambar kedalaman yang cocok dengan setiap bingkai kamera. Gambar kedalaman yang diperoleh memiliki intrinsik dan ruang pandang yang sama dengan stempel waktu kamera. Data kedalaman yang valid hanya tersedia setelah pengguna mulai menggerakkan perangkat, karena kedalaman diperoleh dari gerakan. Permukaan dengan sedikit atau tanpa fitur, seperti dinding putih, akan dikaitkan dengan kedalaman yang tidak akurat.

Langkah selanjutnya

  • Lihat ARCore Depth Lab, yang menunjukkan berbagai cara untuk mengakses data kedalaman.