Random Entity Placement Manager (BETA)

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
Belshamaroth
Posts: 24
Joined: Sun Apr 09, 2006 8:19 pm

Random Entity Placement Manager (BETA)

Post by Belshamaroth »

Hello everyone,

this is my first project.
English is not my native language so please excuse my errors.

For some time i started with Irrlicht and after some coding i have got the idea to write this Random Entity Placement Manager, which places selected meshes randomly all over a terrain (in the future it will be possible to place whole mesh-lists).

Now the Beta-Version is ready (which will be extended).
It places a stated number of meshes with random rotations, random scales and random positions all over a generated terrain but allways taking the water-level into account while placing. (so no tree is planted underwater ;-) ). This all is loaded in a very high speed. (even if i had 5k meshes it didnt take longer than some seconds - but it decreased the fps very much).

Till I will make the beta release available I present a short code example how it has to be implemented:

this is for the rts-like first two screenshots:

Code: Select all

IMesh* treemesh = createA3DTree("laubbaum1.a3d", device, true);
IMesh* rockmesh = smgr->getMesh("rock.obj")->getMesh(0);
smgr->getMeshManipulator()->makePlanarTextureMapping(
				rockmesh, 0.003f);
ITexture* rocktex = driver->getTexture("1.jpg");


//CRandomEntityManager(Base-Scale, Count of Meshes, currently used device , currently used scene manager,currently used terrain, terrain-heightmap, waterlevel (const s32))

CRandomEntityManager* EntityManager1 = new CRandomEntityManager(10,50,treemesh,0,device,smgr,terrain,heightMap,waterlevel); 
CRandomEntityManager* EntityManager2 = new CRandomEntityManager(10,100,rockmesh,rocktex,device,smgr,terrain,heightMap,waterlevel);
this is for the fps/rpg-like second two screenshots:

Code: Select all

IMesh* treemesh = createA3DTree("laubbaum1.a3d", device, true);
IMesh* rockmesh = smgr->getMesh("rock.obj")->getMesh(0);
smgr->getMeshManipulator()->makePlanarTextureMapping(
				rockmesh, 0.003f);
ITexture* rocktex = driver->getTexture("1.jpg");


//CRandomEntityManager(Base-Scale, Count of Meshes, currently used device , currently used scene manager,currently used terrain, terrain-heightmap, waterlevel (const s32))

CRandomEntityManager* EntityManager1 = new CRandomEntityManager(1,500,treemesh,0,device,smgr,terrain,heightMap,waterlevel); 
CRandomEntityManager* EntityManager2 = new CRandomEntityManager(5,100,rockmesh,rocktex,device,smgr,terrain,heightMap,waterlevel);
Image
Image
Image
Image
dawasw
Posts: 357
Joined: Tue Aug 10, 2004 4:39 pm
Location: Poland

Post by dawasw »

Looks very good. =)
Belshamaroth
Posts: 24
Joined: Sun Apr 09, 2006 8:19 pm

Post by Belshamaroth »

thank you,

i continued developing in the last days.
i finished two new features:

- embedding of the "tree scene node" (view project announcements) as object
- embedding of dynamic lights and bump-maps

i will release the project after the last problems are solved:
they are:

- loading of multiple mesh lists
- "volumetric" fog (even it does not deal with this project it is something which will be released too, just for presentation)
Belshamaroth
Posts: 24
Joined: Sun Apr 09, 2006 8:19 pm

Post by Belshamaroth »

next two screenshots with tree scene nodes and volumetric fog:

Image
Image
finger007

Post by finger007 »

Looks really cool, man!
Great work, keep it up!

Cheers,
finger007
Post Reply