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.
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.
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.
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.
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.
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."
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.
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?
@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 :)
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 ! 😁
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.
when I set the graph to lit, it enables shadows but increases the brightness a lot, ruining the blend effect. (It isn't bloom or any other post process feature, I've tested that), would there be any other reason? Thank you
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!
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.
@@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).
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 :)
Using URP, my grass isn't reflecting the top tint color at all, it only appears as the bottom tint, and although grass is receiving shadows (I set shadergraph to Lit) they're barely noticeable. Edit update: It was the blendMult on the material, gotta set it higher than 0! I am a fool and a clown. Still dunno about the lighting tho
Why did you abandon the smooth transparency in the lower part of the grass, in favor of mixing the lower part of the grass with the terrane? How can I return the transparency at the bottom as it was done in the previous version of your shader?
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
@MinionsArt There is a problem i am facing while implementing this tutorial my paint tool is not showing the grass. Can any one tell me the solution? On the very first attempt it show null reference on ShaderInteractor if I place a cube or cylinder with the script then there was no null reference but am not able to see anything. Any solution?
i have an outline shader, even thoiugh i included my plane object and my grass system holder object the lines are still going through the grass. Any ideas?
@@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.
Since you're instantiating a mesh, would it be possible to project a texture on the grass instead of just using colours? If that'd be possible for a v4 It'd be perfect for me!
I add the grass by right-clicking on the mesh, there is an increase in the number of grass, but I cannot see the added grass, they are not visible. How can I solve this?
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
It's amazing that this is available for everyone
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!
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!
Absolutely incredible work, and thanks for making this setup! I'm eager to mess around with it.
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!
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
a guide on adding buffers to the grass would be amazing!! Thank you!
Incredibly well done!
Thanks!
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 !
I do have interest in the cut and burn buffers setup!
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!
I created a prototype using your grass system. It was very useful and easy to use. Thank you so much.
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!
I am in LOVE with this shader! Thank you for making it free to us peons!!
Love how you even explained the loop for the triangle creation - awesome video :) You got my sub!
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!
Love your stuff. Great work
감사합니다.
Amazing idea!!! Amazing WORK!!! And AMAZINGLY THANK YOU for sharing it with US!) Have a WOUNDERFUL TIME!!!
This grass looks so good.
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.
DAANG!!! 😮 This is AWESOME!!! Thanks for sharing 🙏✨
That looks so impressive! 🔥
your grass is famous, I see it in a lot of indie games
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.
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.
USEFUL is the definition of this Toll. Tks!
Wow. That's amazing. Thank you!
You are simply amazing, keep it up!
Thank you!
Thanks for sharing this. Gear work !
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.
Looks Really nice and cool :D
I would love to see a guide on adding buffers to the grass!
Thank you soo much for sharing this!
Really good job!
I am interested on burning grass, cutting grass. If you have time for that that would be great. Thank you for the awesome video
Looks awesome!
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."
Fantastic Work!
great work!
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.
For some reason, the color doesn't change its only showing the bottom tint color.
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?
very cool! I want a quick tutorial with cutting grass or burning
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?
I love ur videos so much❤
You are a godsend!
@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 :)
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 ! 😁
SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII LESGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
omg a guide on how to cut the grass would be so cool !!!
bro very cool im using 2.0 i will update it to 3.0 . ur a legend bro
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.
I am interested in further tutorials!!
when I set the graph to lit, it enables shadows but increases the brightness a lot, ruining the blend effect. (It isn't bloom or any other post process feature, I've tested that), would there be any other reason? Thank you
Cutting and Burning pls thank you
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!
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.
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).
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 :)
Using URP, my grass isn't reflecting the top tint color at all, it only appears as the bottom tint, and although grass is receiving shadows (I set shadergraph to Lit) they're barely noticeable. Edit update: It was the blendMult on the material, gotta set it higher than 0! I am a fool and a clown. Still dunno about the lighting tho
thanks!
I would love a guide on how to cut and burn grass
any thoughts how would i make it have flat ends like it was cut or mowed?
shadows of other objects is not falling on the grass, how to fix it?
Thanks for sharing! Looking forward to your cut & burn tutorial. How this performance compare to unity terrain grass?
Wow! Amazing grass! Can u make a Blender cavity effect shader please?
I'll take a look!
Would you recommend to use this on a VR game? how do you feel about perfomance about it?
Why did you abandon the smooth transparency in the lower part of the grass, in favor of mixing the lower part of the grass with the terrane? How can I return the transparency at the bottom as it was done in the previous version of your shader?
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~
awesome allready better than the terrain tools grass! You using indirect gpu instancing for the grass meshes?
How to make a prefab of a plane with grass for example?
How would I change the darker colors being on the top of the blades?
Where did you get the base texture for the terrain object below the grass from? I can't seem to find any
太牛了大佬!十分感谢!
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.
this is Fantastic!
However,when I build my project to my Meta Quest 2,it only show the shadow of the grass but not the grass itself...
The brush color isnt showing up for me! only the blended color, is this common? I cant figure it out
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
@MinionsArt There is a problem i am facing while implementing this tutorial my paint tool is not showing the grass. Can any one tell me the solution? On the very first attempt it show null reference on ShaderInteractor if I place a cube or cylinder with the script then there was no null reference but am not able to see anything. Any solution?
i have an outline shader, even thoiugh i included my plane object and my grass system holder object the lines are still going through the grass. Any ideas?
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.
Hello, everything is working fine in the editor, but when I hit play, the grass becomes all thin, like its width has been divided
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 :(
anyone knows how can I use the Regenerate on current Mesh inGame, i create a random mesh so I want to spawn grass over the mesh randomly too
Since you're instantiating a mesh, would it be possible to project a texture on the grass instead of just using colours?
If that'd be possible for a v4 It'd be perfect for me!
Does this only work on terrain or can i also paint the grass on imported models? :)
Could you make an updated hdrp version
Awesome tool, do you know if it's possible to generate grass on the bottom half of a sphere?
Heloo i want add grass to my procedural mesh. How can i generate grass to that mesh pls help
When I start the game, all the grass disappears. What is the reason for this? Please help :(
Hey, any easy way to allow grass Gen all over entire object? Rather than just the top?
The tool uses a normal limit, you'll have to remove that part of the code
How can you call "Add Positions From Mesh" from script?
I can't find the tool window for the grass tool is it normal?
I add the grass by right-clicking on the mesh, there is an increase in the number of grass, but I cannot see the added grass, they are not visible. How can I solve this?
Hi, did u solve this and if so how? ☺