Ok sekarang kita akan sedikit mempoles Basic tutorial sebelumnya dengan menambah Loading Bar dan Plane ..hehe….
1. Menambah Loading screen dan progress Bar
Loading Screen biasanya ditampilkan pada saat program sedang meload resources atau initialisasi. Nah pada saat Loading biasanya ditampilkan gambar maupun animasi. Animasi yang sering dipake adalah progress bar yang menunjukkan persentasi proses yang sedang berjalan.
Pada OGRE 3D sudah ada contoh Loading Bar menggunakan Ogre::overlay. Untuk memulainya, tambahkan pada applikasi code berikut :
#include <ExampleLoadingBar.h>
setelah itu cari code initialisasi Resource Group :
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
tambahkan code ini diatasnya :
// add Loading bar ExampleLoadingBar mLoadingBar; mLoadingBar.start(window, 1, 1, 0.7f); sceneMgr->clearSpecialCaseRenderQueues(); sceneMgr->addSpecialCaseRenderQueue(RENDER_QUEUE_OVERLAY); sceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_INCLUDE);
Pada sceneMgr diatas kita menghapus semua Render_queue, dan menambah Render_queue_overlay , karena LoadingBar menggunakan Ogre::overlay. Setelah itu lakukan initialisasi Resources Group. setelah selesai maka kita kembalikan Render_queue seperti semula. Masukkan code berikut dibawah inisialisasi resource Group
// Back to full rendering sceneMgr->clearSpecialCaseRenderQueues(); sceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE); mLoadingBar.finish();
apabila berhasil maka Gambar akan mucul 😛
Gambar 1.1 Loading Screen
2. Plane
Menambah plane ( dataran ) dengan menggunakan createPlane dari Ogre::MeshMAnager, kita akan buat ukuran 2000 X 2000 pixel dengan texture “Rockwall”. Apabila ingin mengganti texture kita bisa coba-coba dengan texture yang lain seperti “RustySteel” atau “Rocky”. Silahkan lihat di Media/Material/Script/example.Material. Untuk mengetahui Parameter dari Ogre::plane kita bisa membuka File OgrePlane.h pada OGRE SDK / include. 🙂
// Define a floor plane mesh Plane p; p.normal = Vector3::UNIT_Y; p.d = 200; MeshManager::getSingleton().createPlane( "FloorPlane", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, p, 2000, 2000, 20, 20, true, 1, 50, 50, Vector3::UNIT_Z); // // Create an entity (the floor) Ogre::Entity* ent = sceneMgr->createEntity("floor", "FloorPlane"); ent->setMaterialName("Examples/Rockwall");
Gambar 1.2 Plane
<< Sebelum __________________________ Sesudah>>
Referensi :
Ogre basic tutorial 2
ExampleBSP, Example Camera Track
Note : this tutorial isn’t Complete yet.. 😛
Leave a comment