Hi,
I'm working on game where player main movement is flying so he can get very personal with vegetation. Main theme is FPV miniquad racing (small drones with on board camera). I want to ask what is typical triangle count for current and next gen trees and foliage in general. What would be your suggestions how to approach this case scenario (possibility of close contact with tree). Right now I'm experimenting and searching for various ways how to fake them so they look alright but still hold up when player is close. Main issue here is that there are vast forest planned and player can go in between branches (fly-through).
I examined vegetation and its look from Battlefield 4, Witcher and Kingdom's Come.
Potential creators of foliage in this games feel free to share triangle counts and or tips and tricks. it would save me some time to know on what should I focus cuse making trees is VERY time consuming.
One note, I would like to avoid using Speed Tree cause their trees look bad for me.
I plan to tackle first this tree, Pinus Sylvestris in various vegetation stages. First test (one on right) is sitting somewhere in 17-24k range.
I plan to do LOD in shader, so that when tree is far fronds are not using transparent shader just opaque one. I'll be posting more as I progress with this.
Replies
Hehe, will do next time. I created imgur account already.
I´m very curious what the LODs will look like.
View distance is a real problem with this kind of terrain. And you will need strong LODs because polygon counts are going through the roof obviously.
Please keep us updated!
Edit:
I assume you already have seen this:
[ame]https://www.youtube.com/watch?v=clakekAHQx0[/ame]
Closeup
LOD_0: 115000
LOD_1: 13000
LOD_2: 2500
LOD_3: 32
I hope that term "polys" mean triangles in Unreal. Please correct me if I'm wrong. So my triangle count is still on safe side (initial worry faded away). Hope Unity will not prove me wrong
http://speedtree.22slides.com/games
I think I'll go different route either way.
Modeling some branches now. I'll be baking from high poly to obtain missing maps. I think I would need to be real smart about low poly branches to capture detail I want where necessary. Minimizing overdraw on them and helping with volume definition at the same time.
As well as some for stumps and fallen debris. I think I'll start with these cuse I did not painted textures and stuff for looong time..
Ignore that horizontal trunk for now. It needs more love at top. I'm thinking of breaking it up so I can derive various stages of decomposition from it. Any ideas how to proceed with branches entering trunk? I would like to have branches separate to be able to quickly bash together new pieces. For now there is 28 uniques pieces of debris branches. All that must go to single atlas.
For branches entering the trunk, take a look at Zspheres. For example
http://www.polycount.com/forum/showthread.php?p=1094357
More examples here
https://www.google.com/search?q=zbrush+tree+branches+game&tbm=isch
Yep Z-spheres are very nice, me and sculpting are not so much friends :poly142: To paint it is OK but to sculpt not so much.
The way I intend it to behave is more like kitbash set rather one single mesh. I would like to collapse to "one mesh" after kitbashing new arrangements. Hmmm. How to do so that it still blends nice with trunk..
So far only things that came to my mind was to cover intersections with moss or still present rotting/dry bark pieces. If I could do moss as world space vector in shader than I would only need to create some meshes simulating bark patches.
Other option would be to model some of them on fixed spots and still leave branches as separate so they can be moved around and collapsed just before export of new asset...
Well time to break/remodel that trunk as well.
This one is "done" for now (depending how bake will go I might revisit it later on). Today 27 other need to be "done" as well...
Good job with the sculpts, except how will you do the blend with the trunk? If you do the whole tree as one sculpt, then you can use ZRemesher to decimate the model to get your lowpoly.
I plan to use them to quickly create new unique assets. So I'll be doing this in more modular fashion. When I'll figure out how to do blending in shader I might redo this pieces but for now I need to finish them and move to other vegetation. As veg is the most dominant element in game I'm trying to create I would need to iterate through it for sure. I plan to use similar technique on trees as in Kite Deno. For now I just need something to work with both in engine and ask art kit to create variations. Ultimate goal is to make it fully procedural in engine due fact that maps might get large and I do not have resources to do it all manually that means I'll be scripting lot of "decorators" to populate world for me based on rules from this kit pieces and instead put my effort and time to assets that can be marked as "hero" ones. Eg lonely massive standing tree that will draw player attention for sure. Forest versions will not be so detailed to save some triangles. I made special shader for this that can utilize some more texture space by some cheating (not channel packing tho). Hope I soon be able to test this system of mine on larger scale not just couple of isolated assets.
TY for feedback BTW. Now back to practicing this "sculpting" thing.. I kinda start to like it.
My intended workflow is LP > Unwrap LP > Add support loops (LP->HP) > sub-d (HP) > sculpt > bake > paint > kitbash
Still messing around with dry wood. Any tips how to improve this "texture"?
But if you're going to bake that into one big normal map, it's going to look like ass in a real game situation.
Hehe, got plenty of them but I'm still very new to this sculpting jumboo mumboo :P these are actually my first attempted ones. I'm thinking of putting some lichen on top in albedo later on but I'm not sure how to approach normal map in that case. Need to do some research about this.
I'll be cheating with textures by using MIP levels to actually store more textures into one texture Tested it, it works. Only issue is PS DDS plugin is crap so I'm using Gimp for this cheat.
That's like saying i don't like Photoshop because their textures look bad.
You can customize pretty much any aspect in speedtree. And things that you can't generate directly in speedtree you can still import as custom meshes. It's in full control of the artist to make speedtrees look good.
And for what you have planned speedtree really is your best option.
Kite trees are a bit too hipoly for game btw. Stock speedtrees for UE4 are in the 25k range. That's a good count for like small urban fps with a few trees here and there. For dense forests on a large map something like 10k and below sounds about right. And you definitely need lods that go smoothly down to billboards/x-trees. Again speedtree is your best friend for that.
For now I decided to go with hand made ones. I would need very detailed trees so total control all along is required. SpeedTree modeller might get me quick results but there are other things I have in my mind I did not mention yet (not right time).
What you see in that Kite Demo is exactly what I'm after so I'll be extending Unity build in LOD with my own to get result I not want but NEED.
I'm open to any study material regarding high performance detailed foliage implementations in games. I have hard time finding such info. So link it up if you know about something really good please. TY