Menggunakan easyar mega untuk okulusi di unity
Okulusi (Occlusion) adalah teknologi kunci untuk meningkatkan imersi fusi realitas-virtual dalam AR. Artikel ini akan memperkenalkan cara mencapai efek okulusi di Unity melalui EasyAR Mega.
Sebelum memulai
- Selesaikan panduan cepat menggunakan sampel unity easyar mega.
- Mampu membuat konten yang selaras dengan dunia nyata.
Cara implementasi okulusi
Pemodelan offline: Dalam sistem koordinat Block, buat geometri yang cocok 1:1 dengan entitas dunia nyata (seperti dinding, pilar, peralatan besar); atau dapatkan model yang dioptimalkan dengan memotong dan mengurangi permukaan model padat Block.
Penyelerasan runtime: Saat runtime, selaraskan sistem koordinat Block dengan ruang nyata melalui pelokalan awan, dan muat geometri yang sesuai.
Penggantian material: Berikan material okulusi khusus pada geometri ini.
Efek visual: Saat GPU merender objek virtual lain, piksel yang terhalang akan otomatis dihilangkan karena uji kedalaman tidak lulus, sehingga objek virtual mengikuti logika okulusi ruang fisik nyata.
Cara menggunakan geometri sebagai okulusi
Ikuti langkah-langkah berikut untuk menambahkan geometri sebagai okulusi ke adegan dan verifikasi efeknya.
Menempatkan geometri okulusi
Gunakan geometri bawaan atau geometri buatan sendiri sebagai okulusi, tempatkan pada posisi yang benar dalam sistem koordinat Block berdasarkan model padat Mega Block.

[Opsional] Sesuaikan posisi geometri berdasarkan gambar panorama

Berikan material okulusi pada geometri
Ubah material geometri menjadi material okulusi, Anda dapat menggunakan SpatialMappingOcculusion bawaan Unity.

Gunakan data eif untuk simulasi atau jalankan di perangkat nyata
Anda dapat menyesuaikan penempatan model okulusi berdasarkan efek runtime.
Cara menggunakan model padat yang dipotong dan dikurangi permukaannya sebagai okulusi
Ikuti langkah-langkah berikut untuk mengekspor model padat Mega Block, memotong dan mengurangi permukaannya untuk mendapatkan model putih sebagai okulusi, dan mengimpornya ke adegan sebagai okulusi.
Ekspor di mega blocks
Di panel inspector, pilih ekspor di alat mega blocks

Ubah opsi ekspor
Perhatikan untuk mengubah opsi ekspor saat mengekspor.

Angka 1 adalah level LOD, semakin rendah levelnya, model semakin sederhana, jumlah permukaan semakin sedikit. Jika memerlukan presisi tertinggi pilih 2, jika dapat menerima pengurangan presisi untuk mengurangi jumlah permukaan pilih 1 atau 0.
Angka 2 adalah opsi ekspor tekstur, karena kita hanya memerlukan model putih sebagai okulusi, tidak memerlukan tekstur.
Potong dan kurangi permukaan model
Lakukan pemotongan dan pengurangan permukaan pada model yang diekspor di perangkat lunak pembuatan konten digital (misalnya Blender), simpan sebagai Glb.
Kiat
Contoh ini menggunakan Decimate Modifier di Blender.

Setelah dipotong dan dikurangi permukaannya:

Impor model okulusi ke unity dan pasang di bawah node block di adegan

Ubah transform model
Ubah transform model sehingga position, rotation semuanya menjadi 0.
Pada saat ini, model putih untuk okulusi harus menempel dengan model padat, karena dalam operasi pemotongan dan pengurangan permukaan di perangkat lunak pembuatan konten digital, definisi sistem koordinat Block tidak diubah.

Berikan material okulusi pada model
Ubah material model menjadi material okulusi, Anda dapat menggunakan SpatialMappingOcculusion bawaan Unity.

Gunakan data eif untuk simulasi atau jalankan di perangkat nyata
Gunakan data eif untuk simulasi atau jalankan di perangkat nyata, lihat efeknya.
Ekspektasi efek okulusi
Efek okulusi terutama dipengaruhi oleh:
- Akurasi pelacakan pelokalan itu sendiri
- Tingkat akurasi penempatan model
- Akurasi model itu sendiri (jika bukan geometri sederhana)
Ketidakselarasan beberapa sentimeter saat pelokalan mengalami drift adalah hal yang normal.
Model okulusi dengan terlalu banyak permukaan dapat memengaruhi kinerja, disarankan hanya digunakan di area yang diperlukan, dan sebisa mungkin gunakan geometri sederhana sebagai okulusi.