Last Updated on 13 years by Mas Herdi
Ini adalah surat dari Pembaca : burhanhasib@xxxxxx.xxxx
Salam kenal Mas… saya belajar banyak dari blog Anda, dan terimakasih sebelumnya atas tutorial-tutorialnya tentang pengembangan aplikasn Android.
Sekrang saya lagi butuh tutorial cara menampilkan file 3D di android Mas. Saya sudah dapatkan tutorialnya dari Internet, contohnya dari http://xxxx.xxx (suatu url di internet). Namun kebanyakan tutorialnya menggunakan bahasa Inggris dan saya kurang begitu paham.
Saya minta tolong dengan sangat agar Mas mau membuatkan tutorialnya dalam bahasa Indonesia. Terima Kasih banyak sebelumnya Mas…
Ketika ingin menampilkan/rendering 3D model pada Android, ada banyak framework yang bisa dipakai. Dari tutorial yang diberikan oleh Mas Burhan di http://xxxx.xxx, di sana memakai framework min3D yang sayangnya sekarang sudah tidak di-maintenance lagi. Karena itu di situ juga disarankan untuk memakain framework 3D lainnya, seperti rajawali. Dan karena itu pula tutorial di sana sudah obsolete, dan banyak error apabila dijalankan. Saya sudah mencoba memperbaikinya dan Alhamdulillah bisa 😀
Yang dimaksud dengan 3D Models adalah file-file yang dihasilkan ketika kita membuat file 3D menggunakan software seperti Blender, 3DSMax, dan sebagainya. File yang digunakan di sini adalah file .obj. File tersebut memuat definisi geometri dari suatu objek 3D.
Biasanya objek tersebut juga bisa ditambahkan dengan texture yang berupa file .jpg, dan untuk mengaplikasikan tekstur jpg itu, mas Burhan juga harus mempunyai file .mtl. Ketiga file itu dapat di-download di link berikut :
- camaro_obj (masukkan ke folder /res/raw dan beri nama camaro_obj)
- camaro_mtl (masukkan ke folder /res/raw , beri nama seperti camaro_mtl)
- camaro.jpg (masukkan ke folder /res/drawable)
Jangan lupa juga untuk mendownload min3D library di sini, export ke Eclipse, kemudian set as library.
Kemudian buat sebuah proyek Android baru, dengan menggunakan min3D sebagai library-nya. Nama project terserah, nama Main Activity Class : MainActivity.java, dan nama package : id.web.twoh.min3dsample
Cara mengeset library, klik kanan pada project Android yang dibuat, klik Properties, > Android > pada bagian bawah ada tulisan library > Add > pilih min3D.
Setelah itu, pastekan kode berikut pada Main Activity :
package id.web.twoh.min3dsample; import min3d.core.Object3dContainer; import min3d.core.RendererActivity; import min3d.parser.IParser; import min3d.parser.Parser; import min3d.vos.Light; /** * How to load a model from a .obj file * * @author dennis.ippel * * * With modification by : Hafizh Herdi Naufal * http://twoh.co */ public class MainActivity extends RendererActivity { private Object3dContainer objModel; @Override public void initScene() { scene.lights().add(new Light()); IParser parser = Parser.createParser(Parser.Type.OBJ, getResources(), "id.web.twoh.min3dsample:raw/camaro_obj", true); parser.parse(); objModel = parser.getParsedObject(); objModel.scale().x = objModel.scale().y = objModel.scale().z = .7f; scene.addChild(objModel); } @Override public void updateScene() { objModel.rotation().x++; objModel.rotation().z++; } }
Setelah dicopy-pastekan, pastikan tidak ada error, bila ada error berarti ada kesalahan saat mengeset library-nya.
Pada kode di atas, kita membuat sebuah scene baru dengan sebuah object 3D pada method initScene(). Metoda createParser() berfungsi untuk membuat sebuah model objek 3D dari sebuah file .obj, dengan mengambil dari resource. Tatanamanya adalah <android-package>:<resource-path>, sehingga file .obj bisa kita ambil dari id.web.twoh.min3dsample:raw/camaro_obj.
Setelah kita mendapatkan model 3D yang diinginkan, kita akan melakukan beberapa scaling(pernyesuaian ukuran) supaya ukurannya berada tepat di tengah layar emulator Android. Lalu kita tambahkan object itu ke dalam scene, untuk kemudian ditampilkan.
Method selanjutnya, updateScene() berfungsi untuk memutar/merotasikan object sehingga kelihatan kalau objek tersebut berbentuk 3D.
Sekarang coba jalankan aplikasinya, kalau berhasil akan menghasilkan tampilan seperti ini !
Mas Burhan dan lainnya juga bisa bereksperimen dengan membuat sebuah file .obj sendiri, lengkap dengan terksturnya.
That’s all.

render 3D
PS: Bagi yang ingin bertanya-tanya, berkomentar, memberi saran atau kritik. Silahkan berkomentar di post manapun di blog ini, atau mengirim email ke hherdinaufal<at>gmail<dot>com. Terima kasih 🙂
sy kuarang paham gimana cara export min3d nya ke android Mas !!!
Kalau buat di-export ke Maps, ane kurang tau caranya mas. Kayaknya marker di Google Maps cuma support gambar 😀
Maaf, pak …
saya tertarik dengan apa yang anda posting …
tapi, stelah saya mencoba mengikuti tutorial diatas, saya mengalami kesulitan :
1. di console muncul pesan error “unable to resolve target ‘target -3’
2. apakah bisa file obj nya di import di localhost saja pak …?
makasi, salam kenal pak
unable to resolve target bisa jadi emulatornya nggak ada, atau resource-nya nggak ada
hmm, sy kurang paham soal file obj-nya yang diimport di localhost, saran saya file obj nya masukkan saja ke folder res/draw di project Android mu 🙂
makasi, atas tanggapannya pak …
hmmm, bisa share source nya yang menggunakan import file obj pak …
Kalau kamu merhatiin, di post ini juga sudah ada source-nya
Khususnya di bagian :
IParser parser = Parser.createParser(Parser.Type.OBJ,
getResources(), “id.web.twoh.min3dsample:raw/camaro_obj”, true);
🙂
saya sudah mencoba mas, tidak ada pesan error waktu di run, tapi kok gak muncul?
Coba level display error di LogCat-nya diset ke V (Verbose) agar semua pesan error keluar 🙂