Membuat Animasi Skeleton OGRE Sendiri

9 04 2010

Membuat animasi skeleton untuk model mesh OGRE memang gampang gampang susah. Tetapi meskipun demikian, itu bukanlah sesuatu hal yang mustahil untuk dilakukan. Kita dapat membuatnya dengan dua cara yaitu cara halus dan cara kasar. Kedua cara tersebut memanglah berbeda namun tetap dapat saling melengkapi. Pada contoh kali ini, kita akan mencoba mempraktekkan kedua cara tersebut dalam membuat animasi skeleton.

Kali ini kita akan mempraktekkan cara halus terlebih dahulu. Cara halus yang saya maksud di sini adalah membuat animasi model menggunakan aplikasi Blender dahulu baru kemudian diekspor ke objek OGRE. Jadi, model yang akan kita animasikan ini haruslah mempunyai armature yang dapat menggerakkan mesh-nya. Sebagai contoh, saya akan menggunakan model Sonic The Hedgehog. Anda bisa mengunduhnya di situs http://e2-productions.com/repository/index.php.

Langkah-langkah untuk menganimasikannya adalah sebagai berikut :

1. Buka model Sonic The Hedgehog menggunakan aplikasi Blender. Setelah itu, aturlah tampilan workspace yang Anda gunakan sehingga memiliki jendela 3D View, Button Window, User Preferences, Timeline, dan Action Editor. Khusus untuk Timeline dan Action Editor, kedua jendela ini akan sangat kita butuhkan dalam pembuatan animasi ini. Timeline nantinya kita gunakan sebagai jendela untuk merekam dan menguji animasi yang akan kita buat dari Action Editor. Untuk lebih jelasnya, perhatikan gambar di bawah ini!

2. Setelah itu, perbesarlah dahulu model Sonic yang ada pada jendela 3D View dengan menggunakan scroll mouse. Ini dimaksudkan agar kita dapat melihat dengan jelas armature-armature yang akan kita gerakan dari model tersebut. Selanjutnya, klik tombol Record dari jendela Timeline untuk mulai merekam animasi. Oiya, semua gerakan armature akan dianimasikan dalam jendela Pose Mode. Perhatikan gambar di bawah ini!

3. Lalu, gerakanlah armature-armature yang akan dianimasikan pada jendela 3D View. Saat menggerakkan armature-armature tersebut, pastikan Anda menggunakan frame yang sesuai dengan keinginan Anda. Sedangkan untuk berpindah frame, gunakan saja jendela Action Editor agar lebih mudah. Sebagai contoh, kita akan menganimasikan Sonic tersebut untuk berjalan. Rencana gerakannya adalah sebagai berikut. Pada frame pertama kita akan melangkahkan kaki kanan ke depan disertai gerakan kaki kiri ke belakang. Setelah itu, pada frame kesepuluh giliran kaki kiri yang melangkah ke depan dan kaki kanan yang ke belakang. Jadi untuk dapat melakukannya, kita pilih frame pertama pada Action Editor lalu gerakkan armature-armature kaki kanan ke depan dan armature-armature kaki kiri ke belakang. Setelah itu, pindahlah ke frame kesepuluh lalu gerakkan armature-armature kaki kiri ke depan dan armature-armature kaki kanan ke belakang. Jika gerakan armature-armature tersebut berhasil direkam maka akan muncul node kuning pada jendela Action Editor sesuai dengan armature apa saja yang telah digerakkan.

4. Setelah itu, Anda bisa mengetes animasi yang telah dibuat menggunakan tombol Play yang ada pada jendela Timeline. Oiya, secara default animasi tersebut akan diberi nama Action dan semakin jauh jarak antarframe yang memiliki animasi pada Action maka secara otomatis gerakan animasi tersebut akan semakin halus.

5. Bila dirasa animasi yang kita buat telah sesuai dengan keinginan maka kita dapat meng-ekpornya ke format mesh dan skeleton OGRE. Anda masih ingat caranya, bukan? Sama seperti cara pengeksporan biasa, namun kali ini kita harus mengikutkan skeleton yang beranimasi tersebut. Cara mudah yaitu dengan menekan tombol Add pada opsi Skeleton pada jendela OgreMeshesExporter. Setelah itu, baru klik tombol Export. Perhatikan gambar berikut!

6. Selanjutnya, kita buka model Sonic tersebut menggunakan aplikasi CeguiMeshViewer. Masuklah ke tab Anim pada jendela Mesh, maka seharusnya akan ada pilihan animasi yang bernama Action. Perhatikan gambar di bawah ini!

7. Terakhir, cobalah animasi Action tersebut dengan cara mengkliknya.

Bila animasi tersebut sesuai dengan apa yang Anda lihat di aplikasi Blender maka bisa dikatakan proses pembuatan animasi dengan cara halus ini telah berhasil dilakukan. Namun bila tampilan animasi itu berbeda dengan yang ada di aplikasi Blender atau bahkan hancur sama sekali, maka Anda dapat memilih untuk mengulangi langkah-langkah di atas atau mengikuti cara kasar dalam pembuatan animasi berikut ini. Sebagai contoh, sebenarnya animasi dari model Sonic tersebut tergolong animasi yang hancur saat diekspor ke OGRE. Jadi, mau tidak mau kita harus menggunakan cara kasar dalam membuat animasinya. Paling tidak, lebih baiklah dari hasil pembuatan animasi cara halus sebelumnya. Untuk lebih jelasnya, perhatikan gambar di bawah ini!

Cara kasar yang saya maksud di sini yaitu cara manual dalam membuat animasi. Kita melakukannya dengan cara mengedit secara langsung skrip xml dari mesh dan skeleton. Ya, mirip-mirip hacker gitulah๐Ÿ™‚. Namun, kali ini saya hanya akan memfokuskan pada pembahasan secara garis besar tentang cara mengedit file *.skeleton .xml-nya saja. Biarpun demikian, saya juga akan mencoba sedikit memberi gambaran tentang isi file *.mesh.xml-nya. Jadi, untuk ngoprek-ngopreknya Anda lakukan sendiri dengan menggunakan metode Try and Error, ya!๐Ÿ™‚

Pada file *.mesh.xml ini ada sebuah seksi yang bernama skeletonlink. Seksi ini gunanya untuk meng-embed file skeleton yang akan kita pakai untuk animasi. Jadi, bila kita salah menentukan nama dari skeleton yang kita embed tersebut, maka akibatnya adalah file *.mesh yang dihasilkan akan sama saja seperti tidak ber-skeleton. Ini dapat terjadi bila kita asal saja mengganti nama mesh dan skeletonnya. Misalnya, penggantian nama dari undefined1_None.mesh menjadi sonic.mesh dan undefined1_None.skeleton menjadi sonic.skeleton. Walaupun nama mesh dan skeletonnya disamakan, namun sebenarnya file sonic.mesh tersebut tetap masih meng-embed file skeleton dengan nama undefined1_None.skeleton bila belum di-edit nama skeletonnya pada seksi skeletonlink tersebut. Sedangkan untuk seksi submeshes, hanyalah berisi koordinat-koordinat vertex untuk penggunaan material yang dipakai model tersebut.

Kembali ke inti permasalahan. Sekarang kita akan menelaah isi dari file *.skeleton.xml-nya. File tersebut berisi tiga buah seksi, yaitu bones, bonehierarchy, dan animation. Perhatikan gambar di bawah ini!

Untuk seksi bones berisi daftar dari tulang-tulang atau armature-armature yang digunakan oleh objek mesh. Rinciannya akan tampak seperti gambar di bawah ini!

Sedangkan untuk seksi bonehierarchy, berisi daftar susunan hirarki dari tulang-tulang tersebut. Untuk lebih jelasnya, perhatikan gambar di bawah ini!

Lain halnya untuk seksi animation. Seksi ini berisi daftar animasi yang ada dan dapat dimainkan oleh model mesh yang meng-embed-nya. Jadi pada seksi animation inilah sasaran kita saat โ€œmengobrak-ngabrikโ€ file *.skeleton.xml untuk membuat animasi secara manual. Untuk seksi animation ini sendiri terbagi atas delapan buah subseksi dimana susunannya ditunjukkan oleh gambar berikut ini.

Keterangannya adalah sebagai berikut:
* Animation : nama dari animasi yang dapat kita gunakan.
* Tracks : kumpulan dari track-track dari sebuah animasi.
* Track : sebuah gerakan dari keseluruhan animasi berdasarkan tulang.
* Keyframes : kumpulan dari keyframe-keyframe dari sebuah track animasi.
* Keyframe : kunci gerakan dari sebuah track animasi berdasarkan waktu.
* Translate : pergeseran dari tulang pada sumbu x, y, dan z.
* Rotate : perputaran dari tulang sesuai dengan sudut.
* Axis : patokan untuk perputaran tulang pada sumbu x, y, dan z.

Kesimpulannya yaitu kita dapat membuat banyak animasi pada seksi animation dengan track dari tulang-tulang yang bergeser atau berputar pada sumbu x, y, dan z dengan lama gerakan yang dapat kita tentukan.

Hal-hal yang menjadi kesulitan dari pembuatan animasi cara kasar atau manual ini, sesuai dengan pengalaman saya yaitu :

1. Dalam penentuan nama dari bone yang akan kita gerakkan, Untuk menangani permasalahan tersebut saya membuat daftar bone memakai printscreen-an dari model pada aplikasi Blender. Perhatikan gambar berikut ini!

2. Penentuan gerakan animasi dari tulang yang dimaksud. Seringkali apa yang sesuai dengan logika menjadi tidak sesuai dengan kejadian saat file mesh tersebut dijalankan bersamaan dengan skeleton-nya. Untuk mengatasi masalah ini, saya mencoba cara halus di atas untuk mengambil gerakan tulang yang benar-benar saya inginkan walaupun agak hancur. Intinya, selamatkan yang bagus dan musnahkan yang rusak.๐Ÿ™‚

3. Pembuatan animasi dengan cara ini seringkali membuat mesh dari objek tersebut seperti tertarik ke titik tertentu. Tingkat ketertarikan mesh tersebut tergantung VGA Card yang digunakan. Sebagai contoh, perhatikanlah dua gambar di bawah ini! Sebelah kiri memakai NVIDIA dan sebelah kanan memakai VIA. Bukan maksud hati membanding-bandingkan merek VGA Card, lho! Ini cuma sebagai referensi saja, ya!๐Ÿ™‚

Akhir kata, selamat mencoba!


Aksi

Information

7 responses

9 04 2010
zongvoc

mantap dah abang yang satu ini….

12 04 2010
crystalforest

bisa aja

27 07 2010
chandra

waw…..kren………….abizzzzz

18 03 2011
irfan

ada contoh lain ga gan buat animasi sederhana di ogre
kalo ada ane mnt gan …
soure code,langkah – langkahnya juga ke email ane gan
emai ane
irfan_fadly@yahoo.co.id

3 04 2011
rusdi

Bagaimana dengan 3sds max? Saya sekarang sedang belajar bikin animasi menggunakan 3ds max. Mana kiranya yg lebih mudah dan lbh bagus? 3ds max atau blender ya?

14 04 2011
aresa

nyontek yaaa,,,, makasih

16 08 2011
donyprasetya

thx…

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




%d blogger menyukai ini: