AAA Grass

120x120 Meters. I had to set the painting density to 400 in order to have so much instances in this area. Normally you wouldn’t have 45,000 instances in within 120x120 meters.

A problem with creating realistic grass is that more realistic, thinner blades looks bad on many screens. There isn’t enough pixels to render them properly so you often get tons of aliasing that can’t really be fixed easily. That’s why most games, even the otherwise realistic looking ones have cartoonishly thick grass blades.

Distributed using grass node on landscape I reduced the scale along XY making the blades thinner.

thats true, pic above looks like a good compromise. would buy if overdraw is good and price is reasonable

Overdraw is very dependent on the density. I don’t think I have ever seen grass that don’t look red/white in shader complexity if it’s placed dense enough so ground can’t be seen. The test I did above has reds and whites as well. I will do another test later with less density and check shader complexity.

Same grass, different material instance.

isn’t overdraw only relevant on translucent blending? there’s really no reason for overdraw to exist on opaque/masked materials
or is your grass actually translucent?

looking quite good btw, but could be more natural. the areas that are far (or if you squint your eyes) look really great but the grass up close looks to have kinda cartoony/artificial shapes

Is the light baked or is it real time? Have you tried moving a dynamic shadow casting light through the scene and seeing how that affects perfomance? Any stats on memory usage and latency would be nice… Could we have a shader complexity screenshot and a shot of the material would be wicked. How many triangles are being rendered in that frame. Is the grass moving or is it completely static?
is Post Processing quality at 0 here or do you have it at a normal value? How does it perform with a few hundred large shadow casting objects in place?

It is opaque, but opaque surfaces too have transparent areas if masked. Overdraw doesn’t happen with translucent shading model only.
Thanks for the feedback! :slight_smile:

Very interested as well with the caveat of performance. Also unlike most people I really like the existing grass XD please include it as an option in the final product!

Every picture I ever post on the UE4 forums with with dynamic lighting. Not a fan of static lighting at all. In this case, there’s skylight and directional light (casting shadow of course) both set to movable. Generally UE4 doesn’t even handle 20 dynamic lights painlessly so I assume in any scene you add a few hundred dynamic lights you’d end up with ALT+F4. :slight_smile: I didn’t touch any quality settings and Cvars other than setting the settings to Epic. It’s been a couple months when I click on Shader Complexity mode editor crashes, not sure what has went wrong with my editor but waiting for next update to come out.

Grass looks good, i have been spending whole day today going forwards and backwards trying to get the best visual/performance ration on grass. Few weeks ago made grass followed Vega games tutorial from youtube which uses custom modeled grass in 3d software where 2 planes lean/cross eachother, but quickly found that that method produces too much overdraw.Thus today redid whole thing in Speedtree/max combo, advantage is better wind than UE4 material editor can produce, much easier LOD navigation (altough all LODs were manually made), and perhaps the most important one billboards for distance. Havent finished yet, but here is the preview:

LOD1 has still room to improve and reduce red shading. Some wierd black spots in the grass aswell, not sure what is causing that.
The main thing to do is to create LODs to reduce red complex shading. LOD1 and 2 are fine so are billboards especially. LOD 0 is going to have overdraw there is nothing you can do about it, otherwise ground will be visible for sure. If only unlit grass would have fit with the rest, funy enough it looks better even unlit at first place.

Looks good :slight_smile:
Until now I’ve always used this free customizable grass from Aaron Neal:

It looks great, but one of my biggest issues with grass for games is its only ever just blades, when there is so much more to “grass” than some basic blades.

heh, oh and remember we’re not allowed to call things AAA here anymore, so you’ll have to come up with a different shorthand for how amazing it looks :wink:

Thank you all for the feedback!
I might actually just bump the shader instructions a bit more. I don’t like the simple grass wind and the panning normal map like in the kite demo doesn’t look right under all lighting conditions. (It’s a disaster there’s no unified wind system in this next gen AAA game engine yet) :rolleyes:

The test I did was really beyond what actually happens in games IMO. There are no billboards yet as well so I think a little more instructions wouldn’t hurt.
@Ironbelly, Really? I assume instead of fixing the sorting issues, they banned the AAA term? might have to go with 3A Grass then! :cool:

It isnt needed since Speedtree is perfectly pluged into UE4. Their wind in either case best that you can get out of engine.

“AAA” doesn’t mean what you think it does; tip: has nothing to do with quality.

Yep, Epic renamed all of our packs to remove the AAA from the titles.

How do you know Max doesn’t have a 15 million dollar grass making fund?
Sure, it refers to the size of the development and marketing budget, but it’s fairly synonymous with quality. I mean it is possible to make a 50 million dollar game that looks like ***, it’s highly unlikely, if someone’s spending that kind of money there’s a good chance they’ve got a solid crew behind them. Again, not a guarantee but it’s synonymous enough with games of the utmost visual fidelity that I think we can all use the term here to save ourselves the time of writing ‘Super duper beautiful high quality Grass’ again and again and again :slight_smile:

Some tall grass.

Hey guys,

There’s so much to share.
Let’s start by saying I’d include only 1 grass in this pack, which helps better demonstrating the real purpose of this package.
What this package is intended to do is to let you produce infinite variations of any single grass. For that reason, all the images I’d be posting here from now on is the same grass, but a different variation created using the function included in this pack.

So many more variations can be made in no time! for any grass!

(Going to update the OP today. Documentation is also WIP).