Manipulasi dengan Tools pada OGRE

Objek yang dibuat pada OGRE dapat dimanipulasi. Manipulasi yang dapat dilakukan dengan OGRE yaitu:

  1. Pewarnaan
  2. Shadowing / Bayangan
  3. Rotasi
  4. Translasi
  5. Lighting, View port, dan Camera
  6. Penskalaan
  7. Sky, Fog, dan Terrain
  8. Particle dan Material

 

dalam praktikum kali ini, praktikan membahas mengenai bagaimana mengganti latar belakang atau background dari objek yang telah dibat, mengganti tipe objek, dan membuat 2 buah objek dan memberi jarak antar objek.

Yang pertama dilakukan pada praktikum kali ini adalah mengganti latar belakang atau background objek pada OGRE. Berikut adalah langkah-langkahnya:

  1. Buatlah sebuah objek terlebih dahulu. Kita dapat menggunakan objek yang telah dibuat pada praktikum sebelumnya.
  2. Ubah source code yang ada sebelumnya dengan menggunakan Eclipse.
  3. Untuk mengubah background atau latar belakang dari objek adalah dengan menggunakan statement sebagai berikut:

mSceneMgr->setSkyBox(true,”Examples/CloudyNoonSkyBox”); (contoh)

  1. dengan menggunakan contoh code di atas maka akan menghasilkan latar belakang berupa gambar awan/langit. Ogre menyediakan tiga jenis langit: SkyBoxes, SkyDomes, dan SkyPlanes

 

Manipulasi objek berikutnya adalah membuat 2 buah objek. Berikut adalah langkah-langkahnya:

untuk membuat sebuah objek baru, gunakan statement berikut:

Entity *ent1 = mSceneMgr->createEntity(nama variabel,nama model.mesh);

kemudian ketikkan juga code berikut:

SceneNode *node2 = mSceneMgr->getRootSceneNode()->createChildSceneNode (“NinjaNode”,Vector3( 200, 0, 0));

statement di atas fungsinya untuk melampirkan objek ke snecenode untuk memberi lokasi render boot. Sementara statement vector3(x,y,z) untuk menentukan letak / posisi objek. Pada contoh di atas berarti letak objek berada pada koordinat x=200, y=0, z=0.

node1->attachObject(ent1);

untuk menghubungkan node yang dibuat ke objek yang dimaksud.

 

Penskalaan pada OGRE dapat dilakukan dengan menggunakan statement berikut:

Node-x->scale( x, y, z );

 

Translasi atau perpindahan objek pada OGRE dapat dilakukan dengan menuliskan code berikut:

Node-x->translate(0,0,0);

dengan menuliskan code di atas maka objek akan berpindah sesuai titik-titik koordinat yang telah ditentukan.

 

OGRE memiliki library untuk berbagai macam objek. Untuk dapat mengganti objek yang ada dengan objek lain yang ada pada library, yaitu dengan membuka folder OgreSDK, kemudian buka folder media, buka folder models, pilih bentuk objek yang diinginkan dengan memilih file dengan extensi “.mesh”

 

untuk mengganti latar belakang yang telah dibuat sebelumnya, praktikan dapat menggunakan tampilan background lain yang telah disediakan OGRE. Praktikan dapat menggunakan material yang telah disediakan oleh Ogre dengan cara membuka folder OgreSDK, kemudian buka folder media, di dalam folder media, buka folder materials, lalu buka folder texture. Sementara  itu, untuk script code-nya praktikan dapat membuka folder OgreSDK, buka folder media, pilih folder materials, pilih folder script. Edit file Example.materials dengan menggunakan notepad++, kemudian di save, lalu Build kembali program yang ada, kemudian jalankan.

 

Untuk membuat program seperti di bawah ini, maka code yang digunakan adalah sebagai berikut:

#include “ExampleApplication.h”

class BelajarOgre : public ExampleApplication {

public:

BelajarOgre(){

}

~BelajarOgre(){

}

protected:

void createScene(void){

//mSceneMgr utk manage semua semua yg tampil pd screen

mSceneMgr->setSkyBox(true,”Examples/EveningSkyBox”);//latar langit

mSceneMgr->setAmbientLight(ColourValue( 0, 1, 0 ));

Entity *ent1 = mSceneMgr->createEntity(“RZR”,”RZR-002.mesh”);

Entity *ent2 = mSceneMgr->createEntity(“Razor”,”razor.mesh”);

SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode(“RZRNode”);

SceneNode *node2 = mSceneMgr->getRootSceneNode()->createChildSceneNode(RazorNode”,Vector3( 200, 0, 0));

node1->attachObject(ent1);

node1->scale( 3, 3, 3 );

node2->attachObject(ent2);

node2->translate(0,0,0);

}

};

#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

MessageBox(NULL,e.what(),”Terjadi Error!”,MB_OK | MB_ICONERROR |MB_TASKMODAL);

#else

fprintf(stderr,”Terjadi Error = %s\n”,e.what());

#endif

}

return 0;

}

 

 

About resariski

me - Resa - a girl who was born at December 16th is the youngest daughter (from 4 brothers) in my family. This is my official weblog. View all posts by resariski

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: