Grass/Multimesh not versatile

Godot Version

Godot 4.3

Question

Hello! I’m here to ask if anyone know’s the proper way to resize grass in godot on the y/x axis in godot without rescaling on the z axis? I’ve been told I should make multiple grass prefabs to account for this… But doing so both did not fix the issue, And did not allow the resized blades to be clumped up together like normal grass.

(Ps, I tried all kinds of grass tutorials to try fixing this. So far I’ve tried a multimesh and actual particles.)

You can click and drag on the blue square gizmo to scale along that plane. You could also change the x and z scale axis in the Inspector.

Could you describe what effect your are going for? What you have tried and how it failed you?

Resizing it along those axis both breaks the look of the grass and makes it look worse.

That’s why I’m asking for help trying to understand what I need to do to fix it…

What is broken? Looking “worse” is sadly subjective, I do not know what direction you want from this grass.

If you want to spread out the grass then you will have to change the transforms of the MultiMeshInstance, I do not know how you set this one up so it’s hard to recommend an action without knowing what you’ve tried or how it’s currently generated.

It’s really just I’m upset it doesn’t automatically add grass blades or contuine scattering them closely when stretching out the multimesh. Because no matter what I do it always looks like their further apart and “are not really” grass.

Either way, There’s definitely things I can send to help show what I mean for sure! I’m just not certain what would help.

For such dynamic interactions you will have to use a plugin. “Simple Grass Textured” from the AssetLib is pretty good, “ProtonScatter” is more advanced.

Scaling a MultiMesh is a scaling operation like any other, Godot does not see it as an area to populate with meshes, just one big instance to scale.

Yeah, I learned about both through a Google search. Proton scatter didn’t have documentations I could use to work with my mesh and scattering it on a place, But once I learn what to do there it could work. And the other addon was essentially painting grass, Which didn’t work as well because the amount painted was different the longer you paint, And there wasn’t any tools like earsing…

Even still, I see games that don’t have issues like this, So I was confused how that is-

I reinstalled proton scatter since it may be my only option… Plus. I have some meshes that may use GPU instancing well! So, The only issue now I’m having is the same look when I scale grass happening with proton scatter.

@gertkeno

You should edit the proton ScatterShape object to define the grass region, again not using Godot’s scale tool.

I did though…?


Trying to modify it more seemed to of made the situation better… But I noticed proton scatter doesn’t let me apply the same script that let’s my grass be interactable.

Even the modifiers aren’t much help… But this seems to be helping through further modification.

I wonder if I’ll need to make a special extension script for proton scatter to pickup.

Update:

Still no luck, Using proton scatter seems to remove all ways of interacting with the grass in my game, (Primarily the script needed for this functionality.)

So I’m still looking for new solutions to this current problem!

Is this re-sizing just needed in editor, or is this some dynamic thing you want in game?

If in editor just manually repopulating the multimesh and increase the count of the instances that makes sense. If you want in editor but it to be more automatic by changes to the mesh the grass is drawn on, by doing some editor scripting

Well yeah, I was wanting all changes to the grass to be shown both in editor and in game! It’s really just resizing that’s the issue though. Even if I add more grass natively I get to a point where it’s too little and spreads them too far apart… Proton scatter is definitely working to fill this all in. But since I’m using it, Instead of a multimesh. My own self made code to make grass interactable by a player moving over it becomes broken…

I mean. It’s broken in the way that it doesn’t detect this kind of grass, But it detects other grass! But if I were to switch completely to this, It removes all interactivity…

(by the way, Trying to repopulate the grass through a multimesh showed me just how many can be set in the editor :eyes:, It seems too little if I did this!)

@roc4u1000