Panduan khusus platform
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
Sebagai developer aplikasi AR, Anda ingin memadukan virtual dengan dunia nyata secara lancar untuk pengguna. Saat pengguna menempatkan objek virtual di adegannya, mereka ingin objek tersebut terlihat seperti berada di dunia nyata. Jika Anda membuat aplikasi untuk pengguna 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 sebuah adegan. API 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 memungkinkan pengalaman pengguna yang imersif dan realistis.
Kasus penggunaan untuk pengembangan dengan Depth API
Depth API dapat mendukung oklusi objek, imersi yang ditingkatkan, dan interaksi baru yang meningkatkan realisme pengalaman AR. Berikut beberapa cara Anda dapat menggunakannya dalam project Anda sendiri. Untuk contoh Depth dalam tindakan, jelajahi adegan contoh di ARCore Depth Lab, yang menunjukkan berbagai cara untuk mengakses data kedalaman. Aplikasi Unity ini bersifat open source di Github.
Mengaktifkan oklusi
Oklusi, atau merender objek virtual secara akurat di belakang objek dunia nyata, sangat penting untuk pengalaman AR yang imersif. Pertimbangkan Andy virtual yang mungkin ingin ditempatkan pengguna dalam adegan yang berisi bagasi di samping pintu. Jika dirender tanpa oklusi, Andy akan tumpang tindih secara tidak realistis dengan tepi bagasi. Jika Anda menggunakan kedalaman adegan dan memahami seberapa jauh Andy virtual relatif terhadap lingkungan seperti bagasi kayu, Anda dapat merender Andy secara akurat dengan oklusi, sehingga membuatnya terlihat jauh lebih realistis di lingkungannya.

Mengubah adegan
Tampilkan pengguna Anda ke dunia baru yang imersif dengan merender kepingan salju virtual yang akan menempel di lengan dan bantal sofa mereka, atau membuat ruang keluarga mereka terlihat berkabut. Anda dapat menggunakan Depth untuk membuat adegan tempat lampu virtual berinteraksi, bersembunyi di belakang, dan menyalakan kembali objek nyata.
Jarak dan kedalaman bidang
Perlu menunjukkan bahwa sesuatu itu jauh? Anda dapat menggunakan pengukuran jarak dan menambahkan efek kedalaman bidang, seperti mengaburkan latar belakang atau latar depan adegan, dengan Depth API.
Mengaktifkan interaksi pengguna dengan objek AR
Izinkan pengguna untuk “menyentuh” dunia melalui aplikasi Anda dengan mengaktifkan konten virtual untuk berinteraksi dengan dunia nyata melalui tabrakan dan fisika. Buat objek virtual melewati rintangan dunia nyata, atau buat paintball virtual mengenai dan memercik ke pohon dunia nyata. Saat menggabungkan tabrakan berbasis kedalaman dengan fisika game, Anda dapat membuat pengalaman menjadi nyata.
Meningkatkan pengujian hit
Kedalaman dapat digunakan untuk meningkatkan hasil pengujian hit. Pengujian hit bidang hanya berfungsi pada permukaan planar dengan tekstur, sedangkan pengujian hit kedalaman lebih mendetail dan berfungsi bahkan di area non-planar dan tekstur rendah. Hal ini karena pengujian hit kedalaman menggunakan informasi kedalaman dari adegan untuk menentukan kedalaman dan orientasi titik yang benar.
Pada contoh berikut, Andy hijau mewakili pengujian hit bidang standar dan Andy merah mewakili pengujian hit kedalaman.
Kompatibilitas perangkat
Depth API hanya didukung di perangkat dengan daya pemrosesan untuk mendukung kedalaman, dan harus diaktifkan secara manual di ARCore, seperti yang dijelaskan dalam Mengaktifkan Kedalaman.
Beberapa perangkat juga dapat menyediakan sensor kedalaman hardware, seperti sensor waktu terbang (ToF). Lihat halaman perangkat yang didukung ARCore untuk mengetahui daftar perangkat terbaru yang mendukung Depth API dan daftar perangkat yang memiliki sensor kedalaman hardware 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 sudut yang berbeda dan membandingkannya untuk memperkirakan jarak ke setiap piksel saat pengguna memindahkan ponselnya. Algoritma ini menggunakan machine learning secara selektif untuk meningkatkan pemrosesan kedalaman, bahkan dengan gerakan minimal dari pengguna. Algoritma ini juga memanfaatkan hardware tambahan yang mungkin dimiliki perangkat pengguna. Jika perangkat memiliki sensor kedalaman khusus, seperti ToF, algoritma akan otomatis menggabungkan data dari semua sumber yang tersedia. Hal ini meningkatkan gambar kedalaman yang ada dan memungkinkan kedalaman bahkan saat kamera tidak bergerak. Hal 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 akan tersedia saat pengguna memindahkan perangkatnya. Algoritma ini dapat memperoleh perkiraan kedalaman yang akurat dan kuat dari jarak 0 hingga 65 meter. Hasil paling akurat diperoleh saat perangkat berjarak setengah meter hingga sekitar lima meter dari adegan dunia nyata. Pengalaman yang mendorong pengguna untuk memindahkan perangkatnya akan mendapatkan hasil yang lebih baik.
Mendapatkan gambar kedalaman
Dengan Depth API, Anda dapat mengambil gambar kedalaman yang cocok dengan setiap frame kamera. Gambar kedalaman yang diperoleh memiliki stempel waktu dan intrinsik kolom tampilan yang sama dengan kamera. Data kedalaman yang valid hanya tersedia setelah pengguna mulai memindahkan perangkatnya, 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.