Modifikasi Obyek 3D Hellosceneform dengan MeshLab
Hellosceneform adalah contoh project Android penggunaan ARCore, yang saat tulisan ini ditulis dapat di download di sini.
Sedangkan MeshLab adalah software viewer model 3D yang dapat digunakan untuk memodifikasi obyek 3D yang akan digunakan di Hellosceneform.
Modifikasi ini perlu dilakukan terkait konsumsi memori yang akan dipergunakan device Android.
Semakin banyak jumlah titik pada obyek 3D, akan membutuhkan konsumsi memori yang tinggi.
Sehingga obyek perlu di kompres dengan MeshLab sebagaimana rupa, supaya ringan dan dapat dijalankan di device Android, meskipun kapasitas memorinya kecil.
Selain itu, ARCore mensyaratkan volume obyek harus tidak boleh lebih besar dari 1.0x1.0x1.0 satuan, yang mana penulis menggunakan MeshLab untuk merubah skala dibawah syarat ukuran di atas, jika obyek yang dimasukkan berukuran volume lebih besar.
Berikut ini adalah contoh langkah-langkah modifikasi penggunaan MeshLab untuk modifikasi obyek 3D sebagai pengganti obyek di project Hellosceneform.
Rotasi
Agar obyek dapat tampil sesuai arah mukanya, maka obyek perlu dirotasi menggunakan menu rotasi di MeshLab, yaitu berada di menu Filters, Normals, Curvatures and Orientation-Transform:Rotate.
Lakukan perubahan rotasi sesuai koordinat x, y, atau z sesuai yang dibutuhkan. Dan jika perlu aktifkan checkbox Preview untuk melihat setiap perubahan-perubahan rotasi yang dilakukan.
Kompresi
Agar konsumsi memori device Android tidak terlalu tinggi saat aplikasi Hellosceneform membuka obyek 3D-nya, obyek 3D dapat dikompres menggunakan menu Filters-Remeshing, Simplification, and Reconstruction-Simplification: Quadric Edge Collapse Decimation.
Translate
Posisi obyek 3D yang diperlukan adalah sebisa mungkin berada di tengah.
Oleh karena itu posisi obyek dapat disesuaikan dengan menggunakan menu Filters-Normals, Curvatures and Orientation-Transform:Translate, Center, set Origin.
Skala
Terakhir, jika volume obyek terlalu besar atau sebaliknya, maka volume dapat di perkecil atau diperbesar menggunakan menu Filters-Normals, Curvatures and Orientation-Transform: Scale, Normalize.
Penulis menggunakan Google Spreadsheet untuk menghitung volume obyek 3D di atas:
Project
Model 3D dari MeshLab dieksport dan dimasukkan ke folder sampledata-models.
Kemudian sceneform.asset yang terdapat di file build.grandle diubah sesuai nama obyek, seperti ditunjukkan gambar dibawah ini:
Setelah di sinkronisasi dan dengan menekan tombol Rebuild Project, serta jika obyek memenuhi syarat inisialisasi ARCore, maka file indonesian.sfa dan indonesian.sfb akan dibuat secara otomatis.
Berdasarkan pengalaman penulis, Android Studio akan lebih cepat mengkompilasi, dengan menghapus terlebih dahulu file sfa dan sfb, jika dibuat perubahan pada file obyek 3D-nya.
Video dibawah ini adalah aplikasi hasil modifikasi file Hellosceneform percobaan di atas:
Tidak hanya di dunia pendidikan, penulis rasa ARCore dapat digunakan juga untuk keperluan marketing, seperti untuk display produk atau prototype yang akan dipublish.
Referensi
- Shapeways. 2019. Polygon reduction with MeshLab. https://support.shapeways.com/hc/en-us/articles/360022742294-Polygon-reduction-with-Meshlab. Diakses tanggal 9 Oktober 2019.
- McGuire, Morgan. 2018. McGuire Computer Graphics Archive. https://casual-effects.com/data/. Diakses tanggal 9 Oktober 2019.
- Google. 2019. ARCore-Google Developers. https://developers.google.com/ar/. Diakses tanggal 13 September 2019.
- Google. 2019. Sceneform SDK for Android. https://github.com/google-ar/sceneform-android-sdk. Diakses tanggal 13 September 2019.
Komentar
Posting Komentar