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

Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Kebodohan Karyawan Menyalahkan Sistem

Kode Apps Script MailApp untuk Form Mengirimkan Email

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script

Menyembunyikan Failed Load Images di Blogger

Algorithma Bilangan Prima dengan Javascript

Apps Script untuk Mengirimkan Notifikasi Approval

Mencoba Submit Theme di Wordpress.org

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script