Jumat, 08 April 2011

Pengaplikasian game engine OGRE serta jelasin Konfigurasi tool-tools pada pembuatan project game engine Eclipse


Pada tugas softskill kali ini saya akan menjelaskan  tahapan tahapan secara konseptual tentang perancangan animasi yang akan dibangun.Program animasi yang akan dibuat ditekankan sebagai pembuatan animasi yang bersifat pembelajaran. Oleh karena itu akan dibahas secara keseluruhan mengenai pembuatan darianimasi ini. Ada beberapa tahapan yang dalam pembuatan animasi UFO tiga dimensi
ini, diantaranya:
· Pengistalan software-software yang digunakan Disini software yang digunakan antara lain MinGw (GNU for windows) merupakan suatu paket dari GCC (GNU Compilator Collection) dan GNU binutils untuk digunakan dalam pengembangan dari aplikasi microsoft windows asli,
MSYS atau Minimal System sebagai baris perintah sistem penerjemah, dan OGRE sebagai game engine yang digunakan.
· Pembuatan Ide cerita“UFO” adalah akronim dari “Unidentified flying Object”, atau diterjemahkan kedalam Bahasa Indonesia menjadi “Benda Terbang Tak Dikenal”. Istilah “UFO
encounter” atau “perjumpaan dengan UFO” sebenarnya mencakup secara luas seluruh peristiwa perjumpaan dengan segala macam benda terbang yang tak dikenal, tanpa harus mengacu
kepada “Piring Terbang”, atau “kendaraan dari luar angkasa”. Suatu benda terbang tak dikenal mendapat istilah “UFO” sebelum berhasil diidentifikasi. UFO merupakan segala macam benda yang terdeteksi bias terbang dengan terkendali (tidak sekedar hanyut terbawa angin), serta tidak diketahui asal-usulnya, atau diduga tidak termasuk dalam jenis benda terbang yang diketahui dibuat oleh manusia. Animasi ini bercerita mengenai suatu kejadian setelah terjadinya
perang antar bangsa alien dengan pesawat UFO nya dan bangsa robot. Peperangan telah terjadi lama antara kedua bangsa tersebut. Hingga pada suatu waktu bangsa alien menemukan
sebuah teknologi baru dalam peralatan perang mereka. Peralatan perang tersebut adalah sebuah senjata yang dapat mengubah semua besi menjadi batu yang memiliki warna seperti perunggu. Dikarenakan senjata tersebut juga dapat mengenai pasukan mereka sendiri, maka mereka
menambahkan material baru terhadap pakaian perang mereka. Material tersebut berwujud seperti air, selain menetralkan efek senjata juga dapat memberi efek transparan bagi pemakainya. Karena hal-hal tersebut bangsa alien dapat mengalahkan bangsa robot dengan mudah.

Dalam pembuatan model ufo,penulis menggunakan blender versi 2.5 alpha 2, berikut penjelasan
pembuatan model ufo. - Langkah awal ialah membuat bagian tengah pada UFO. Sebelumnya lakukan view >> front untuk melihat tampilan objek dari depan kemudian lakukan add >> mesh >> uv sphere untuk menambahkan UV sphere yang akan kita gunakan untuk membuat ufo, lalu atur segmentasi, ring, dan size pada uv sphere. Disini penulis membuat segmentasi menjadi 50, ring menjadi 8 dan size menjadi 1000.
- Selanjutnya pindah ke edit mode dengan klik tab dan seleksi bagian yang ingin dirubah bentuknya dengan tekan b pada keyboard lalu seleksi bagian tersebut, dalam hal ini penulis merubah bagian tengah dari uv sphere yang digunakan.
- Kemudian scaling bagian yang telah diseleksi sebelumnya dengan menekan s pada keyboard, Disini penulis menscaling bagian tengah hingga nilai x, y, dan z bernilai 1.366, maka hasil bagian tengah dapat dilihat pada gambar dibawah ini. - Langkah selanjutnya membuat bagian atas pada UFO yakni dengan langkah memotong bagian atas pada uv sphere, sebelumnya seleksi bagian atas yang ingin diseleksi dengan tekan s lalu seleksi bagian tersebut, setelah itu delete dah
pilih vertices.











- Kemudian pindah ke objek mode dengan tekan tab, setelah pindah ke objek mode, langkah
berikutnya ialah membuat bagian atas yang telah dipotong sebelumnya yakni dengan  menambahkan uv sphere dengan cara add >> mesh >> uv sphere, setelah itu lakukan sedikit penyesuaian dengan melakukan scaling dengan tekan s pada bagian atas yang diseleksi terlebih dahulu dan diatur ketinggiannya terhadap sumbu z dengan tekan g lalu z - Selanjutnya memotong bagian bawah dari uv sphere yang masih berbentuk bola dengan cara klik kanan pada uv sphere, kemudian pindah ke edit mode dengan tekan tab lalu lepaskan seleksi yang terseleksi dengan tekan a.
- Langkah berikutnya ialah memberikan batas pada bagian yang akan dipotong dengan cara alt+klik kanan.
- Untuk mempermudah dalam melakukan seleksi, tekan z agar tampilan lebih jelas dalam
menyeleksi.
- Kemudian lakukan seleksi dengan cara menekan b pada keyboard kemudian klik kiri hingga semua bagian yang ingin diseleksi telah terseleksi.
- Lalu delete bagian yang telah diseleksi dengan delete lalu pilih vertices.
- Selanjutnya menggabungkan kedua uv sphere tersebut dengan tekan z, kemudian pindah ke objek mode dengan tekan tab. Sebelum menggabungkan perhatikan bagian all scene,disana terdapat dua mesh yakni mesh dan mesh.001, untuk mesh merupakan bagian badan ufo,sedangkan mesh.001 merupakan ruang kemudi dari ufo. Penggabungan dua bagian
ini digunakan untuk dapat pindah ke edit mode secara bersamaan. Untuk itu mesh.001
akan digabung dengan mesh dan hasil akhirnya hanya akan ada satu mesh. Karena disini
akan hanya ada satu yang akan dijadikan pusat yakni mesh maka yang terlebih dahulu
dipilih dengan mengklik kanan adalah mesh.001 lalu selanjutnya klik kanan+shift
pada mesh. Setelah dipilih maka gabungkan kedua mesh tersebut dengan melakukan ctrl
+ j atau dengan cara objek >> join pada blender.
- Setelah itu antara ruang kemudi dengan badan ufo masih terdapat jeda maka pindah ke edit mode kemudian sambungkan titik-titiknya sehingga membentuk persegi dengan mengklik kanan pada titik kemudian shift+klik kanan pada titik berikutnya. Kemudian tekan shortcut f. Lanjutkan hingga semua titik terhubung. Dalam pemilihan titik harus diperhatikan secara detail karena dapat mengenai titik yang salah atau yang tidak sesuai untuk membentuk persegi. Berikut merupakan tampian bagian atas yang telah jadi. Hasilnya dapat dilihat pada gambar dibawah ini.

- Selanjutnya langkah yang dilakukan ialah membentuk bagian bawah dari ufo yakni membentuk bagian mesin dari ufo. Langkah yang dilakukan ialah seleksi bagian bawah yang ingin dirubah dengan alt+klik kanan pada lingkaran luar kemudian shft+klik kanan pada titik tengah objek.
- Kemudian dari bagian yang telah diseleksi tersebut akan dibuat cekungan dengan menekan e atau extrude kemudian atur letaknya
- Untuk melepaskan seleksinya yakni dengan menekan a. Kemudian pilih lingkaran yg paling bawah dengan menekan alt+klik kanan, lalu tekan s (scale).
- Setelah itu pilih pada bagian tengah dengan mengklik kanan lalu tekan g kemudian tekan z.
Maka hasil gambar UFO dapat dilihat pada gambar dibawah ini.

· Pewarnaan model UFO
Pemberian texture terhadap objek ufo dilakukan dengan menggunakan blender 2.49b. Pemberian texture dilakukan dengan cara UVs Unwrap. Texture yang telah di unwrap diberi warna dengan software Adobe Photoshop. Pewarnaan dilakukan di blender 2.49 karena .mesh exporter belum dapat digunakan dalam blender versi terbaru. Pewarnaan menggunakan UV ini dilakukan
dengan menguliti objek ufo yang telah dibuat. Langkah yang dilakukan ialah memberikan
tanda pada bagian objek yang ingin diwarnai. Pada ufo disini bagian atas atau bagian kemudi akan diberi mawran hitam , sedangkan bagian tengah atau badan ufo dan bagian bawah atau bagian mesin akan diberikan warna kuning. Berikut tahapantahapannya:
- Langkah pertama ialah buka file objek ufo yang telah dibuat sebelumnya. Pindah ke edit
mode dengan menekan tab, kemudian tekan a untuk melepaskan seleksi, selanjutnya aktifkan edge (dapat dilihat seperti pada gambar berikut, yang dibertanda kotak merah). Hal ini dilakukan agar dapat melakukan seleksi terhadap objeknya.
- Kemudian pilih bagian yg akan ditandai atau diseleksi dengan tekan alt+klik kanan. Setelah
bagian yang ingin diwarnai diberi tanda kemudian tekan shortcut ctrl+e >> mark seam.
Lakukan hal yang sama pada bagian-bagian lain yang ingin diwarnai. - Selanjutnya buat layar
tambahan dengan cara klik kanan pada garis pemisah tombol kemudian pilih split area. Akan tampil hasilnya seperti pada gambar dibawah ini.
- Lalu merubah layar sebelah kanan menjadi UV/Image editor. Selanjutnya masuk ke tahap UV Unwrap yakni dari bagian yang sudah ditandai sebelumnya, kita akan kupas atau kuliti dengan langkah yaitu pada layar sebelah kiri, rubah edit mode menjadi texture paint.
- Selanjutnya setelah masuk ke texture paint lalu masuk kembali ke edit mode dengan
menekan shortcut tab. Kemudian seleksi semua objek ufo dengan menekan shortcut
a.       Maka hasilnya akan seperti pada gambar dibawah ini

pada layar sebelah kanan pilih Uvs >> Unwrap. Maka hasil dari obek pada layar sebelah
kanan setelah dilakukan Unwrap
- pada layar sebelah kanan pilih Uvs >> Scripts >> Save UV Face Layout.
- Selanjutnya, kita akan melakukan pewarnaan terhadap objek yang telah dikuliti dengan menggunakan photoshop. Buka file .tga yang sebelumnya disimpan pada photoshop.
- Kemudian rubah nama background dengan nama layer 0 (untuk memudahkan dalam pewarnaan) - Selanjutnya buat layer baru dengan cara Layer >> New >> Layer kemudian tukar tempat antara layer 0 dengan layer 1 yakni layer baru. Lalu pilih layer 1 untuk diberikan warna.
Memberikan warna pada layer 1 dengan menggunakan paint bucket tool. Layer 1 ini merupakan warna dasar dari objek ufo. Kemudian pilih layer 0, lalu rubah blending mode dari normal menjadi multiply.
- Langkah berikutnya ialah membuat layer baru yakni layer 2. Kemudian pindahkan posisi layer 2 diantara layer 1 dan layer 0. Pada layer 2 ini kita akan memberikan warna pada bagian atas objek ufo yakni bagian kemudi. Pilih layer 2 kemudian pilih ellipse tool lalu buat lingkaran.


- Selanjutnya buat layer baru, kemudian letakkan layer tersebut dibawah layer 0. Hal ini dilakukan agar layer 0 yang berguna sebagai layerpembantu dalam mewarnai tidak tertutup oleh layer lain. Pada layer baru ini, penulis akan mewarnai menggunakan brush tool.
- Selanjutnya, sembunyikan layer 0 dengan meng-klik ikon yang bergambar mata yang
berada tepat disebelah tulisan layer 0.
- Kemudian save file yang telah diwarnai dengan cara pilih File >> Save for Web&Devices >>
Save >> kemudian atur lokasi pemyimpanan file >> save. Setelah selesai menyimpan, buka kembali blender 2.49 untuk memasang tekstur yang telah dibuat.Langkah yang dilakukan ialah buka file ufo yang sudah dibuat sebelumnya, kemudian klik kanan pada objek ufo hingga terseleksi. Maka tampilannya akan seperti pada gambar dibawah ini (objek yg terseleksi akan
memiliki garis tepi yg menyala).
- Langkah berikutnya ialah pertama pilih shading kemudian pilih material buttons, kemudian add >> new.
- Maka akan muncul tampilan baru, kemudian pada bagian texture pilih add >> new. Selanjutnya pindah ke texture button yang posisinya ada disebelah kanan material button. Setelah itu ganti texture type menjadi image, lalu load image yang sebelumnya sudah dibuat di photoshop. Lalu pilih image tersebut kemudian select image. Berikut merupakan gambar setelah selesai proses
pada langkah yang diatas.
- Selanjutnya kembali ke material buttons. Kemudian pilih map input yang posisinya ada di kanan bawah sebelah texture, lalu pilih UV, maka akan tampil seperti pada gambar dibawah ini.
- Selanjutnya untuk melihat hasil pewarnaan maka lakukan rander dengan menggunakan
shortcut F12. Berikut ini adalah hasil rander dari gambar ufo.

· Pembuatan animasi pada alien Pada bagian ini, penulis akan membahas mengenai pembuatan
animasi pada objek alien. Dalam pembuatan animasi ini, penulis menggunakan blender 2.49 agar lebih mudah dalam mengeksport file blender kedalam 3D engine OGRE. Berikut tahapan-tahapannya:
- Buka blender, kemudian buka file alien tersebut. Setelah itu atur lembar kerja hingga
memiliki jendela 3D View, Button Window, User Preferences, Timeline, danAction Editor. Khusus untuk Timeline dan Action Editor, kedua jendela ini akan sangat dibutuhkan dalam pembuatan animasi. Timeline digunakan sebagai jendela untuk merekam dan menguji animasi yang akan dibuat dari Action Editor.
- Selanjutnya masuk ke pose mode dengan cara klik kanan pada bagian tulang dari objek
alien.

 - Dari gambar di atas dapatdilihat bahwa bagian yg berwarna biru merupakan tulang dari objek alien tersebut. Tulang-tulang inilah yang akan digerakkan sehingga membentuk sebuah animasi. Untuk memulainya, kliktombol record yakni tombol bulat yang berwarna merah yang terdapat pada timeline. Hal ini dilakukan untuk merekam semua pergerakkan dari masing-masing tulang. Untuk  menggerakkannya, pilih salah satu tulang dengan cara klik kanan pada tulang yang akan digerakkan, kemudian gerakkan dengan menekan shortcut g. Bila ingin memutar/merotasi tulang
tersebut maka dapat menggunakan shortcut r. Dalam memutar atau menggerakkan tulang dapat
dilakukan terhadap salah satu sumbu yakni sumbu x dengan shortcut x, sumbu y dengan
shortcut y dan sumbu z dengan shortcut z. Berikut ini adalah gambar setelah dilakukan  ergerakkan terhadap tulangtulang yang telah dipilih sebelumnya. Selanjutnya untuk
memberikan animasi terhadap objek maka langkah yang dapat dilakukan ialah merubah frame
pada bagian Action Editor, lalu menggerakkan tulangnya.

- Dapat dilihat dari gambar di atas, pada bagian Action Editor terdapat beberapa tulang yang
sudah digerakkan. Titik-titik berwarna kuning yang berada di Action Editor menandakan
bahwa animasi tersebut dilakukan pada frame yang sudah ditentukan. Apabila ingin menggunakan posisi tulang yang sama untuk frame lain, maka langkah yang dilakukan ialah menduplikasi titik pada frame tersebut dengan menggunakan shortcut shift+D yakni dengan
mengklik kanan pada titik yang ingin diduplikasikan kemudian tekan shift+D, kemudian
gerakkan ke frame berikutnya yang diinginkan. Maka tampilannya akan seperti pada
gambar dibawah ini.

- Bila telah selesai menduplikasi, klik tombol record untuk mematikan. Sebelum mencoba
dan menjalankan animasi, atur waktu mulai (Start) dan waktu selesai (end) sesuai dengan
banyak frame yang telah buat. Pada gambar di atas terlihat frame awal berada di frame 1
dan frame terakhir berada di frame 90. Untuk menjalankan dan mencoba animasi yang
telah dibuat, klik tombol play pada timeline. Secara default animasi yg dibuat akan diberi
nama Action. Untuk itu, kita dapat merubah dan memberikan nama pada animasi yg dibuat.

· Expor file .
blend menjadi .mesh Untuk dapat menjalankan objek yang telah dibuat pada blender didalam OGRE maka diperlukan format .mesh. Untuk itu perlu dilakukan export file dari file .blend menjadi .mesh dengan cara klik kanan pada objek atau jika terdapat tulang maka klik kanan pada keduanya selanjutnya pilih File >>Export >> OGRE Meshes. Maka akan muncul tampilan seperti berikut ini
- Kemudian aktifkan coloured ambient, copy textures, dan ogrexmlconverter. Bila objek yang akan diexport memiliki animasi maka klik add pada bagian Animation Settings, kemudian tambahkan sebanyak animasi yang ingin diexport. Langkah selanjutnya ialah export objek tersebut, bila berhasil maka akan terlihat tampilan seperti pada gambar dibawah ini.
· Pembuatan Skrip
Pembuatan script disini menggunakan eclipse IDE, Secara default, Eclipse akan menanyakan mengenai pembuatan workspace atau lembar kerja. Workspace ini nantinya akan dipakai dalam pembuatan program menggunakan Eclipse. Penulis memakai sebuah lokasi direktori D:\workspace Ogre UFO sebagai default workspace Eclipse. Pastikan telah menceklis pilihan Use this as the default and do not ask again. Klik tombol OK untuk mengaktifkan pengaturan tersebut. Setelah itu langkah berikutnya ialah mengintegrasikan OgreSDK kedalam eclipse IDE.
- Buka aplikasi Eclipse IDE. Bila muncul jendela Welcome,  tutup saja jendela tersebut. Ini
dilakukan untuk dapat segera menampilkan jendela utama dari aplikasi Eclipse IDE.
- Setelah itu, klik menu File >> New >> C++ Project untuk membuat proyek C++ yang baru.
- Setelah itu, beri nama untuk proyek C++ yang baru tersebut. Dalam hal ini, penulis memberi nama dengan nama UFO. Klik tombol Finish untuk segera membuat proyek UFO tersebut.
- Pada jendela Project Explorer, klik kanan proyek UFO lalu pilih Properties. Pada jendela
Properties tersebut, pilih C/C++ Build >> Environment. Pada Environment tambahkan
sebuah variable OgreSDK dengan value c:\ogresdk sebagai home-path untuk OgreSDK. Home-path tersebut juga dapat disebut sebagai OGRE-HOME.
- Masih dalam jendela Properties, langkah berikutnya penulis akan mengkonfigurasi Settings dari C/C++ Build. Pada Tool Settings, masuklah ke dalam pilihan GCC C++Compiler tepatnya pada
Preprocessor. Pada Prepocessor, tambahkan beberapa opsi berikut ini ke dalam Defined symbols (-D). Opsi-opsi tersebut antara lain WIN32, _WINDOWS, dan _DEBUG. Tambahkan opsiopsi
tersebut pada Debug Configuration.
- Kemudian lanjutkan ke Release Configuration. Pada konfigurasi ini, masuklah ke pilihan GCC C++ Compiler >> Preprocessor. Tambahkan opsiopsi WIN32, _WINDOWS, dan NDEBUG pada Defined symbols (-D). Perhatikan gambar berikut ini:
- Lalu kembali lagi ke Debug Configuration. Kemudian masuk ke pilihan GCC C++ Compiler >> Directories. Pada Include paths (-I), tambahkan opsi-opsi “${OGRE_HOME}\include”
Dan “${OGRE_HOME}\samples\in clude”. Opsi-opsi tersebut berguna untuk memanggil filefile
header yang nantinya dibutuhkan oleh program. Kemudian lakukan hal yang sama untuk Release
Configuration.
- Langkah selanjutnya yang harus dilakukan ialah mengkonfigurasi pilihan di GCC C++  compiler >> Miscellaneous pada Release Configuration. Tambahkan sebuah opsi -c - messagelength= 0 -mthreads - fexceptions –fident pada Other flags. Lakukan hal yang sama
untuk Debug Configuration- Selanjutnya, konfigurasi pilihan MinGW C++ Linker >> Libraries pada Debug Configuration. Pada jendela Libraries (-l), tambahkan opsiopsi OgreMain_d dan OIS_d. Lalu, tambahkan pula opsi “${OGRE_HOME}\bin\debug ” pada jendela Library search
path (-L). - Lalu, konfigurasi juga pilihan MinGW C++ Linker >> Libraries pada Release
Configuration. Pada jendela Libraries (-l), tambahkan opsiopsi OgreMain dan OIS. Lalu,
tambahkan pula opsi “${OGRE_HOME}\bin\release ” pada jendela Library search path (-L).
- Selanjutnya, langkah yang dilakukan ialah mengkonfigurasi pilihan MinGW C++ Linker >>
Miscellaneous pada masingmasing Debug dan Release Configuration. Tambahkanlah                    
opsi-opsi –enable-auto-imagebase dan –add-stdcall-alias pada jendela Other Options (- Xlinker[option]) dari kedua konfigurasi tersebut.
- Klik tombol Apply dan OK untuk mengakhiri seluruh proses pengintegrasian aplikasi
OgreSDK di Eclipse IDE pada proyek UFO tersebut.
· Pembuatan (Build) proyek OGRE menggunakan eclipse Setelah mengintegrasikan OgreSDK
pada proyek UFO di Eclipse IDE, sekarang akan dijelaskan bagaimana mem-build proyek tersebut. Langkahlangkah yang perlu dilakukan adalah sebagai berikut:
1. Buat sebuah file source C++ yang baru di dalam proyek ufo. Caranya yaitu klik menu File >> New >> Source File. Pada jendela New Source File, berilah nama untuk file source C++ tersebut misalnya ufo.cpp. Klik tombol Finish bila sudah.
2. Selanjutnya, ketik source code ke dalam file ufo.cpp dalam Eclipse IDE tadi. Setelah itu, simpan file tersebut dan Build. Proyek dapat di-build dari menu Project >> Build All. Bila tidak
ada satupun kesalahan atau peringatan yang terjadi, maka file executable-nya sudah terbentuk pada direktori Debug dari proyek ufo di dalam workspace eclipse-default.
3. Copy semua model, material, dan teksture yang dibutuhkan ke dalam folder  C:\OgreSDK\media\models, C:\OgreSDK\media\materials\scripts, dan C:\OgreSDK\media\materials\textures.
4. Untuk dapat menjalankan file executable tersebut, gandakan seluruh file yang ada dalam direktori C:\OgreSDK\bin\debug ke direktori Debug dari proyek UFO
5. Setelah itu, gandakan pula file DirectX SDK (d3dx9d_30.dll) ke direktori tersebut.
6. Selanjutnya, buka file resources.cfgmenggunakan Notepad. Gantilah string ../.. menjadi c:\ogresdk. Ini dilakukan untuk memanggil seluruh resource yang dibutuhkan dari
OgreSDK agar file executable tesebut dapat berjalan dengan semestinya.
7. Jika seluruh langkah sebelumnya telah dilakukan, maka kita sekarang telah dapat menjalankan file executable ufo.exe tersebut. Jika berhasil, maka akan ditampilkan jendela OGRE Engine Rendering Setup. Jendela ini menawarkan kita untuk memilih library grafis yang akan digunakan
untuk merender program ufo.exe tersebut apakah menggunakan Direct3D atau OpenGL. Kali ini kita hanya akan menggunakan library OpenGL untuk merendernya.













8. Setelah memilih library OpenGL (OpenGL Rendering Subsystem) dari jendela OGRE Engine Rendering Setup tersebut, klik tombol OK. Maka program ufo.exe tersebut akan dijalankan sepenuhnya oleh sistem.
Perhatikanlah gambar berikut ini:












 IMPLEMENTASI DAN UJI COBA
Pengujian animasi ini dapat dilakukan dengan langkah-langkah sebagai berikut :
· Instal game engine OGRE
· Copy semua material dan model
kedalam OgreSDK
· Set lokasi OgreSDK pada resources.cfg
· Klik dua kali pada animasi ufo yang berekstension .exe Saat animasi dijalankan maka akan
tampil layar OGRE dimana terdapat dua pilihan dalam proses rendernya yakni dengan OpenGL dan Direct3D9.

Referensi
 [1] Budi Rahardjo, Pemrograman C++ mudah dan cepat menjadi master C++, Informatika, 2004.
[2] http://www.ogre3d.org/tikiwiki/About+Ogre
[3] http://www.ogre3d.org/tikiwiki/Brief+history+of+OGRE