URP Outline Shader - Unity Shader Graph (Tutorial)
Вставка
- Опубліковано 11 лют 2024
- In this video I show how to create an inverted hull shader for model outlines using shader graph in Unity 3D for URP.
#gamedev #unity #unity3d #shadergraph #unitytutorial #unitytutorialforbeginners #unitytutorials
Finally a tutorial on how to do hull outlines in shader graph. I've been searching for this for so long. Currently, I am using a hull outline shader that was made out of pure HLSL code, and because I don't know much about HLSL I couldn't expand on it to add other things. Finally, I can now do this in the shader graph. Thank you so much, man!
Clear instructions, no dillydallying, great video! Thanks!
10/10, great tutorial, great shader!
Thank you very much for the video! It helped me a ton!
Dude, best outline shader out there thank you !
Thank you!!!! This is lifesaving!
thanks, really appreciate this tutorial 🙏🙏
Really helpful, thanks!
You're welcome!
Great tutorial! This seems to be working for spheres, but for other 3d shapes it is misbehaving for me. If I try this with a cube, or any other shape with edges, the edges don't survive the inflation process. The outlining faces are all disconnected from one another. Do you have any idea what I might need to fix?
Edit - oh, I need to just finish the video. You point this out yourself.
it happens because they way light is calculated. simple version of it would be dot(normal,lightdir). because a normal is used rounding them essentially calculates light as if it is a rounded shape, making it look strange.
Thanks for the info!
Could you do a tutorial of an Outline Shader by sampling the Depth and Normal maps to have both internal and external?
Im trying to learn how the URP works to achieve something like that
I think one of my next videos will be on the URP fullscreen shadergraph option and how to do an outline effect with the depth texture.
For simple geometry with hard edges you can calculate the offset direction instead of using the Normal Vectors directly.
(Position(Space:World) - Object Position).Normalize
That will keep the edges of a cube together. It will however not work on more complex shapes since the offset direction will be from the objects pivot point. But a cube or a dodecahedron would be fine.
Hi, help me please. Why material color in shader can be pink?
You might not have your render settings configured properly.
Incredible, by chance you don't have a toon?
Maybe I should do that next!
Does it work for Unity 2020 aswell? Or just newer versions?
I think it should work for unity 2020, but I have not tested it in that version.
@@MichaelsGameLab the problem is, unity 2020 shadergraph is not supporting render face... like back or Front.
Oh, I see. Might need to update then :/
how do you mix this with a toon shader?
The toon shader would probably be the base material. The outline material for this method is added in addition to a base material. They would be separate both both added to the mesh renderer, if that makes sense?
It's not working on me, after deal with shader graph the object that I assigned with materials graph doesn't show the outline shader. Anyone can help me?
Did you follow the video?
If you did make sure to set an outline thickness for the material.
After watching the whole process making of an outline shader, then I create material from the shader. Even, try to create outline shader 2 times. The object doesn't want to show the outline. I don't know what is the issues...@@MichaelsGameLab
Can you see it if you remove the main material and only have the outline material assigned?
You might also need to enable read/write on the model.
Oh well, I will check it back again... Thank you@@MichaelsGameLab
No source material?
What do you mean?
@@MichaelsGameLab the final shader
No repository or asset?