RSS

totorial membuat game sederhana dengan ogre



saya disini akan membuat sebuah game bis. objek bis tersebut kita disain di 3dmax. sebelum itu objek kita konvert ke mesh.

Untuk menampilkan objek bis 3D ini, saya menggunakan Microsoft Visual C++ sebagai bahasa pemrograman yang akan menampilkan objek bis 3D tersebut ke dalam OGRE. Pertama kita buat terlebih dahulu Project Baru.

Pada pilihan Project pilih C++ >> Win32 >> Win32 Project dan beri nama project. Lalu muncul jendela Win32 Application wizard, pilih next. Setelah itu muncul jendela Application Setting, checklist Empty Project Lalu kilik Tombol Finish. Terlihat di sana belum terdapat sebuah file C++ karena kta memilih Empty Objek. Pada jendela Solution Explorer klik kanan folder tree Source Files >> New Item >> Add.

Setelah itu muncul jendela Add New Item – Mangkibo. Kita buat sebuah file yang bernama MobilBis.cpp dengan memilih C++ File lalu tekan tombol Add.

Setelah kita tekan tombol Add maka munculah sebuah tampilan kerja dimana kita akan mengetikkan sebuah program C++ untuk menampilkan objek 3D yang kita buat ke dalam OGRE. Selanjutnya ketikan program berikut ke dalam editor.

#include "ExampleApplication.h"

class BelajarOgre : public ExampleApplication

{

public:

BelajarOgre(){ }

~BelajarOgre(){ }

protected:

void createScene(void)

{

int x = 0;

int y = 0;

int z = 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("and1","and1.mesh");

SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("and1Node", Vector3(x,y,z));

//attach entity ke scenenode ut beri lokasi render robot

node1->attachObject(ent1);

}

};

#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;

}

ini adalah code untuk menampilkan objek pada monitor. disini kita hanya bisa mainkan maju, mundur, dan belok saja. bisa menggunakan mouse

Selanjutnya kita copy folder bin yang terdapat dalam folder tempat kita menginstall OgreSDK ke dalam folder project yang kita buat. Kemudian konfigurasikan path pada file resources.cfg pada folder debug dan resouces.cfg pada folder release,,ganti ../../.. Dengan path tempat default path installation kita.

Setelah konfigurasi diatas selesai, berikutnya lakukan konfigurasi pada properties project kita, pada jendela solution explorer di kanan atas, klik kanan nama project lalu pilih menu properties.

Konfigurasi tersebut adalah antara lain Pada debug active :

Debugging : Working Directory = ..\bin\Debug

Linker : General : Output File = ..\bin\Debug\hello.exe

Linker : Input : Additional Dependencies += OgreMain_d.lib

Linker : Input : Additional Dependencies += OIS_d.lib

Linker : General : Additional Library Directories = $(OGRE_HOME)\lib

C/C++ : General : Additional Include Directories = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include

Lakukan juga settingan untuk folder Release, tetapi ganti OgreMain_d.lib dan OIS_d.lib diatas menjadi OGreMain.lib dan OIS.lib. Setelah semua telah dikonfigurasi klik OK, lalu Objek 3D yang sudah di konversi tadi terbagi menjadi 2 bagian yaitu .mesh dan .material. Untuk .mesh kita copy ke dalam folder media/model di dalam direktori dimana tempat menginstall OgreSDK. Lalu untuk Material kita copy ke dalam folder media/material/Script di dalam direktori dimana tempat menginstall OgreSDK. Lalu jalan kan OGRE. tampilan gambar game ogre nya tampak pada gambar paling atas.





  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

1 komentar:

Unknown mengatakan...

widihhh mantap bgt dachhh bisa di coba nichhh

thank's ya

Posting Komentar