Hey all, just an extra note: If you get errors about BurstCompile, the generate functions use Burst Jobs, so you need to go to the Package Manager and install Burst if it's not installed already!
I'd love a guide on the cutting and burning :D I've been trying to do what you did but don't really understand any of it xD I'm in love with this tool though
Your work continues to be an inspiration, super clever stuff. It is extremely generous and appreciated that you share all this knowledge for free. You're a legend
You are a goodsend!, I was just reciently trying your older tutorials but couldn't get the tool to work and you just saved me dropping this video, a million thanks and your work is amazing
You shader is absolutely insane! It's a real pleasure to use! And please do the guide to cut and especially burn the grass! This is great work! I love your shaders!
Bro, all I can say is great job! I've been using your grass from day 1 of my career as unity developer. I've been loving your work ever since and this update makes it more amazing! I also want to thankyou for making this project to the public! Great job!
I don't know why dont you have millions of subs and viewa. Excellent job ! And I don't mean this video. Your website and the other tutorials. Keep it up !
After trying a lot of packages without any success, I finally tried yours and I have to say that you have done a fatastic job. It looks like magic, only one batch to render the grass and it works perfectly on mobile. This is exactly what I was looking for! It would be better if you could create a package to make the setup process simplier. And for the blend texture terrain, may be there is a way to directly get the terrain texture instead of using an extra camera but I don't no if it is feasible, just an idea. It is a very incredible how performante it is, thank you so much for sharing it! Last question about the licence of this tool, do you allow people to sell a game using this tool? I have seen nothing about it on your Patreon page so I prefer to ask.
I wasnt getting shadows on top of the grass from other objects. I assumed it might be related to the material generated for the grass so I messed around and the only way I could get it to work is by setting the shader to produce "lit" rather than "unlit" but as it looks the same either way im happy with the fix.
Amazing & well documented! Overview points you went over are super nice touch as well! As the buffer sends the into to shader graph, Is it possible for artists to tweak appearance, etc, etc on grass blades?
Something is wrong with the shadergraph! I followed the instructions and put in the hlsl file. But the nodes that go into those nodes don't exist because my Unity says they are custom. Things like "Vertex ID" and "ColorPaint" have an error next to them that says "Validation: This node type could not be found. No function will be generated in the shader."
@MinionsArt thank you! Sort of a side question - could you do a video or link to some documentation that talks about your workflow for those nice base textures used? The hand-painted looking green terrain under the grass looks great, would love to know more about how to create something similar :)
If you are having issues with the paint tool not drawing the grass, import the .shader file from her post, create a material out of that, and set the brush material to that created material. Your project may not be using urp and that seems to be the issue.
@@liamassassingaming922 isnt really possible since all placing scripts are written with the unity editor libary. u would have to rewrite this part completely new. u could try a former version of this grass shader. this is a bit easier, but still a pain (i gave up on this aswell bc it got laggy very quick).
Thank you for the shader and the tutorial. I am having an issue where the grass won't paint. When I check "Paint Mode" I can see the green circle in the viewport, but when I left click, it selects / drags out the viewport selector box and doesn't paint grass.
Great work, and thanks a lot for the tool. A question, at 8:58 you haven't yet set the color of the grass. I get the same grey grass even after changing the Brush color on the Grass Tool And the Tinting Settings on the General Settings. Any idea what might be causing this ? (I fixed the Shader Graph like you showed and I get no errors.) Thanks :)
If anyone else has an issue where the material you created from the shader is pink, try going into your project settings -> Graphics and making sure the scriptable render pipeline settings is set. Took me a while to figure that out sadly.
@@KaganParlatan Hi! So this asset in particular, no this can not be done. The best place to start for procedural runtime grass is feeding mesh data into an array and using that in one of unity's GPU instancing methods.
You can use Instancing with triangle-strip. Instead per-vertex data use per-instance data. In shader code you get vertex index, so you can build grass blade directly in vertex shader. Compute stage is still needed for culling or wind lookup. But less memory bandwidth be used. x5 less data will be transferred through memory. The perf gain is even greater if you use more vertices per blade of grass. Why does this affect performance? Memory is dramatically slow. You can win x2 performance on this without any other tricks.
Hi! i'm making an indie game with a friend and tried using your grass which looks great! Is there a way to use this grass in our game when publishing it? Hope it's okey to ask!
nice i like the grass feel like in the morning when i wake up and smeelll the cows and grass and the different flower like a small flower or the big and different grasses hehe nice
I got this to work in HDRP by opening the ShaderGraph, manually setting grass.hlsl in GetGrassData and the Blending Texture, and changing the Active Target to HDRP. Then it should be straightforward to follow the setup like normal.
It's now basically just a shader graph plugin (or just a surface shader) so it reacts to diractional lights however the basic shaders work. You can adjust it easily, all the compute shader parts are inside of that GetComputeData custom node, you can change the fragment block to work how you want :)
Awesome stuff as always. I have a question: How can I make the grass affected by ambient light or change colors at runtime? When the day turns to night, the grass looks brighter than everything else, which doesn't look good.
Awesome job!! Love your work, running into an issue with the BiRP, I can get this to work with URP but Not sure what I’m missing using the built-in, no errors after setup but nothing shows when trying to paint the grass Same steps as URP but Created the material using the proper shader you mention for the BiRP but just seems to not generate any grass… aside from the shader to generate material is there some other step needed for using built-in?
Hmm the original version is made for BIRP and ported later to URP, but it is in later unity versions, are you using an older version maybe? Missing a camera with MainCamera tag?
@@MinionsArt Just tested with the latest builds for 2021 , 2022, and 2023 with the same results. The process seems to go smooth using URP and it Paints the grass with no issues but no luck with the Built in. it acts as if its painting but it does not seem to render any grass within the Editor view or Game view. I did verify the MainCamera tag is showing for the Main Camera when generating a new scene. other than compiling the Material from the GrassSurface.shader is there a different step needed for the Built in? Doesn't seem like there is any configuration needed for the shader other than making the material like with URP, unless im missing something there again much appreciate the work you do and the help you provide!
The patreon file is correct, it's the same as my working version in 2021,2022,2023, I'm not sure what else could be the issue. Are you targetting a non-windows platform or something? I had an issue before where the grass would render to a random other tab that was open somehow, could that be it?@@drzbabiboi
@@MinionsArt just as an update I tested the old build using the built in pipeline and it seems to paint the grass with no issues. I’m sure I’m just missing something simple in the setup process for the new setup because the tool does show that it’s generating grass but it’s just not showing the grass within the scene
I want to use manual update after game started how can i do that? Since my game is multiplayer and players spawn at different times after the scene has begun , I need to update after every player has spawned. Other than auto update because u said it is very slow.
I've juste managed to do it, sorry, 1 year late but you just need to do this : When your player spawn (or any new GameObject in the scene) you need to call the function Reset of the class GrassComputeScript. You can do that in your network manager that calls the Reset at each spawning. To do this, set a reference to the grass object and the GrassComputeScript like so : GameObject grassObject; GrassComputeScript grassCompute; Find references to the grass object and script with this code: grassObject = FindObjectOfType()?.gameObject; grassCompute = grassObject.GetComponent(); And when spawning, call : grassCompute.Reset(); More infos in the GrassPainterWindow given in the files in description. Have a nice one ! 😁
I am in URP and I follow the steps here correctly, having a mianCamera with correct tag but can't able to see any grass being rendered in scene/game at all. Although I can see the grass count going up after painting. Much appreciate any help if possible.
Hey all, just an extra note: If you get errors about BurstCompile, the generate functions use Burst Jobs, so you need to go to the Package Manager and install Burst if it's not installed already!
I'd love a guide on the cutting and burning :D I've been trying to do what you did but don't really understand any of it xD
I'm in love with this tool though
how do you add color
Your work continues to be an inspiration, super clever stuff. It is extremely generous and appreciated that you share all this knowledge for free. You're a legend
I'm glad you like it!
It's amazing that this is available for everyone
This is absolutely epic! Thanks for all of your effort on the shaders, tooling, instructions and tutorial!
you are for real a super star, and many indie devs owe a lot to ur amazing work!
감사합니다.
You are a goodsend!, I was just reciently trying your older tutorials but couldn't get the tool to work and you just saved me dropping this video, a million thanks and your work is amazing
Absolutely incredible work, and thanks for making this setup! I'm eager to mess around with it.
You shader is absolutely insane! It's a real pleasure to use! And please do the guide to cut and especially burn the grass!
This is great work! I love your shaders!
I would like to watch the grass cutting guide too.
Your stuff is really good :) great work!
Thank you!
Bro, all I can say is great job! I've been using your grass from day 1 of my career as unity developer. I've been loving your work ever since and this update makes it more amazing! I also want to thankyou for making this project to the public! Great job!
That's an awesome tool i cant belive its free you post so much high quality stuff, i love it. ty for the video boss
Amazing work! I absolute love that because of good people like yourself I am able to make my school assignment look hella neat hella fast. Thank you!
Incredibly well done!
Thanks!
I created a prototype using your grass system. It was very useful and easy to use. Thank you so much.
I am in LOVE with this shader! Thank you for making it free to us peons!!
I don't know why dont you have millions of subs and viewa. Excellent job ! And I don't mean this video. Your website and the other tutorials. Keep it up !
After trying a lot of packages without any success, I finally tried yours and I have to say that you have done a fatastic job. It looks like magic, only one batch to render the grass and it works perfectly on mobile. This is exactly what I was looking for!
It would be better if you could create a package to make the setup process simplier. And for the blend texture terrain, may be there is a way to directly get the terrain texture instead of using an extra camera but I don't no if it is feasible, just an idea.
It is a very incredible how performante it is, thank you so much for sharing it!
Last question about the licence of this tool, do you allow people to sell a game using this tool? I have seen nothing about it on your Patreon page so I prefer to ask.
So much good ! Thanks a lot! Definitively interrested to a guide to cut and especially burn the grass!
a guide on adding buffers to the grass would be amazing!! Thank you!
Love how you even explained the loop for the triangle creation - awesome video :) You got my sub!
DAANG!!! 😮 This is AWESOME!!! Thanks for sharing 🙏✨
I do have interest in the cut and burn buffers setup!
This grass looks so good.
Love your stuff. Great work
Amazing idea!!! Amazing WORK!!! And AMAZINGLY THANK YOU for sharing it with US!) Have a WOUNDERFUL TIME!!!
That looks so impressive! 🔥
Wow. That's amazing. Thank you!
You are a godsend!
Ok, I think im going with that grass again, went to use Stylized Grass shader, but the automatic system of yours tempt me a LOT!
USEFUL is the definition of this Toll. Tks!
I love ur videos so much❤
Thank you soo much for sharing this!
Thanks for sharing this. Gear work !
You are simply amazing, keep it up!
Thank you!
Looks awesome!
SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII LESGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
Really good job!
great work!
I wasnt getting shadows on top of the grass from other objects. I assumed it might be related to the material generated for the grass so I messed around and the only way I could get it to work is by setting the shader to produce "lit" rather than "unlit" but as it looks the same either way im happy with the fix.
Fantastic Work!
Looks Really nice and cool :D
your grass is famous, I see it in a lot of indie games
太牛了大佬!十分感谢!
Amazing & well documented! Overview points you went over are super nice touch as well! As the buffer sends the into to shader graph, Is it possible for artists to tweak appearance, etc, etc on grass blades?
Something is wrong with the shadergraph! I followed the instructions and put in the hlsl file. But the nodes that go into those nodes don't exist because my Unity says they are custom. Things like "Vertex ID" and "ColorPaint" have an error next to them that says "Validation: This node type could not be found. No function will be generated in the shader."
For some reason, the color doesn't change its only showing the bottom tint color.
bro very cool im using 2.0 i will update it to 3.0 . ur a legend bro
Amazing!
awesome allready better than the terrain tools grass! You using indirect gpu instancing for the grass meshes?
I would love to see a guide on adding buffers to the grass!
@MinionsArt thank you! Sort of a side question - could you do a video or link to some documentation that talks about your workflow for those nice base textures used? The hand-painted looking green terrain under the grass looks great, would love to know more about how to create something similar :)
If you are having issues with the paint tool not drawing the grass, import the .shader file from her post, create a material out of that, and set the brush material to that created material. Your project may not be using urp and that seems to be the issue.
is there a way to generate the grass on mesh while being in playmode? like generating the grass on a procedural terrain?
This please!
Any solution ?
Currently having the same issue, did you ever find a solution?
@@liamassassingaming922 isnt really possible since all placing scripts are written with the unity editor libary. u would have to rewrite this part completely new. u could try a former version of this grass shader. this is a bit easier, but still a pain (i gave up on this aswell bc it got laggy very quick).
Thanks for sharing! Looking forward to your cut & burn tutorial. How this performance compare to unity terrain grass?
Very cool
Thank you for the shader and the tutorial. I am having an issue where the grass won't paint. When I check "Paint Mode" I can see the green circle in the viewport, but when I left click, it selects / drags out the viewport selector box and doesn't paint grass.
did u fix it?
It is Right click to paint not left click
@@hopelessshadow9427 ooh right click to paint! Derp! I though I had done the setup wrong. Thanks!
@@hopelessshadow9427 O my gosh,Thank you! You are my savior.
for some reason, my top tint is not working. The bottom tint is the only colour that affect the grass. Can someone please help me out on this?
Great work, and thanks a lot for the tool.
A question, at 8:58 you haven't yet set the color of the grass. I get the same grey grass even after changing the Brush color on the Grass Tool And the Tinting Settings on the General Settings. Any idea what might be causing this ? (I fixed the Shader Graph like you showed and I get no errors.)
Thanks :)
Is the blending enabled maybe? that texture will be gray by default I think.
@@MinionsArt You are right, I left it On when I was trying the blending. Thanks a lot :)
Since it is a unlit shader, i wonder how you add receive shadow to your grass, thank you.
Set the graph to lit
@@MinionsArt Oh, thank you, it works~ can't wait to learn more from your video~
Thank you
very cool! I want a quick tutorial with cutting grass or burning
If anyone else has an issue where the material you created from the shader is pink, try going into your project settings -> Graphics and making sure the scriptable render pipeline settings is set. Took me a while to figure that out sadly.
shadows of other objects is not falling on the grass, how to fix it?
Awesome tool, do you know if it's possible to generate grass on the bottom half of a sphere?
I am interested on burning grass, cutting grass. If you have time for that that would be great. Thank you for the awesome video
I am interested in further tutorials!!
Hi, is there any way to generate this at runtime on procedurally generated meshes?
I wonder same question. Did you find anything ?
@@KaganParlatan Hi! So this asset in particular, no this can not be done. The best place to start for procedural runtime grass is feeding mesh data into an array and using that in one of unity's GPU instancing methods.
Wow! Amazing grass! Can u make a Blender cavity effect shader please?
I'll take a look!
omg a guide on how to cut the grass would be so cool !!!
You can use Instancing with triangle-strip. Instead per-vertex data use per-instance data. In shader code you get vertex index, so you can build grass blade directly in vertex shader. Compute stage is still needed for culling or wind lookup. But less memory bandwidth be used. x5 less data will be transferred through memory. The perf gain is even greater if you use more vertices per blade of grass. Why does this affect performance? Memory is dramatically slow. You can win x2 performance on this without any other tricks.
You are goddes. 💚💚 I'm a 3d artist who is trying to learn some shader but those are too much for me, i hope one day i will create this :(
Cutting and Burning pls thank you
Would you recommend to use this on a VR game? how do you feel about perfomance about it?
Hi! i'm making an indie game with a friend and tried using your grass which looks great! Is there a way to use this grass in our game when publishing it? Hope it's okey to ask!
How would I change the darker colors being on the top of the blades?
nice i like the grass feel like in the morning when i wake up and smeelll the cows and grass and the different flower like a small flower or the big and different grasses hehe nice
If i remember correctly the previous versions did not work in prefabs. Does this one work? Amazing job btw!
How to make a prefab of a plane with grass for example?
I got this to work in HDRP by opening the ShaderGraph, manually setting grass.hlsl in GetGrassData and the Blending Texture, and changing the Active Target to HDRP. Then it should be straightforward to follow the setup like normal.
Hello, everything is working fine in the editor, but when I hit play, the grass becomes all thin, like its width has been divided
Hi! Awesome video, Can I get grass cutting effect somehow in real time ?
I can't find the tool window for the grass tool is it normal?
Nice! How does it work with changing directional light intensity?
It's now basically just a shader graph plugin (or just a surface shader) so it reacts to diractional lights however the basic shaders work.
You can adjust it easily, all the compute shader parts are inside of that GetComputeData custom node, you can change the fragment block to work how you want :)
Awesome stuff as always. I have a question: How can I make the grass affected by ambient light or change colors at runtime? When the day turns to night, the grass looks brighter than everything else, which doesn't look good.
If this is with the URP shader graph, you can just change the graph to be lit instead of unlit
thanks it worked
any thoughts how would i make it have flat ends like it was cut or mowed?
This looks so good! However, when I import the files, I am not seeing the Grass Tool in the Tools dropdown window
Did you install Burst?
Awesome job!! Love your work, running into an issue with the BiRP, I can get this to work with URP but Not sure what I’m missing using the built-in, no errors after setup but nothing shows when trying to paint the grass
Same steps as URP but Created the material using the proper shader you mention for the BiRP but just seems to not generate any grass… aside from the shader to generate material is there some other step needed for using built-in?
Hmm the original version is made for BIRP and ported later to URP, but it is in later unity versions, are you using an older version maybe? Missing a camera with MainCamera tag?
@@MinionsArt Just tested with the latest builds for 2021 , 2022, and 2023 with the same results. The process seems to go smooth using URP and it Paints the grass with no issues but no luck with the Built in. it acts as if its painting but it does not seem to render any grass within the Editor view or Game view.
I did verify the MainCamera tag is showing for the Main Camera when generating a new scene.
other than compiling the Material from the GrassSurface.shader is there a different step needed for the Built in? Doesn't seem like there is any configuration needed for the shader other than making the material like with URP, unless im missing something there
again much appreciate the work you do and the help you provide!
@@drzbabiboi It's possible Patreon didn't save the filechange, it sometimes just doesn't update.. I will check it out
The patreon file is correct, it's the same as my working version in 2021,2022,2023, I'm not sure what else could be the issue. Are you targetting a non-windows platform or something? I had an issue before where the grass would render to a random other tab that was open somehow, could that be it?@@drzbabiboi
@@MinionsArt just as an update I tested the old build using the built in pipeline and it seems to paint the grass with no issues. I’m sure I’m just missing something simple in the setup process for the new setup because the tool does show that it’s generating grass but it’s just not showing the grass within the scene
When I start the game, all the grass disappears. What is the reason for this? Please help :(
Can I use this tool while also using realtoon?
I want to use manual update after game started how can i do that? Since my game is multiplayer and players spawn at different times after the scene has begun , I need to update after every player has spawned. Other than auto update because u said it is very slow.
I've juste managed to do it, sorry, 1 year late but you just need to do this :
When your player spawn (or any new GameObject in the scene) you need to call the function Reset of the class GrassComputeScript.
You can do that in your network manager that calls the Reset at each spawning.
To do this, set a reference to the grass object and the GrassComputeScript like so :
GameObject grassObject;
GrassComputeScript grassCompute;
Find references to the grass object and script with this code:
grassObject = FindObjectOfType()?.gameObject;
grassCompute = grassObject.GetComponent();
And when spawning, call :
grassCompute.Reset();
More infos in the GrassPainterWindow given in the files in description.
Have a nice one ! 😁
Could you make an updated hdrp version
Doesnt seem to work in prefabs, any idea how to make it work in prefab?
I would love a guide on how to cut and burn grass
It works fine when files are in Assets folder(as setup shown). When I move it to a specific folder it does not and shows errors in console.
How can you call "Add Positions From Mesh" from script?
The brush color isnt showing up for me! only the blended color, is this common? I cant figure it out
Where did you get the base texture for the terrain object below the grass from? I can't seem to find any
I am in URP and I follow the steps here correctly, having a mianCamera with correct tag but can't able to see any grass being rendered in scene/game at all. Although I can see the grass count going up after painting. Much appreciate any help if possible.
Does this only work on terrain or can i also paint the grass on imported models? :)