понедельник, 16 декабря 2013 г.

How I made the grass @ Bryce Canyon

I had not much poly amount left, minding that enormous quanity of rocks. But yet I still wanted to have dense grass/bushes to add some detail to the track.

It's actually useful for engines like gMotor, which do not have grass rendering built in the engine. That means, on some other platforms you have like 1 model/template of grass, and the engine clones that template to all the scene, according to some material, or specific map.
But in gMotor engine, each grass blade is an unique object. Yes, you can put them in groups but they still will be unique polys, increasing the polycount and overall load. I've actually tried to make very dense grass in rFactor track, using standard X-shaped objects, and that was a pain in terms of FPS. Also a pain in terms of 3ds max, it tends to crash all the time, if you have 10 000+ objects.

So, as one of different ways, here is the way I've used at Bryce canyon:

You can imagine the grass is 3D but it's not actually. At least not the usual way:

Remember the woods in Il-2 sturmovik? They were done the same way.

What it is (and you can clearly see here) that the grass is 2-3 planes, mainly optimized copies of the terrain, with lowered polycount, raising a little above each other. The lowest layer of that "cake" has vertex color in full black, so it looks like shadow, or shaded part of grass.

All the vegetation you see, is just a tiled texture, or few textures and variations of them.
On Bryce I've basically made some desert grass/bushes texture. But if you spend on texturing more time, and if you take that idea to the higher level you can really create some very dense grass verges, which are impossible if doing them traditional way. (If only your game engine doesn't provide cloning of grass object by itself, like I told in the beginning of this post).
What's really painful to do - is a good tiled texture which won't be too repetitive for the brain; having some randomized mapping will help too.
On a Canyon it was just a concept and benchmark. Now imagine if there are more than 3 layers, and they use DIFFERENT textures for each layer, each texture with it's own unique alpha.
It gives a lot of opportunity to experiment with!

Hope that helps someone.

Комментариев нет:

Отправить комментарий