Brushify landscape automaterial, remove procedural grass below spawned objects

I tried with the asset developer but no luck so I’ll ask here.
I would like to remove the grass in the zone around an actor spawned at runtime.
I tried with SweepMultiByObjectType but nothing revelant comes in the hit results.
Somebody familiar with this automaterial have an idea about how to achieve this?
Thanks in advance.

Are you talking paint?
Paint does not occur at runtime.

Are you talking grass instances?
Any object that sweeps on Visibility will collect whatever instances are overlapped.
You can try to process these setting visible in game to false or something similar.

Otherwise.
Change the grass material - add an MPC eith the LOC and Radius.
Make the actor in question update the MPC.
Use the 2 values to set opacity to 0 for anything within the sphere radius of derived off fhe MPC.
Easy peasy - and works at runtime too.

1 Like

Thank you mate, Yes I’m talking about the auto generated grass.
I was actually thinking that to make this in the material itself would be the best approach, but tbh my materials knowledge is basic at best.
Could you describe a bit more your suggestion?

I double checked, all that is collected in the sweep is the LandscapeHeightfieldCollisionComponent and some meshes from a PCG volume that I have in that level, nothing else.

Mmm now that I check again the LandscapeHeightfieldCollisionComponent contains an array of ULandscapeLayerInfoObject, maybe I can do something with that.

…nah it’s a dead end.

Here are some basics

Way too complex for my ultra limited materials knowledge.
This was my try but it hides all the grass, no idea why @MostHost_LA

Edit: Problem was the MPC was not updating, got it working hardcoding some floats.

However, I don’t see how this is a solution for what I asked, unless I am missing something it can only store a single location.

but the location of what? - like in the video shared above, the what could be a large laser-beam circle, or if you think ahead - any image.