Jumat, 21 Desember 2012

Membuat Animasi Menggunakan Software Ogre

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. 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.Untuk seksi bones berisi daftar dari tulang-tulang atau armature-armature yang digunakan oleh objek mesh. Sedangkan untuk seksi bonehierarchy, berisi daftar susunan hirarki dari tulang-tulang tersebut. 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. 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!
Sekian info mengenai cara pembuatan Animasi 3D menggunakan Software Ogre yang dapat saya beritahukan, mudah-mudahan bermanfaat ya untuk para pembaca :):):). Selamat Mencoba

Sabtu, 01 Desember 2012

Pembuatan ERD PT.Furniture

Beberapa minggu yang lalu, kelas saya 3ia07 diberi tugas kelompok untuk mereview hasil presentasi mengenai pembuatan ERD pada salah satu Perusahaan. Kemudian, Bu.Riza yang merupakan Dosen Pembimbing kami di mata kuliah SBD (Sistem Basis Data) ini pun membagi seluruh mahasiswa di kelas kami menjadi enam kelompok yang masing-masing kelompoknya terdiri dari 5-6 orang. Kelompok saya terdiri dari 6 anggota kelompok, yaitu : saya sendiri Ledy Sri Rejeki besera kelima orang teman saya, yaitu : Rina Ravela Susantika, Ayu Fitriyanti, Hasanul Cholid, Ainan Nurizaman dan Rizanuary Fauzi. Dari keenam kelompok yang dibentuk, ada bermacam-macam perusahaan yang di review oleh tiap-tiap kelompok, mulai dari alfamart, trans7, SPBU, dsb. Namun, review perusahaan yang kelompok kami pilih adalah mengenai pembuatan ERD pada sebuah PT. Furniture. Di dalam ERD PT.Furniture ini terdiri dari 5 entity yaitu :Pekerja, Deprtement, Order Pembelian, Product dan Pelanggan. Dari masing-masing entity yang ada, memiliki bermacam-macam attribute yang mendukung dalam proses pembuatan ERD PT. Furniture ini, seperti: 1. Pekerja : id_pekerja, nama, alamat_lengkap, tanggal_lahir, nohp, gol_drh, jk, foto, agama. 2. Departement : id_departement, nama, telp, lokasi. 3. Order Pembelian: id_order, tanggal_order, via_pengiriman. 4. Product : id_product, nama, jenis, stok, harga. 5. Pelanggan : id_pelanggan, nama, alamat_lengkap, nohp, email, fax. Dari kelima entity yang memiliki berbagai attribute masing-masing untuk mendukung pembuatan ERD PT. Furniture ini, terbentuklah jalur yang menyatakan bahwa : - Banyak pekerja yang dimiliki oleh satu Departement. - Satu Departement menghasilkan satu product. - Satu Departement menghasilkan banyak product. - Satu pekerja melayani banyak order pembelian. - Bayak order pembelian yang dilakukan oleh satu pelanggan.
Setelah selesai dalam menentukan berbagai macam entity, attribute dan jalur ERD dari PT. Furniture, kemudian kelima entity yang ada beserta attributenya di implementasikan dalam bentuk table. Yang kemudian pada hasil akhirnya nanti, akan menghasilkan sebuah subquery sebagai penghubung antara product dan pemesanan pelanggan ke department untuk mengetahui berapa banyak product yang ingin di pesan yaitu table memuat yang terdir dari field berikut ini : id_product, id_order, jumlah. Berikut hasil pembuatan ERD PT. Furniture dari kelompok saya, mudah-mudah an dapat berguna sebagai refrensi untuk para pembaca.Mohon maafapabila ada kesalahan apapun dalam penulisan. Sekian. Terimakasih. 