Table of Contents

Memilih mesin 3d sebelum pengembangan realitas tertambah

Langkah pertama dalam pengembangan AR adalah memilih mesin 3D yang sesuai. Bab ini menjelaskan mengapa mesin 3D diperlukan, mesin 3D umum dalam pengembangan AR, serta kelebihan dan kekurangan masing-masing.

Mengapa AR membutuhkan mesin 3d

Realitas tertambah bukan sekadar menumpangkan gambar 2D atau 3D di atas umpan kamera, melainkan sistem tiga dimensi real-time. Kemampuan intinya juga mungkin mencakup:

  • Pemodelan kamera nyata Agar objek virtual yang dirender terlihat lebih nyata di dunia nyata, perlu menyesuaikan matriks proyeksi kamera dalam mesin 3D yang digunakan untuk rendering berdasarkan parameter yang digunakan oleh gambar kamera aktual (misalnya, parameter intrinsik dan ekstrinsik, model distorsi, dll.).
  • Manajemen sistem koordinat spasial Mengelola secara terpadu posisi dan orientasi antara perangkat, lingkungan, konten AR, dll. Bertanggung jawab atas pemilihan, pengaturan, dan konversi antara koordinat dunia, koordinat kamera, dan koordinat perangkat.
  • Rendering tiga dimensi real-time Mencapai efek oklusi yang realistis antara objek virtual dan lingkungan berdasarkan kedalaman pemandangan yang diperkirakan secara real-time atau mesh yang dibangun kembali, mensimulasikan bayangan berdasarkan algoritma estimasi pencahayaan, mencapai efek fusi real-virtual yang meyakinkan.
  • Manajemen sumber daya dan siklus hidup Mengelola sumber daya dan konten AR virtual, mencakup manajemen siklus hidupnya seperti pemuatan, penayangan, dan pembongkaran.

Kemampuan-kemampuan ini membentuk tanggung jawab inti dari mesin 3D tipikal. Oleh karena itu, memilih mesin 3D yang sesuai berdasarkan kebutuhan proyek spesifik adalah salah satu prasyarat penting untuk mencapai efek AR dengan cepat.

Mesin 3d umum

EasyAR mendukung berbagai mesin 3D, termasuk mesin 3D umum seperti Unity, Unreal, atau pengembangan native. EasyAR menyediakan contoh dan dokumentasi pengembangan untuk Unity dan Native.

Unity

Unity diposisikan sebagai mesin 3D real-time serbaguna dan merupakan pilihan pertama bagi sebagian besar pengembang AR saat ini. Unity secara native mendukung pengembangan lintas platform untuk Windows/macOS serta iOS/Android/visionOS. Ekosistem Unity matang, dengan dokumentasi dan contoh yang lengkap.

Native

Dibandingkan dengan menggunakan mesin berlapis tinggi seperti Unity, pengembangan AR langsung berdasarkan API grafis native (seperti OpenGL, Vulkan, Metal) kelebihannya dapat diringkas sebagai berikut: ketergantungan sistem sedikit, lingkungan operasi dapat sangat disederhanakan, memungkinkan penyesuaian mendalam pada model kamera dan algoritma dasar. Pengembangan dengan API native memiliki biaya rekayasa dan pemeliharaan yang tinggi, kurangnya editor dan alat debug yang matang, efisiensi iterasi rendah, kesulitan besar dalam lintas platform, tidak menguntungkan untuk pengiriman produk yang cepat, biasanya digunakan untuk implementasi fungsi-fungsi sederhana.

Web

Web tidak memerlukan instalasi, dapat digunakan berdasarkan browser, biaya distribusi dan jangkauan sangat rendah. Secara alami lintas platform, cocok untuk peluncuran cepat dan akses pengguna skala besar. Ambang pengembangan relatif lebih rendah, ekosistem front-end matang.

Saat ini Web dalam aplikasi AR masih cukup terbatas, terutama terlihat dalam kinerja yang dibatasi oleh browser dan sandbox keamanan sehingga dukungan untuk kemampuan inti AR seperti pelacakan gerak, oklusi, pencahayaan presisi tidak memadai, akses kemampuan perangkat terbatas, stabilitas dan konsistensi sulit dijamin. Oleh karena itu Web AR cocok untuk "tampilan dan pemasaran ringan", tidak cocok untuk aplikasi AR kompleks yang membutuhkan presisi tinggi dan interaksi kuat.

Bacaan lebih lanjut