Simple Grass Textured
A downloadable tool
Download NowName your own price
This plugin for Godot 4 allows you to add grass and plants to your scene in a simple way
How to install:
- Download and copy the folder 'addons/simplegrasstextured' in your 'res://addons/' folder
- Enable SimpleGrassTextured in Project -> Project Settings -> Plugins
Using the AssetLib on Godot:
- Open the AssetLib tab on Godot and search "Simple Grass Textured"
- Install the Simple Grass Textured plugin
- Enable SimpleGrassTextured in Project -> Project Settings -> Plugins
Or download from Github
Upgrade from previous version
- Close all your scenes (Especially those in which there is some SimpleGrassTextured)
- Disable SimpleGrassTextured in Project -> Project Settings -> Plugins
- Delete the folder 'addons/simplegrasstextured' on your project
- Install the new SimpleGrassTextured version
- Enable SimpleGrassTextured in Project -> Project Settings -> Plugins
- Reload Godot
How to use:
- Add a SimpleGrassTextured node to your terrain scene
- Select the SimpleGrassTextured node on your scene and draw on the terrain
Note:
Your terrain scene must have a StaticBody3D in order to draw grass on top of the terrain
How to enable interactive mode
- In the _ready function of your game scene you must enable the interactive mode by calling the function SimpleGrass.set_interactive(true)
- Next you must enable the character to be detected by the SimpleGrassTexture collision system, for this it is recommended to add a MeshInstance3D to the character (for example a sphere) at the height of the ground (you can adjust the size of the sphere so that the collision be detected more accurately)
- In the render layers of the MeshInstance 3D, only layer 17 should be enabled
- In the active camera disable display layer 17 so that objects that are only interactable with SimpleGrassTexture are not visible
- In your character's _process or _physics_process function update SimpleGrassTextured by calling SimpleGrass.set_player_position(global_position)
How to use a custom mesh:
- Select the SimpleGrassTextured
- Using the inspector load your custom mesh on the mesh propierty
- On the Texture Albedo load your custom texture for the mesh
Download
Download NowName your own price
Click download now to get access to the following files:
SimpleGrassTextured-1.0.5.zip 237 kB
SimpleGrassTextured-2.0.6.zip 307 kB
Development log
- Version 2.0.4Dec 15, 2023
- Version 2.0.3Nov 13, 2023
- Version 2.0.2Nov 09, 2023
- Version 2.0.1Jul 24, 2023
Comments
Log in with itch.io to leave a comment.
Hi! I'm using a custom mesh grass but even after setting the grass strength to 0, the grass doesn't feel alive so I changed grass_size_y to 1 from 2.23 and that worked but just in the editor, if I save and run/reload the project, that parameter reverts back to 2.23
can anyone please help me out with this. im trying to draw but for some reason it is not drawing anything on terrain. but when i drew on another mesh (a wooden cabin model) the grass appeared. the brush indicator is showing butit is not drawing and i do have a static body and collision on the terrain
make sure the terrain collision mask layer and grass collision mask layer is the same.
i read your reply very late. i exported the terrain mesh again as aan obj file rather than gltf2 from blender. that somehow solved the issue.
I'm also using a .obj, maybe that was the issue who knows?
First of all congratulations, a truly excellent plugin.
However, I wanted to know if it could be used programmatically and how to use the API if so.
Thanks
is there anyway to put in a custom normal map for the grass?
Yes, in the inspector expand the "Material parameters" section and in "Normal" you can configure a custom normal map
would it be possible to use this plugin with procedural terrain so that it generates grass around certain heights?
No, that requires that both plugins (SimpleGrassTextured and the procedural terrain plugin) are designed to work together
This is phenomenal! I actually used this plugin quite heavily in Wizzerd Quest, the free RPG I just released. Thank you so much!
Quick question: is there any way to connect this to the Terrain3D plugin from Tokisan Games? They claim on their forum there is some kind of debug collision you can enable to make it work, but I am skeptical that's not just accidental misinformation.
Thanks, nice game, congratulations, and yes it is compatible with Terrain3D, you just have to select Terrain3D and activate "Show Collision" in the inspector in the "Debug" section
Hey! Is it possible to set up the player with an Eraser brush at runtime?
Nevermind! I figured it out.
For those who may search for this:
The grass.gd script has an erase(position, radius) function. It's waiting for you. :)
This will sound crazy, bu thow do I remove grass? Let's say a friend of a friend of mine placed a lot of grass where it should not be placed, how can he remove it?
You can select the erase tool on bottom toolbar, or in the menu SimpleGrassTextured -> "clear all" on the top toolbar
Wow, I simply had not seen a whole myriad of options down there, thanks!
Hello, if there is a new version, can you increase the brush size?
Drawing large maps was so painful that I gave up using them.
Thanks
Can you use a 3d model of grass and how?
Yes:
Is .obj the only supported file type it would be nice if you could load your .tscn scene with you grass pls add <3 for example with protonscatter you can load the mesh in the item node and in path
Hi! Not sure if I’m doing something wrong but the grass only renders in the editor.
Here’s my project: https://github.com/Steveplays28/godot-volumetrics-test
I just painted some grass on a flat terrain which works, but the grass disappears when playing the demo.
No grass (in play mode):
Grass (in editor):
Awesome plugin though so far! Super nice work.
Nice scene!
Try disabling in your project settings -> Rendering -> Anti Aliasing -> Use TAA (using TAA and multimesh gives problems on some systems currently on Godot 4)
That fixes the issue, appreciate it. And thanks, I’m making a demo scene for Godot 4’s new volumetric fog system.