Followers

4.27.2010

TUTORIAL MEMBUAT ANIMASI RODA BERGERAK PADA OGRE

Pada kesempatan ini, saya akan mencoba menjelaskan cara membuat animasi roda bergerak pada OGRE.
OGRE merupakan bahan ataupun pola yang digunakan untuk mewarnai, memberi pola pada mesh, ground ataupun terrain. Nama material pada Ogre harus Unik karena material selalu diidentifikasikan dari nama layaknya variabel pada bahasa pemrograman C++. Ogre memiliki bermacam-macam material, dibagi menjadi 3 yaitu : Basic Material, Intermediate Material dan Advanced material dan merupakan open source. 
 
Sebelum kita membuat object yang kita inginkan langkah awal yang kita lakukan adalah menginstall software 3DS max 9 dan OGRE beserta converter 3DS max  9 ke OGRE yaitu OGRE max.



Ini merupakan gambar 3D max apabila kita akan memulai project dengan menggunakan file lalu perintah New maka akan terlihat dan tampil jendela project yang akan kita gunakan untuk membuat object dalam 3D max.

Selanjutnya kita akan memulai membangun objek dengan menggunakan perintah yang ada pada toolbar yaitu Standard Primitives yang terdapat dalam menu object lingkaran  yang didalamnya terdapat banyak model-model serta desain yang disediakan dalam hal ini karena kita akan membuat roda maka kita akan memilih Tube yaitu bentuk yang menyerupai lingkaran, setelah itu mulailah kita membangun object.


  Setelah kita memilih Tube langkah selanjutnya yang kita lakukan adalah dengan menggambar pada bidang perspective yang telah tersedia dalam 3D max yaitu dengan teknik Drag dan Drop, tetapi sebelumnya kita juga harus memperhatikan warna yang akan kita berikan pada object yaitu dengan memperhatikan kotak dialog menu  Name and Color.


Kita hanya tinggal memilih warna sesuai dengan warna yang kita inginkan.
Selanjutnya tidak hanya itu kita akan membuat object roda ini, tidak hanya itu kita dapat membuat gradasi warna dengan menggunakan menu material pada 3D max dengan menekan tombol M yaitu material sesudah itu  akan keluar kotak menu tampilan yaitu kita menggunakan background dengan memilih gambar kotak-kotak  setelah itu kita memilih menu standard didalamnya terdapat beberapa banyak fungsi kita akan memilih Multi/Sub-Object  yang secara otomatis akan merubah object yang kita buat.Lalu kita akan memilih apakah object yang kita lakukan akan disimpan atau tidak seperti kotak berikut:




 
bergerak,langkah awal yang kita lakukan adalah memilih pada menu toolbar shapes yang berfungsi membuat motion gambar bergerak dengan memilih roda pada menu toolbar, lalu pada menu shapes kita pilih pada jendela project berupa splines dan lines yang berfungsi untuk membuat lintasan gambar agar bergerak.
 
Lalu kita akan memilih set number dan mengatur dengan kode 2 yang biasa digunakan untuk membuat warna hitam atau putih.


Kemudian kita akan memberikan gradasi warna yang gelap dengan menagatur gambar dan menggeserkan kursor ke arah hitam. Langkah terakhir adalah menggerakan benda pada lintasannya. Dan untuk menguji apakah object yang kita buat sesuai dengan keinginan atau tidak kita memilih Rendering pada tool render atau f10 untuk menjalankan object tersebut.






 Setelah object yang telah kita buat dengan menggunakan 3D max 9, kita mengeksport object tersebut ke OGRE. Pada OGRE, kita memilih File -> Export dan mengeksport object yang telah kita buat sebelumnya dan menyimpan dengan nama roda. 









Kita mengganti roda 3DS menjadi mesh.








  Langkah selanjutnya kita buka folder ogre3Dcara2 sesuai dengan nama anda menginstall ogre pertama kalinya.


Lalu kita pilih folder hello.cpp kemudian media kemudian models, kita mengcopy roda.mesh yang kita buat ke folder model seperti tampilan berikut


Kita telah mengcopy roda.mesh pada model di ogre3dcara2 tidaklupa kita gunakan rename agar roda..mesh menjadi roda.mesh.

Lalu langkah yang sama pula kita lakukan pada roda.material hello.cpp kemudian media kemudian material lalu script lalu kita mengcopy roda.material kedalam folder script, seperti pada tampilan berikut



 
Selanjutnya langkah yang sama kita lakukan pula pada Ogre SDK
Lalu kita pilih media kemudian models, kita mengcopy roda.mesh yang kita buat ke folder model seperti tampilan berikut




 
Lalu langkah yang sama pula kita lakukan pada roda.material dengan memilih media kemudian material lalu script lalu kita mengcopy roda.material kedalam folder script, seperti pada tampilan berikut




Setelah roda.mesh dan roda.material sudah ada pada ogre langkah selanjutnya yang kita lakukan adalah membuka Microsoft Visual C++ 2008.


Kemudian memilih hello.cpp karena kita telah menyimpan roda.mesh dan roda.material pada hello.cpp.

Ini merupakan script program ogre kita perlu menggunakan entity agar program dapat tampil

#include "ExampleApplication.h"

class RTTListener : public ExampleFrameListener
{
public:
   RTTListener(RenderWindow *win, Camera *cam, SceneNode *sn)
      : ExampleFrameListener(win, cam), node1(sn)
   {
   }

   bool frameStarted(const FrameEvent& evt)
   {
         node1->yaw(Radian(evt.timeSinceLastFrame));
      return ExampleFrameListener::frameStarted(evt);
   }

protected:
   SceneNode         *node1;

};

class BelajarOgre : public ExampleApplication {
public:
      BelajarOgre(){

      }

      ~BelajarOgre(){

      }
protected:
      SceneNode *node1;
      SceneNode *node2;
      void createScene(void){
            // degradasi warna cahaya
       mSceneMgr->setAmbientLight(ColourValue(0.2f, 0.2f, 0.2f));
         mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_MODULATIVE);
       // membuat dan mengatur tempat sumber cahaya
       Light* l = mSceneMgr->createLight("MainLight");
         l->setType(Light::LT_SPOTLIGHT);
       l->setPosition(20, 80, 200);

       // posisi camera
        
       mCamera->setPosition(60, 200, 70);
       mCamera->lookAt(0, 0, 0);

        
      //mSceneMgr utk manage semua semua yg tampil pd screen
      mSceneMgr->setAmbientLight(ColourValue(1,1,1));
      //Entity ad objek yg bs dirender discene
      Entity *ent1 = mSceneMgr->createEntity("roda","roda.mesh");
     

    node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("rodanode",Vector3( 0, 0, 0 ));
     
      //attach entity roda.mesh ke scenenode
      node1->attachObject(ent1);
     
      }
      // membuat frame listener
   void createFrameListener()
   {
       mFrameListener = new RTTListener(mWindow, mCamera, node1);
       mRoot->addFrameListener(mFrameListener);
   }
};

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
#else
int main(int argc, char **argv)
#endif
{
      //bikin objek aplikasi
      BelajarOgre app;
      try {
            app.go();
      } catch (Exception e) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
            MessageBoxA(NULL,e.what(),"Terjadi Error!",MB_OK | MB_ICONERROR |MB_TASKMODAL);
#else
            fprintf(stderr,"Terjadi Error = %s\n",e.what());
#endif
      }
      return 0;
}


Untuk memanggil file roda yang telah kita buat pada 3DS max 9 dan mengatur skala dengan scala node serta colour value untuk mengatur warna pada ogre seperti gambar yang kita tampilkan pada 3DS max 9 yaitu mengatur warna hitam dan putih dan pencahayaan. mCamera->setPosition(60, 200, 70); mCamera->lookAt(0, 0, 0); digunakan untuk mengatur kamera dan sudut pandang,

Dan apabila kita telah berhasil kita pilih debug lalu start debugging apabila berhasil akan muncul kotak dialog seperti in


  Maka gambar telah siap dijalankan dan dapat digerakkan sesuai keinginan kita,itulah kelebihan dari Ogre 3d. Dan inilah adalah hasil tampilan yang sudah di jalankan pada ogre roda yang dijalankan dapat bergerak.

 

4.18.2010

Wedding Dress



Wedding Dress adalah film korea tahun 2009 yang dibintangi oleh Song Yoon Ah dan aktris cilik, Kim Hyang Gi. Film ini menceritakan tentang kisah seorang anak perempuan bernama So Ra, yang merupakan anak tunggal dari Go Eun, seorang designer gaun pengantin. Go Eun ingin melakukan apa saja untuk membahagiakan putri kecilnya itu, karena dia tahu umurnya tinggal sebentar, karena dia menderita kanker. Karena itu ia membuatkan sebuah gaun pengantin untuk So Ra pakai saat dewasa nanti. Tetapi keinginannya itu tidak seperti sifat So Ra. Karena So Ra adalah seorang anak perempuan yang tidak mempunyai teman dan takut menghadapi hal-hal yang menurut dia sulit untuk dilakukan. Tetapi akhirnya So Ra tahu bahwa umur ibunya tinggal sebentar lagi, jadi dia mencoba melakukan keinginan-keinginan ibunya.
Film ini bagus dan sedih. Di awal cerita diperlihatkan bagaimana rasa sayang Go Eun terhadap So Ra, dan akting dari aktris cilik di sini bagus, benar-benar bisa memperlihatkan seeorang anak sombong, yang tidak mau bergaul dengan siapapun karena dia terbiasa melakukan semuanya sendiri. Tapi tentunya film drama ini menguras air mata, seperti bagian saat So Ra meminta diantar pulang oleh tantenya, dan dia meminta tantenya untuk jujur mengenai penyakit ibunya. Kemudian saat adegan di mana ibunya meninggal.
Film ini memperlihatkan kasih ibu yang sepanjang masa, dan mencoba mendidik anaknya untuk bersosialisasi, karena memang di dunia ini manusia tidak bisa hidup sendiri, dan seorang anak yang mencoba membahagiakan ibunya yang sedang sakit. Chemistry dari aktris senior dan aktris cilik sangat terlihat, sehingga yang menontonnya akan terlarut melihat adegan-adegan yang ditampilkan di sini. Saya saja menonton film ini jadi teringat almarhumah mama.
Dan tentunya sesuai judulnya Wedding Dress, pada adegan terakhir diselipkan So Ra dewasa yang memakai gaun pengantin buatan ibunya. Nice Movie  :)