@@bryantenorio368 Hard to get lighting data in shader graph I've noticed as well, so not sure! We tried a programmatic approach, and made a tutorial on that a while back (for Toon shader), similar principle could work, but there are other approaches using custom nodes I know.
Yeah, Unity is too lazy to improve on their shader graph so they decided to let the community do it and charge $100 for it. Wish Unity could be more Dev friendly like the Unreal Engine, it's one of the biggest things I hate the most about Unity. It's a good tool, but I can't afford to spend $100 on it. Seems some of the best sharers use it too and I think these guy's do this so that you'll be more inclined to send the money on Patreon.....Knowing it's cheaper then laying down $100 on a tool, when I see these video's I automatically give a thumbs down and Unsubscribe from their channel.
How would you get the "custom lighting" slot in the built in Shader Graph? i got the rest working while plugged into the emission channel but i would like the custom lighting slot that you are using here. Thanks for the great tutorial by the way!
I'm always very interested in shaders with "movement" implied like foliage, water, liquid, clouds and shaders for lighting solutions like fake lighting with sprites, fake volumetric lighting... It's also very cool to see how different approaches (yours vs other tech artists) can have a similar result !
The two are unrelated to eachother. Rim light emulates a reflective surface by using fresnel to make geometry pop around the edges. This SSS actually let's light sources shine through the geometry. If you combine this effect with fresnel however, you get a really nice result.
Because translucency would only allow light to shine through from directly behind the object. However, subsurface scatter, as the name implies, scatters the light, so it lights even when the light comes at an angle. Also, you're not supposed to see the actual geometry behind the object, only bright lights.
Shader Graph and whole rendering pipeline shenanigans are not gonna be production ready for quite some time, best to use ASE tbh ;) I'd rather see this translated to code than SG
A couple days ago I followed the article by Alan Zucconi to build a translucent shader, something was not right but I thought it was my fault and I messed up some calculation. But now I see in your render the same problem: when the light direction is the same as the view (camera) direction, shouldn't the leaves be brighter than when the light source is behind them? In other words, when you move the light behind the camera in the example, shouldn't the leaves be more illuminated? That's what would happen in real world
Actually, depending on the material, that doesn't have to be the case (if I understand you correctly). You can get often much more illumination when the light is shining through a material than when it's reflecting off it, particularly with foliage. I had this lovely potplant with thin leaves once, and when the light was behind it, it glowed like it was on fire. So pretty. But regardless of that, this isn't a properly calculated physically accurate effect anyway, it's a super fake hacky way to approximate it. You can absolutely tweak the values to make the direct lighting stronger or weaker than the subsurface lighting with multipliers. Just go with what looks right to you.
Great tutorial, although a bit slower and more in depth look would be appreciated, there was a lot of stuff going on and a lot of knowledge in just 5 minutes!
this is super great, i tried it and it rocks. Can you suggest a simple way to add little transparency to the translucent edges? would that be possible? I kinda understand the custom lighting is blocking most of the other inputs in the output node
If the opacity nodes are blocked off (depending on your setup), you can still get transparency by using a Grab Screen Colour, and blending that in with the SSS mask, however, this will also require the shader to be in the transparent render queue (rendered after all the opaque objects) which changes the shading and drops shadow support. Another way that maintains the benefits of being a properly lit opaque shader, is to use Dither to do transparency. It makes lots of little dots, in different patterns to fake transparency - it's not true transparency, as pixels are either completely opaque or transparent so it creates a noisy effect, but with the right AA it can look pretty good. If you use Dither, I recommend finding a 'blue noise' tilable texture, rather than using the build in Dither patterns. I'm a big fan of dither - when you first see it you'll probably be disappointed that it doesn't look as smooth as real transparency, but I think players are pretty forgiving, and I think it's worth it for the benefits of avoiding the transparent render queue.
May I ask about the setup of the nodes "Basic Standard Lighting NdotL + Indirect" which is attached to the relay node that then plugs into the "add node" and finally to the Custom Lighting?
Hi there! When you're using custom lighting, you have to calculate all that stuff yourself. Amplify Shader Editor comes with a Blinn-Phong Light node, which does that for you (you can see this setup at 2.34 ruclips.net/video/RPkhbjmmvS0/видео.html), but if you wanted to do it yourself, a simple starting point is NdotL, which is the the Dot Product of the Normal Direction and the Light Direction (clamped 0-1 usually), which gives you basic light information. You can see an example of that node setup here: wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/World_Space_Light_Dir I hope that helps! Let me know if anything else doesn't make sense and I'm happy to talk you through it.
I undestood absolutely nothing. Impressive! :D
me too
I've been thinking about implementing this for a while and here it all is, super straightforward and easy to follow, that's mint
Great video! Would love to see this in shader graph.
thanks for the tutorial!!!!!! Finding amplify tutorials is the best, they're far and few in between but always high quality
Thank you for the SSS tutorial. I hope you make the wind tutorial one day.
This is awesome, will have to try this out in Shader Graph! 😍🌳
How did that go? I can't find a node for "World space light direction"
@@bryantenorio368 Hard to get lighting data in shader graph I've noticed as well, so not sure! We tried a programmatic approach, and made a tutorial on that a while back (for Toon shader), similar principle could work, but there are other approaches using custom nodes I know.
Thank you for this!
Freakin fantastic! Love the tip about the surface normals pointing out!
Half of these nodes are missing in my shader graph wtf?
Yeah, Unity is too lazy to improve on their shader graph so they decided to let the community do it and charge $100 for it. Wish Unity could be more Dev friendly like the Unreal Engine, it's one of the biggest things I hate the most about Unity. It's a good tool, but I can't afford to spend $100 on it. Seems some of the best sharers use it too and I think these guy's do this so that you'll be more inclined to send the money on Patreon.....Knowing it's cheaper then laying down $100 on a tool, when I see these video's I automatically give a thumbs down and Unsubscribe from their channel.
Actually I went one step further with this method and created SSS effect around the surface which are parallel to light giving a light bleeding effect
So quick, and gave me all the information I need.
Can't quite seem to get it to work with the standard Unity Shader Graph, but it was a good attempt, cheers.
Wow, this is a life saver of a tutorial.
Thanks alot! I also reallly like the Blog posts you show us to learn even more! Great work
Now this is VERY purty
What's the trick to make this work with HDRP? Doesn't have the custom lighting input.
How do you do this in URP? There's no Custom Lighting output!
How would you get the "custom lighting" slot in the built in Shader Graph? i got the rest working while plugged into the emission channel but i would like the custom lighting slot that you are using here. Thanks for the great tutorial by the way!
How to do it without Amplify? In built-in to unity Shader Graph?
ruclips.net/video/xHD7Q36-Dao/видео.html your answer
Any way to make this work with point lights without custom light mode?
Is it compatible with Speedtree Unity?
What is the view direction? explain this and also do tell what is it named in shader graph in URP
After two hours of trying to get this to work - I now assume it just doesn't work in URP because there is no "custom lighting", correct?
Thanks a lot for this great tutorial ! Very well explained and very interesting ! =D
Thank you so much for watching! Let me know if there are any topics in particular you'd like covered in the future.
I'm always very interested in shaders with "movement" implied like foliage, water, liquid, clouds and shaders for lighting solutions like fake lighting with sprites, fake volumetric lighting... It's also very cool to see how different approaches (yours vs other tech artists) can have a similar result !
This was fantastic.
Very informative ! ! Thanks!
Awesome stuff dude!
And what if you want to do a skin shader? I can't use specular with this method..
You can if you write your own custom one.
Can rim light achieve same effect as subsurface scattering
The two are unrelated to eachother. Rim light emulates a reflective surface by using fresnel to make geometry pop around the edges.
This SSS actually let's light sources shine through the geometry. If you combine this effect with fresnel however, you get a really nice result.
how do I animate the leaves? like you said in the video?
Is it possible to use the shader you've made in Amplify, when I don't have Amplify? Can I still change parameters without Amplify?
I'm curious, its there a particular reason why you didn't just use the translucency option built into the node?
Because translucency would only allow light to shine through from directly behind the object. However, subsurface scatter, as the name implies, scatters the light, so it lights even when the light comes at an angle. Also, you're not supposed to see the actual geometry behind the object, only bright lights.
@@hellothere_1257 Yeah I ended up figuring that all out after finally being forced to create my own shaders.
I know why I'm subscribed to you
Really nice tutorial. Thanks a lot :)
Very cool video
This was fire. Subbed and BELL RANG.
Brilliant, cheers :)
Would be interesting to see how this translates to Shader Graph in Unity 2019
exactly.
same
i am currently on that... it's beenn 2 weeks now
Shader Graph and whole rendering pipeline shenanigans are not gonna be production ready for quite some time, best to use ASE tbh ;) I'd rather see this translated to code than SG
this works well in Unreal 4 as well for those interested ;) Check out Ben Cloward's Foliage AO tutorial !
how to on or bring "costume light" input in masternode?
You have to change the Light Model from Standard to Custom Lighting to enable the custom lighting input.
it would be nice to see how you made the shadows aswell :' (((
A couple days ago I followed the article by Alan Zucconi to build a translucent shader, something was not right but I thought it was my fault and I messed up some calculation. But now I see in your render the same problem: when the light direction is the same as the view (camera) direction, shouldn't the leaves be brighter than when the light source is behind them? In other words, when you move the light behind the camera in the example, shouldn't the leaves be more illuminated? That's what would happen in real world
Actually, depending on the material, that doesn't have to be the case (if I understand you correctly). You can get often much more illumination when the light is shining through a material than when it's reflecting off it, particularly with foliage. I had this lovely potplant with thin leaves once, and when the light was behind it, it glowed like it was on fire. So pretty. But regardless of that, this isn't a properly calculated physically accurate effect anyway, it's a super fake hacky way to approximate it. You can absolutely tweak the values to make the direct lighting stronger or weaker than the subsurface lighting with multipliers. Just go with what looks right to you.
Great tutorial, although a bit slower and more in depth look would be appreciated, there was a lot of stuff going on and a lot of knowledge in just 5 minutes!
I want to know how it work with normalmap?
this is super great, i tried it and it rocks. Can you suggest a simple way to add little transparency to the translucent edges? would that be possible? I kinda understand the custom lighting is blocking most of the other inputs in the output node
If the opacity nodes are blocked off (depending on your setup), you can still get transparency by using a Grab Screen Colour, and blending that in with the SSS mask, however, this will also require the shader to be in the transparent render queue (rendered after all the opaque objects) which changes the shading and drops shadow support. Another way that maintains the benefits of being a properly lit opaque shader, is to use Dither to do transparency. It makes lots of little dots, in different patterns to fake transparency - it's not true transparency, as pixels are either completely opaque or transparent so it creates a noisy effect, but with the right AA it can look pretty good. If you use Dither, I recommend finding a 'blue noise' tilable texture, rather than using the build in Dither patterns. I'm a big fan of dither - when you first see it you'll probably be disappointed that it doesn't look as smooth as real transparency, but I think players are pretty forgiving, and I think it's worth it for the benefits of avoiding the transparent render queue.
Awesome!!!!
This is exactly what I'm looking for, but I'm using UE4! haha. I hope I can figure out the equivalent nodes in UE4.
sss never uses ray tracing, ray tracing is the third bounce of a light being calculated. sss is the first ray passing through.
i like it
May I ask about the setup of the nodes "Basic Standard Lighting NdotL + Indirect" which is attached to the relay node that then plugs into the "add node" and finally to the Custom Lighting?
Hi there! When you're using custom lighting, you have to calculate all that stuff yourself. Amplify Shader Editor comes with a Blinn-Phong Light node, which does that for you (you can see this setup at 2.34 ruclips.net/video/RPkhbjmmvS0/видео.html), but if you wanted to do it yourself, a simple starting point is NdotL, which is the the Dot Product of the Normal Direction and the Light Direction (clamped 0-1 usually), which gives you basic light information. You can see an example of that node setup here: wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/World_Space_Light_Dir
I hope that helps! Let me know if anything else doesn't make sense and I'm happy to talk you through it.
wich pipeline??????????????????????????????????????????????????????????????????????????????????????
Looks like ass since its illuminating the wrong side aswell. But nice try