Download

Issues with grass meshes

Hey,

As you can see in this video, the grass meshes I am using have this weird noise over them when (and only when) moving the camera, especially when looked at from far away.

The problem is not related to the material (since it was the same for similar materials) but likely either mesh configuration (the mesh itself worked fine in another enviroment) or lighting.

A thing I noticed is that as you can see here, the Distance Field AO visualizer shows the same behavior as the noise. I also tried this with other “working” meshes and it looked pretty smooth for them.

Does anyone know what this could be caused by?

Thanks in advance,
Til

In the video, a pixel is 3 to 4 times bigger than your artifact… ei: can’t tell anything from it.

The problem could still be related to the material.
check the Rendering thread, there’s a discussion that’s potentially similar to this.

Just out of curiosity. What is the current Distance Field resolution for the mesh? Do you see changes when you bump it up or down?

That said, the meshes don’t look like grass. Usually grass has shadows disabled because performance matters and its super easy to fake shadowing on them.

if you are using grass node.
Check the mesh settings on it.

If you are using foliage. Not sure really. Haven’t had it behave that way on foliage ever.

I updated the video, it should be a bit more obvious now. The “noise effect” is mainly visible on the grass further in the background, but it also close to the camera, only more subtle.
I don’t think it is related to the material since I tried out lots of material configuarations and nothing changed, I also applied other, simpler materials, so it is probably connected to the rendering of the mesh.

The distance field resolution scale is 1, adjusting it didn’t change anything.

I am using the grass as foliage with shadows still enabled, but it was the same for placing it just as a mesh.

My current suspicion is that this effect is somehow related to parts of the grass mesh being very thin and therefor jittering, as this video shows (the effect is especially visible on the outer grass blades). I don’t know why this didn’t occur in the other UE4 enviroment I exported the assets from though (4.26 to 4.5).

Honestly looks like temporal AA is off and there’s no dither node in the material.
but it could also be another 10,000 things.

At least now I can tell its a grass mesh. The video still does not stream with enough resolution to see what’s happening exactly.

Review your TAA/FXAA/MSAA depending on whatever render pipeline you use.

Or just stick a dither temporal AA in the material node alpha.
a poor excuse for a solution, but a solution nonetheless.

If that’s not it, then you ought to post screenshots of the material.
and probably a shot of how you have the grass node set up…

Again, you should probably disable shadows completely from grass.
this includes distance field shadows.
It’s not much but they cost memory. Unless you are using the distance fields on the grass mesh somehow you can probably set up not to have DF for it and save a micro kb of memory.
(does it really matter? Maybe on mobile otherwise no…)

To fake the shadows just use the vertex paint which normally goes from back to white to manage wind as a multiply or some other form of blending into the base texture.

Wow, what a great thread. Thank you for sharing this.

What exactly do you mean by that?

Here is my material setup (masked, two sided foliage).

The shadows are SSAO.

The node is used in this video

You just need to try the node. No extra code.

Okay thanks, but putting the DitherTAA node between opacity map and the mask input unfortunately didn’t solve it. :confused:

Another problem I just had was that lighting is very weird and changes based on proximity, but not in LODs but basicly in squares, here is some footage of it (foliage tool, dynamic lighting, ssao enabled, UE4.5).

Does anyone have an idea where that could come from?

That, usually, is the foliage having issues because of too many instances or too high a vertex count. However, could be something else too since your frame rate doesn’t look limited or stuttering.

Could be you baked the light too. And went dynamic later.
You have to clean the baked textures when you do that.

Another option is an AO input into the texture. Should probably not use AO on grass.

There’s just so much it could be… kinda hard to tell.

Generally speaking it’s the mesh or a mesh related issue like the material for it. Not the light or the dynamic setup.
however could also be those…

If the material is literally as simple as you showed, then you can assume that’s not it (after double checking the material settings for the proper shader model).

best advice. Make a new map - smallest possible size.
make a new landscape material that only uses 1 grass node.
put I the landscape, fill the paint.
test in the reduced environment.
add a few landscape components manually to see id load changes things.