How can I make my grass look nice?

Hi guys, I’m an environment artist but didn’t begin my foray into foliage that long ago. I’m trying to make a sort of dead grass material from scratch, borrowing from simple graphs online and the UE4 Kite Demo (but I don’t really want anything as advanced.)

This is the result so far;

The material;

Some of the nodes are thrown in (I don’t think per instance fade works yet) but I’m mainly concentrating on the look for now

preview of the textures;

I think one of the main issues is the way I’ve set up the vertex normals - they clearly display differently to Epic’s own grass (detail lighting);

All of the vertex normals on my grass are pointed upwards, yet they display differently to the KiteDemo grass;

I could be the material, and it could be the normals, but I’m not sure what’s causing the grey colouration in the grass. I’d appreciate any help.

In my experience the grey haze, so to speak, over foliage assets and specifically grass has to do with the specular. Can you try to tone down the specular completely? That may help with the grey overlay, if I’m interpreting your issue correctly.
Secondly, I suspect that the Kite demo material is using Subsurface Scattering to achieve its look. It means that you’re not really able to replicate this easily. Try multiplying your normals on the grass with a TwoSidedSign node. It makes the normals on both sides identical, meaning that if one side is lit, the other is too. The backfaces won’t be oddly dark anymore.

Thanks for the tip, I dropped the specular to 0 just to see what kind of effect it has and here’s the before and after (0 spec no twosidedsign/0 spec twosidedsign)

I had to toggle the images over one another to see the difference, but it’s definitely somewhat beneficial. Thanks. I’m thinking it’s definitely the vertex normals, as the Kite grass and mine display very differently in detail light view - is this caused by the subsurface you mentioned?

I personally use a Subsurface shader on my grass which looks like this in detail lighting:


So yes, I definitely think that’s caused by the subsurface modifier. Twosidedsign definitely doesn’t fix everything, though. I’ve had this issue a lot in the past and I’ve never found a proper ‘master’ fix, so to speak. I’ve always had one issue or another left, in the end. It’s part of the reason I’ve switched to using Subsurface grass; I feel good grass is critical and that it’s definitely worth the, not insanely bad by the way, performance hit. I’m still on the lookout for a fix to this, and if I find one I’ll let you know.

Interesting, with Subsurface the grass in my eyes now looks softer from the front and less soft from behind

Can’t say I don’t like the effect, but the grey patches persist unfortunately. Confident it’s a normals problem now

Okay, checked the lighting only buffer and it seems the Kitedemo grass has a another trick up its sleeve that I didn’t notice - it seems to be altering its vertex normals based on where the light source is coming from?

left = mine, right = kite

left = kite, right = mine

Bearing in mind I haven’t delved into the Kitedemo grass material much and don’t have a huge amount of experience with the material editor and its nodes