How we climbed the trees:
1) The base is a leaf, respectively it’s diffuse, specular and normal texture...
2) ...which we placed on a model, whose shape follows specificaly it’s natural curve.
3) That we placed on a sculpted branch...
4)... from which we rendered basic difuse, specular and normal textures:
5) To finish up we did some minor adjustments, corrections and tinge like in the case of the grass texture and here you can see the result applied to a tree:
Looks really great! What is its poly count?
LOD0 = Treetop: 2888 tris, Trunk: 1284 tris
looks really good =)
THX!
Isn't it a bit hardcore to spend 4000 polygons on a tree? I'd expect something between 800 and 1000 would suffice. Doing one leaf at a time seems a bit tedious too. I'd make some presets with 20-25 leaves in Photoshop and put a couple of those (with their alpha mask) on the branches. Maybe throw in a few single leaves for cosmetic, in the end.
However, the result is looking nice, but what if you want to make a forest? - You spend 200 000 polygons on 50 trees.
Hi SinKing, here are the answers:
@Creation process: We need to put each leaf on sculptured model of branch separately (one by one) because we want to extract normal map representing also orientation of the leaf on the branch. Of course, we don´t place them all by hands, we use some distribution algorithm, then we render textures and use them on planes which are pinned on trunk geometry of the tree.
@Rendering: For rendering trees and all other objects we use LOD (Level Of Detail) system. It means that all objects have several variations with lowered polycount, the farther object from camera uses the lower-poly geometry, for instance: this tree in last LOD has 8 triangles only. We also work with pixel operations (mixing layers, mippmaping etc.) as well as vertex operations (procedural wind animations etc.). We use hardware instancing too which helps us drawing so many objects in the view range. So we can render hundreds of thousands of trees with maximum visual, behavior and physics quality at the closest distance from camera, which are in acceptable quality at far distance from camera, the result can be seen here:
Indiedb.com
Stunning; but! How the engine handle that amount of polys ?
Please see the answer above (for SinKing), Thanks