UPDATE! UE 5.4.1 and this still WORKS! one thing is different though. on the first step when he changes the "blendable Location" the option he picks is no longer available. i chose "scene color before dof" and it still worked ! all the other options give you shaky lines!!!
@@ShadowBrave21 Thankyou for reporting back, I'm so accustomed to people just finding the answer and disappearing. You deserve a gold medal for community involvement.
After working through the exercise in this video, I went to sleep and dreamed about shaders. When I woke up, I suddenly realized I understood the Material Editor and had arrived at the solution to my own little shader problem in my sleep. The only problem is that when I'm talking myself through what I need to do, my internal monologue is all in a thick French accent now.
I've been programming and developing games in various languages and engines for the better part of 10 years, I don't often comment on tutorials but I'm halfway through and I just have to stop by and say that it's absurd that this is free content, if you're on the fence about watching the video because it's long, don't be. Set aside a couple hours of your day, make a coffee, and watch the whole thing. The instructional quality of this video is leagues above the average tutorial, calling it a "tutorial" honestly feels wrong as it's higher quality than many courses I've paid for. Evans' clearly understands all the technical aspects of the concepts he's demonstrating and develops them in a scalable and modular way that's appropriate for an industry-level implementation. This isn't some quick hack to achieve a passable result published by an overworked indie dev, this is how a feature like this would be implemented in a AAA title. To top it off, Evans' is an exceptionally skilled instructor, he doesn't just show you how to "make it work". Over this hour and a half he skillfully weaves explanations, demonstrations, models, and diagrams into his setup so that you actually understand how everything is working and why he chose to do it this way. After watching this video once, I'm confident I could scale and debug this shader with ease regardless of the project. If i watched it again, I'm confident I could build it from scratch without referencing the video again. Amazing video, great content. Make the time to watch it.
Since you helped me, I'll help you as well. If you hold these buttons in a shader graph when clicking, it'll create the following useful nodes for you (I see you know some of them, but comment readers may not so just listing them all): S= Scalar Parameter. 1= Scalar Constant 2= Vector 2 Constant 3= Vector 3 Constant V= Vector 4 Parameter F= Material Function Call (defaults to last used but also calls last edited if the graph was open this session) L= Lerp (linear interpolate) I= If M= Multiply A= Add D= Divide E= Power (exponent) B= Bump Offset R= Reflection Vector T= Texture Sample U= Texture Coordinate (think "UV" to remember it easily.) N= Normalize Lastly, to make the center line of the graph easy to see, go to: Edit > Editor Preferences > (GENERAL TAB) > Appearance > "Graphs" Subsection > Grid Center Color. Can also just search "color" within editor preferences. I set mine to green, easier to navigate around larger graphs this way by knowing, at all times, exactly where my center axis is. Also helps me when opening old graphs I don't have recently memorized: Quickly identify where the graphs "starts."
Hey thanks a lot Gunny for the tips! I didn't know about the grid center color! I think your comment will be extremely helpful to the other members of the community 😁
I watched your video on toon shading, and I was blown away by how well you explain the concepts you are teaching. I really wish you had more tutorials out there.
I feel like the big deal in this tutorial is that you aren't just saying click this node, you are saying This is what we are trying to do and we click these nodes because... huge difference in the level of comprehension you get from the video this way. Thanks for putting in the work to actually teach!
Amazing tutorial! Amazing outline shader! Followed on 5.3 and everything worked fine (for some reason I had to turn off context sensitive search to see the "Get Component By Class" and "Set Render Custom Depth"), but apart from that everything went 1 to 1 like you showed. I really like that you explain the reason why something needs to be done or what is the root of the problem so we learn to look out for those in the future. Thank you for making stuff like this!
Thank you so much Vig for this awesome feedback 🙏💙 It took me a huge amount of time to create this tutorial (2 months), and reading these kind of feedbacks is extremely rewarding 😊 I hope that I'll have a huge audience someday 😁
Really fantastic tutorial. Since I don't see any other comments about this, I wanted to mention that this post process effect really highlights a problem with Temporal AA (which, at least for me, is UE5's default AA method). On higher settings the artifacts might not be so bad, but on low settings (which I use to ensure my editor is performing well) they are quite awful. Temporal AA uses past frames to modify the final scene texture, and so when you create strict boundaries representing "lines" cosmetically, these can be shredded and smeared by the anti-aliasing effect when a camera is moving/turning or a scene changes rapidly. It's not a problem with the post process method itself (unless there is a way to fix this with pipeline flags similar to the one specified @4:00), but it did make the outlines look terrible on my system until I switched to a different anti aliasing method (Project settings > Rendering > Default Settings > Anti-Aliasing Method). I hate Temporal AA anyway, so I'd recommend everyone use this as one more reason to switch to a nicer AA method.
I normally don't comment on videos. But his man is amazing. Very good explanation, shows EVERYTHING, lets us play with the customization. What a nice guy. I'm glad I found your channel so early one! You will be huge in a matter of days.
Wow thank you so much Robert for the encouragement 🙏😊 It's extremely rewarding to know that people like my videos and find them useful! It's the only thing I want to do : help people with my knowledge of the engine 😁 Thanks again and have a great one!
I have been working on my game since 2017 in UE4, moving it to UE5 finally... I must say, you've taught me more about materials than I've learned in the past 10 years. Very thorough, to the point, and I understand what we've accomplished when I'm done. Thank you! Can't wait to replace my old post processing effect with this one! 5 stars!
Wow thanks a lot Sam for your awesome feedback 🙏😊 It's awesome to know that I can help people that already have a good knowledge of the engine! Thanks again and I'm glad that I could help 😁
You're an absolute genius. I'm a complete noob with Unreal Engine, and even though I didn't fully follow the math behind all the calculations (haven't really had to do math since high school 15 years ago), I could follow your video with easy. Your explanations are detailed, clear, and most importantly you didn't start skipping the basic stuff (i.e. ctrl + space to open the content drawer, ctrl + D to duplicate) that isn't muscle memory to me yet. Definitely earned a sub!
Thanks a lot Dissuxx for this wonderful feedback 🙏💙 It's always a pleasure to know that viewers appreciate my way of teaching 😊 Thanks also for the sub! I hope my future tutorials will also be helpful to you 😁
This is a very good tutorial! I am using UE5.3 right now and it's still working! Every move you make is very clear . As a beginner this video helped me a lot. Thank you!
I graduated from Gnomon and I would rate this above many of the instructors I had while I was there. I usually hate giving compliments while knocking down someone else, but in this case I think it is a fair way to demonstrate the quality of the tutorial you have made. Thank you so much for your time and insight!
Hands down the best in depth tutorial I seen so far regarding outlines. Tackled all the bugs and made it easily understandable. Looking forward to learn more from your other tutorials. Great job! Thank you so much
literally 7 minutes into this video and im subscribing to this guy, lovely voice, clear instructions, bit of a long tutorial but im going to muddle through
Thank you so much for this. This is the first in-depth tutorial I've been able to follow along with completely. Very few people making these tutorial videos take the time to explain everything down to the granular details. It's been a great help; I've commented almost every node and several node groups, so for the first time, I feel like I can come back later and still understand what's going on. Please make more videos!
That's been my experience. People go through the node creation too quickly, and don't explain WHY things work and I feel like I am painting by numbers and copying someone else, but with this one I felt like I was actually learning how the post processing actually works and why it does what it does. High Quality stuff.
Woah... Just wow.. This is by far the most impressive tutorial i've ever seen for anything ever. Every single step is explained clearly along with why you're doing it. Not to mention the actual method used here is much more impressive than any of the others i've found, the amount of customization involved here blows all others out of the water. This is amazing. Bravo.
Thank you so much for this tutorial! One of the best tutorials no joke. Im studying game art for 6 years now and have never seen a person go this in depth, thank you❤ subscribed
Thank you so much for the sub and for your feedback on my work! It's awesome to know that viewers appreciate the amount of work I put into each of my video 😊
Fantastic work. Thank you for it truly. There were so many times I'd do something and say, "Oh I hope we cover this edge case." And immediately or 1 section or so later you fixed the issue in a clear and concise manner.
Hey Joe! I'm glad you've enjoyed it! It's kind of hard to understand all the aspect of outline shading, so I tried to explain it as precisely as I can to help as much people as possible. Thank you 😊
I cannot describe how amazing these videos are, and the effort you put into explaining and making things understandbable When you pulled up the Presentation for the depth Modulation I just started laughing at how insanely cool it is that you even made a presentation for this video to explain this process. These videos are amazing, Im so grateful for your work, once I have more money ill do my best to support your channel .
Hi Loot! Thanks a lot for your feedback! It's rewarding to know that I helped you solve your problems! Thanks for taking the time to leave this kind message 🙏😊
Holy cow. You sir are amazing. I learnt so much. Reading about it, the theory, the math are nice and all but you brought it together in such a way that you can go from knowing to understanding.
Been trying to get something like this working for a while, and your presentation is by the far most comprehension and clearly explained! Really appreciate how you go over each component and how it works. Thanks!
This is the tutorial I needed. I was moved by the way you solve problems one by one. Thanks for sharing your knowledge. And at 41:07 'f(depth max) = thickness min' seems to be correct. :)
Hi Lotuspond! Thanks a lot for your feedback 😊 Even if it was the hardest video I've done since I begun, I had a lot of fun too walking through each and every problem of the shader. I'm glad you appreciated it 😁 And thanks for pointing out the error! I think I was too tired and didn't realize it was wrong haha
Great tut. Evans, this is incredibly thorough and easy to understand, follow and digest! Def one of the best Unreal Blueprint programmers I have seen so far. Kudos brother.
Thanks, very useful! I was able to have the outline show through other objects by changing the edge depth detection to custom depth instead of scene depth and disabling the custom depth masking.
This is quite possibly the best tutorial I have ever seen. Thank you! Its so rare that someone creates so thorough a tutorial, coviering not just how to do something, but how to do it WELL. One thing I noticed when following through on my own project is that the normal edge detection doesnt seem to work with unlit materials. They do not seem to output any world normals to use. I fixed it by using lit (I have disabled all lighting to get a flat toon look). Perhaps this is commonly known but maybt it helps someone out.
Hi Ollie! Thank you so much for this awesome feedback! 🙏😊 It's extremely rewarding to know that people appreciate the hard work I put into each of my tutorials! Also, thanks for the info about unlit materials. I think it will be useful to other viewers of this tutorial 😁
I found a fix for my issue, which was where I had two materials in the post process materials array, and the outline was after the cellshading... if I just move the cellshading to be after the outline then it works perfectly :)
Just wanted to thank you very much for such an excellent function and to say how nice it was to have a clear, step by step guide for how it both works and how to set everything up! I recently implemented this for a UEFN project and while its not perfect, as it is visible through particle effects and transparent materials, there's enough covered here for me to eventually understand how to adapt it further.
Thank you Kryss for your feedback! It's awesome to know that this shader works with UEFN! As for transparent materials and particle effects, maybe you can have a look at what Christopher Sims does on twitter. If I remember well, he shared a material for creating outlines on translucent materials :)
@@evansbohl The particle effects are native to Fortnite so I have very little control ove them. Ideally I'd want the lines drawn behind the transparencies but I'm guessing that means a completely different method like the material based approach you mention. For my first UEFN project I wanted to keep things simple by just using native Fortnite assets but I'll certainly be building upon your shader for a stylised look in forthcoming projects so thanks again for such a good foundation!
i love how i have any idea about what are you talking about, but it works and gets the job done hahaha it's not your fault, this subject is really complex and makes me wonder how can someone really study all these nodes and create great thing with it. Because literally, i just follow your steps to get the result, but these formulas are really impressive!! Good job, anyway
absolutely amazing tutorial you actually explain everything that is being done and why it is being done, very helpful for someone actually wanting to learn rather than copy paste, thank you for taking your time to make such a good video :D
Hey Jojo! Thanks a lot for this awesome feedback! I'm the kind of person who likes to understand everything he does, that's why I like to explain each and every step I take for my tutorials :) I'm glad to know you like my teaching style :D
Your content helped me a lot, you explain it so well and that makes the tutorial very unique, you prepare slider to explain the theory behind the stuff you show in the node structure, Absolutely fantastic! keep going!
Thank you Arthur 😊 It's heart warming to know that members of our great community appreciate the amount of work I put into each of my tutorials 🙏 Thank you!
Absolutely amazing, a similar one is used in games like Tower of Fantasy and Genshin impact. This tutorial was amazing and I plan on implementing it into my own game.
This is the best tutorial out there for an outline shader. You did a really good job explaining each node. Made it easy to replicate the shader in a different engine.
Absolutely amazing tutorial. Had exactly everything I was looking for, clean and perfectly explained. Also, the way you say buffer gives makes me happy.
I'm only partway through the video, but at the part where you create the edge detection shader for normals, instead of using distance (which has square roots), it's faster and more accurate to use dot product. A dot product is the correct way to compare normals. It will give you 1 for normals that are equal. And -1 for normals that face away. So you can use "one minus" node on each before adding them or just do 4 - total after you've added them all up. You will get more accurate results.
Something else to be aware is that if you use the stencil buffer, that actor will ALWAYS be drawn no matter what. It will never get culled. And the order in which they get drawn in the stencil buffer is completely random. This means that if you have two actors overlapping, the outline color from the actor that is further away can bleed through on the outline of the actor in front.
@@alienrenders Won't the second bug you've pointed out be fixed by what he's done at 1:01:43 ? Outline is drawn only if SceneDepth is equal to CustomDepth, so if something else is placed between the camera and custom depth object it's not supposed to bleed through.
@@kamilbeben9900 The second bug is explicitly when both objects have outlines. You can no longer guarantee what order the stencil buffer is written. The custom depth buffer cannot help here.
@@alienrenders I see. I had no luck reproducing this and haven't found anything in the docs, but that doesn't really mean anything as unreal documentation can be extremely lacking at times. Are you speaking from experience, or have you read about stencil buffer behavior somewhere? If the latter, could you please point me where to look at? I'd like to have a better understanding of what I'm working with.
Very informative. I havent used unreal engine at all but these videos capture my wtrention bery well. May even try it out because of youre inspiring video, thank you man
Hy, to someone that are using it and grass output to put grass in world... since grass not have same way to enable custom depth, you can just subtract the scene texture : opacity, from outlines to exclude grass from effect (since the material from them are masked... and these remove any masked or translucent materials from receive outlines) ;)
I saw such material as an article and it was too hard to understand. Thank you for the video! I could finally understand it without having my brain explode immediately hah
Haha thanks a lot! I don't know if I'm smart, but it took me a lot of work to achieve this result 🤣 Anyway, I'm really glad to know that my knowledge can be useful to all the people who want to learn more about Unreal 😊
This is just amazing! Thank you so much. ... I'm not a coder, but I can usually follow along, and this was just stunning! Watching you put together this logic is like visiting a chiropractor for the brain. And your thoroughness is the most pleasing thing I've witnessed in years, or at least when it comes to work. -- Formidable et absolument superbe! Merci bien! / Ps. Of course I purchased your UE project on gumroad!
Wow thank you so much for these kind words about my work! It's the first time someone tells me that I'm like a Chiropractor for the brain, and I really like it haha Thank you so much also for pourchasing my project! have a great one!
Heyyyy! Thanks a lot for your awesome feedback 🙏💙 I put a lot of work in each of my tutorials, and knowing that I can help people is rewarding 😊 Thanks again and have a great one!
Amazingly thorough video, thank you immensely for this I've been trying to figure out how to fix the grazing angle after looking at other versions of a border shader, this was perfect. Has anyone tried or have thoughts on how you could set the normal outline and the edge outline to separate colors to create a highlight from the normal outline?
Yup totally agree! However when I make tutorials, I prefer not to use them so that people can replicate what I'm doing more easily :) If I use all the shortcuts I know, I'm afraid that the viewers won't be able to keep up with me haha Anyway, thanks for the feedback! :D
Amazing tutorial! Can't believ I didn,t know about material functions before this, mindblowing!! You have some of the best tips and tricks out there. Thank you so much for the video!
Great content! Immensely helpful, and well put together as well! It must've taken you absolutely ages to get it all in order and right, greatly appreciated!
Haha Thanks a lot Jiaxin for your feedback! I think it was the hardest tutorial I've ever recorded, and seeing that people like it makes me want to record even more 😁 Thanks a lot and have a great one!
UPDATE! UE 5.4.1 and this still WORKS! one thing is different though. on the first step when he changes the "blendable Location" the option he picks is no longer available. i chose "scene color before dof" and it still worked ! all the other options give you shaky lines!!!
im gonna try but ive had no luck so far lol
did you lose your shadows?
it worked
@@ShadowBrave21 Thankyou for reporting back, I'm so accustomed to people just finding the answer and disappearing. You deserve a gold medal for community involvement.
Hey could you please time stamp where you did the changes, I am not able find, what you change
After working through the exercise in this video, I went to sleep and dreamed about shaders. When I woke up, I suddenly realized I understood the Material Editor and had arrived at the solution to my own little shader problem in my sleep. The only problem is that when I'm talking myself through what I need to do, my internal monologue is all in a thick French accent now.
Name checks out
@@Lepumpkino HAHAHA most underrated comment
LOL.
I've been programming and developing games in various languages and engines for the better part of 10 years, I don't often comment on tutorials but I'm halfway through and I just have to stop by and say that it's absurd that this is free content, if you're on the fence about watching the video because it's long, don't be. Set aside a couple hours of your day, make a coffee, and watch the whole thing.
The instructional quality of this video is leagues above the average tutorial, calling it a "tutorial" honestly feels wrong as it's higher quality than many courses I've paid for. Evans' clearly understands all the technical aspects of the concepts he's demonstrating and develops them in a scalable and modular way that's appropriate for an industry-level implementation. This isn't some quick hack to achieve a passable result published by an overworked indie dev, this is how a feature like this would be implemented in a AAA title.
To top it off, Evans' is an exceptionally skilled instructor, he doesn't just show you how to "make it work". Over this hour and a half he skillfully weaves explanations, demonstrations, models, and diagrams into his setup so that you actually understand how everything is working and why he chose to do it this way. After watching this video once, I'm confident I could scale and debug this shader with ease regardless of the project.
If i watched it again, I'm confident I could build it from scratch without referencing the video again.
Amazing video, great content. Make the time to watch it.
Since you helped me, I'll help you as well. If you hold these buttons in a shader graph when clicking, it'll create the following useful nodes for you (I see you know some of them, but comment readers may not so just listing them all):
S= Scalar Parameter.
1= Scalar Constant
2= Vector 2 Constant
3= Vector 3 Constant
V= Vector 4 Parameter
F= Material Function Call (defaults to last used but also calls last edited if the graph was open this session)
L= Lerp (linear interpolate)
I= If
M= Multiply
A= Add
D= Divide
E= Power (exponent)
B= Bump Offset
R= Reflection Vector
T= Texture Sample
U= Texture Coordinate (think "UV" to remember it easily.)
N= Normalize
Lastly, to make the center line of the graph easy to see, go to:
Edit > Editor Preferences > (GENERAL TAB) > Appearance > "Graphs" Subsection > Grid Center Color.
Can also just search "color" within editor preferences. I set mine to green, easier to navigate around larger graphs this way by knowing, at all times, exactly where my center axis is. Also helps me when opening old graphs I don't have recently memorized: Quickly identify where the graphs "starts."
Hey thanks a lot Gunny for the tips! I didn't know about the grid center color! I think your comment will be extremely helpful to the other members of the community 😁
@@evansbohl Sounds like you need an Unreal Mousepad with all these cheat sheets!
@@SeanLake3D haha it would be awesome to have one! 😁
Man you're a life saver 🤲
Great comment. Now I'm gonna get this tattooed on my arm j/k.
I watched your video on toon shading, and I was blown away by how well you explain the concepts you are teaching. I really wish you had more tutorials out there.
very thorough and in-depth. it's criminal this is not a paid course given the quality of this deep dive. thank you for your hard work 🙏
I feel like the big deal in this tutorial is that you aren't just saying click this node, you are saying This is what we are trying to do and we click these nodes because... huge difference in the level of comprehension you get from the video this way. Thanks for putting in the work to actually teach!
Amazing tutorial! Amazing outline shader!
Followed on 5.3 and everything worked fine (for some reason I had to turn off context sensitive search to see the "Get Component By Class" and "Set Render Custom Depth"), but apart from that everything went 1 to 1 like you showed.
I really like that you explain the reason why something needs to be done or what is the root of the problem so we learn to look out for those in the future.
Thank you for making stuff like this!
This was absolutely fantastic. You'll definitely have a huge audience in the future because you sure as hell deserve it dude. Thank you!!!
Thank you so much Vig for this awesome feedback 🙏💙 It took me a huge amount of time to create this tutorial (2 months), and reading these kind of feedbacks is extremely rewarding 😊 I hope that I'll have a huge audience someday 😁
@@evansbohl You will :D
Really fantastic tutorial.
Since I don't see any other comments about this, I wanted to mention that this post process effect really highlights a problem with Temporal AA (which, at least for me, is UE5's default AA method). On higher settings the artifacts might not be so bad, but on low settings (which I use to ensure my editor is performing well) they are quite awful. Temporal AA uses past frames to modify the final scene texture, and so when you create strict boundaries representing "lines" cosmetically, these can be shredded and smeared by the anti-aliasing effect when a camera is moving/turning or a scene changes rapidly.
It's not a problem with the post process method itself (unless there is a way to fix this with pipeline flags similar to the one specified @4:00), but it did make the outlines look terrible on my system until I switched to a different anti aliasing method (Project settings > Rendering > Default Settings > Anti-Aliasing Method).
I hate Temporal AA anyway, so I'd recommend everyone use this as one more reason to switch to a nicer AA method.
I normally don't comment on videos. But his man is amazing. Very good explanation, shows EVERYTHING, lets us play with the customization. What a nice guy. I'm glad I found your channel so early one! You will be huge in a matter of days.
Thanks a lot InFerno 🙏 It's extremely rewarding to know that viewers appreciate the amount of work I put into my tutorials 😊
This YT channel is gonna be HUGE in the near future! Thank you so much! Your videos are SO HELPFUL!
Wow thank you so much Robert for the encouragement 🙏😊 It's extremely rewarding to know that people like my videos and find them useful! It's the only thing I want to do : help people with my knowledge of the engine 😁 Thanks again and have a great one!
This is one of the absolute best lessons I've stumbled across. Incredible detail and explanations.
I have been working on my game since 2017 in UE4, moving it to UE5 finally... I must say, you've taught me more about materials than I've learned in the past 10 years. Very thorough, to the point, and I understand what we've accomplished when I'm done. Thank you! Can't wait to replace my old post processing effect with this one! 5 stars!
Wow thanks a lot Sam for your awesome feedback 🙏😊 It's awesome to know that I can help people that already have a good knowledge of the engine! Thanks again and I'm glad that I could help 😁
You're an absolute genius. I'm a complete noob with Unreal Engine, and even though I didn't fully follow the math behind all the calculations (haven't really had to do math since high school 15 years ago), I could follow your video with easy. Your explanations are detailed, clear, and most importantly you didn't start skipping the basic stuff (i.e. ctrl + space to open the content drawer, ctrl + D to duplicate) that isn't muscle memory to me yet.
Definitely earned a sub!
Thanks a lot Dissuxx for this wonderful feedback 🙏💙 It's always a pleasure to know that viewers appreciate my way of teaching 😊 Thanks also for the sub! I hope my future tutorials will also be helpful to you 😁
This is a very good tutorial! I am using UE5.3 right now and it's still working! Every move you make is very clear . As a beginner this video helped me a lot. Thank you!
One of the best tutorials I've ever experienced. Clear concise and straight to the point.
Thank you so much Chris for your feedback! Glad to know you found it useful 😊
I graduated from Gnomon and I would rate this above many of the instructors I had while I was there. I usually hate giving compliments while knocking down someone else, but in this case I think it is a fair way to demonstrate the quality of the tutorial you have made. Thank you so much for your time and insight!
Thank you so much for this awesome feedback! It warms my heart to know that my viewers love my content this much 😊🙏
Hands down the best in depth tutorial I seen so far regarding outlines. Tackled all the bugs and made it easily understandable. Looking forward to learn more from your other tutorials. Great job! Thank you so much
Wow thanks for this kind message 🙏😊 it's awesome to know that my hard work can help people better understand these kind of things 😁
literally 7 minutes into this video and im subscribing to this guy, lovely voice, clear instructions, bit of a long tutorial but im going to muddle through
Thank you for the sub 🙏💙 It's so cool to know that viewers appreciate the amount of work I put into each of my tutorials 😊
Thank you so much for this. This is the first in-depth tutorial I've been able to follow along with completely. Very few people making these tutorial videos take the time to explain everything down to the granular details. It's been a great help; I've commented almost every node and several node groups, so for the first time, I feel like I can come back later and still understand what's going on. Please make more videos!
That's been my experience. People go through the node creation too quickly, and don't explain WHY things work and I feel like I am painting by numbers and copying someone else, but with this one I felt like I was actually learning how the post processing actually works and why it does what it does. High Quality stuff.
Woah... Just wow.. This is by far the most impressive tutorial i've ever seen for anything ever. Every single step is explained clearly along with why you're doing it. Not to mention the actual method used here is much more impressive than any of the others i've found, the amount of customization involved here blows all others out of the water. This is amazing. Bravo.
The first thing I want to say is that this video is amazing. Second, if you combine this video with his toon shader, you get amazing results
Hey thanks a lot Foxy for this kind feedback 🙏💙 Awesome to know that I can help viewers learn more about unreal engine 5 😊
Thank you so much for this tutorial! One of the best tutorials no joke. Im studying game art for 6 years now and have never seen a person go this in depth, thank you❤ subscribed
Thank you so much for the sub and for your feedback on my work! It's awesome to know that viewers appreciate the amount of work I put into each of my video 😊
Only 5 minutes in and you've already earned my subscription
Fantastic work. Thank you for it truly. There were so many times I'd do something and say, "Oh I hope we cover this edge case." And immediately or 1 section or so later you fixed the issue in a clear and concise manner.
Hey Joe! I'm glad you've enjoyed it! It's kind of hard to understand all the aspect of outline shading, so I tried to explain it as precisely as I can to help as much people as possible. Thank you 😊
I cannot describe how amazing these videos are, and the effort you put into explaining and making things understandbable When you pulled up the Presentation for the depth Modulation I just started laughing at how insanely cool it is that you even made a presentation for this video to explain this process. These videos are amazing, Im so grateful for your work, once I have more money ill do my best to support your channel .
this is THE best tutorial on outlines so far. I've had many problems with other tuts and you solved it all my man
Hi Loot! Thanks a lot for your feedback! It's rewarding to know that I helped you solve your problems! Thanks for taking the time to leave this kind message 🙏😊
Just when I needed it. The timing couldn't have been better! Thank you so much for your work!
You're welcome son1C! Glad to know I've posted this tutorial at the perfect time for you! Hope it will help you achieve what you need 😊
Holy cow. You sir are amazing. I learnt so much. Reading about it, the theory, the math are nice and all but you brought it together in such a way that you can go from knowing to understanding.
Simply the best toon shader tutorial for UE5 available. Great work! Thanks for sharing and explaining the processes and algorithms
This is a extremely great guide! Thank you
Some of the most insightful and complete tutorials I've seen!
Thank you Jeff! It's great to know that people appreciate the amount of work I put into each of my tutorials 😊
Been trying to get something like this working for a while, and your presentation is by the far most comprehension and clearly explained! Really appreciate how you go over each component and how it works. Thanks!
Hey thank you TJ for this kind comment 🙏😊 it's extremely rewarding to know that viewers like my teaching style 😁
Hey evans. If I had to describe this tutorial, I'd say, clean, concise and easy.
Thank you for this great content.
Thank you Rydn 😊🙏 I try my best with each tutorials so it's awesome to read these kind of feedback 😁
My man, you are a natural entertainer! Great and very educational, by far the highest quality on the interwebs.
Thank you 🙏😊
This is the tutorial I needed. I was moved by the way you solve problems one by one. Thanks for sharing your knowledge.
And at 41:07 'f(depth max) = thickness min' seems to be correct. :)
Hi Lotuspond! Thanks a lot for your feedback 😊 Even if it was the hardest video I've done since I begun, I had a lot of fun too walking through each and every problem of the shader. I'm glad you appreciated it 😁 And thanks for pointing out the error! I think I was too tired and didn't realize it was wrong haha
This really is a *definitive* guide to outlining! Outstanding, thank you so much!
Excellent tutorial! Been looking for a breakdown like this for months. This is an amazing resource,
Great tut. Evans, this is incredibly thorough and easy to understand, follow and digest! Def one of the best Unreal Blueprint programmers I have seen so far. Kudos brother.
Your channel has the best tutorials I've ever layed eyes on.
Thanks! 👍
Thank you for this kind message 🙏
Thanks, very useful!
I was able to have the outline show through other objects by changing the edge depth detection to custom depth instead of scene depth and disabling the custom depth masking.
Hello Torbjorn! Thank you for your feedback! And yes, it's totally how I would show the outlines through objects :D
Incredible! I'm half way through but so far everything has worked perfectly, thanks dude
This is quite possibly the best tutorial I have ever seen. Thank you! Its so rare that someone creates so thorough a tutorial, coviering not just how to do something, but how to do it WELL.
One thing I noticed when following through on my own project is that the normal edge detection doesnt seem to work with unlit materials. They do not seem to output any world normals to use. I fixed it by using lit (I have disabled all lighting to get a flat toon look). Perhaps this is commonly known but maybt it helps someone out.
Hi Ollie! Thank you so much for this awesome feedback! 🙏😊 It's extremely rewarding to know that people appreciate the hard work I put into each of my tutorials! Also, thanks for the info about unlit materials. I think it will be useful to other viewers of this tutorial 😁
Hey I think I am having this exact problem, what exactly do you mean "by using lit"?
I found a fix for my issue, which was where I had two materials in the post process materials array, and the outline was after the cellshading... if I just move the cellshading to be after the outline then it works perfectly :)
Just wanted to thank you very much for such an excellent function and to say how nice it was to have a clear, step by step guide for how it both works and how to set everything up! I recently implemented this for a UEFN project and while its not perfect, as it is visible through particle effects and transparent materials, there's enough covered here for me to eventually understand how to adapt it further.
Thank you Kryss for your feedback! It's awesome to know that this shader works with UEFN! As for transparent materials and particle effects, maybe you can have a look at what Christopher Sims does on twitter. If I remember well, he shared a material for creating outlines on translucent materials :)
@@evansbohl The particle effects are native to Fortnite so I have very little control ove them. Ideally I'd want the lines drawn behind the transparencies but I'm guessing that means a completely different method like the material based approach you mention. For my first UEFN project I wanted to keep things simple by just using native Fortnite assets but I'll certainly be building upon your shader for a stylised look in forthcoming projects so thanks again for such a good foundation!
Pure gold! Please keep the good stuff coming!
Thank you Gerardo 😊🙏
One of the best UE development channels. I hope you will keep uploading, your videos are very helpful!
Amazing Shader! thank you so much for making this! Much love from South Africa!
Perfectly explained! Straight to the point and with the right amount of complexity. Thanks!!
You're welcome! Glad to know I could help you with my knowledge of the engine 🙏😊
The level of detail and touch is something i aspire, as i make tutorials this is a very good style.
Thank you Lloyd! I hope you'll find your style and be able to teach in the way you aspire to 😊
Thank you for this. It was amazing. I really love the way that you teach every step so we can understand what is going on. Much appreciated
Thanks!
Thank you so much David for your super thanks 🙏💙 I'm glad to know you liked my tutorial this much 😊
i love how i have any idea about what are you talking about, but it works and gets the job done hahaha
it's not your fault, this subject is really complex and makes me wonder how can someone really study all these nodes and create great thing with it.
Because literally, i just follow your steps to get the result, but these formulas are really impressive!!
Good job, anyway
I subbed within the first 3 minutes when you explained the math helps astronomically.
Wow thank you man for the instant sub 🙏💙 I'm glad to know that the powerpoint slides helped you better understand how it works 😁
Just what I was looking for! Bookmarking this. I am still a ways away from doing the art of my game, but this will make my models really pop!
Hey Roly Poly! Thanks a lot for your feedback! It's cool to know that my tutorials can help viewers create their projects 😊🙏
absolutely amazing tutorial you actually explain everything that is being done and why it is being done, very helpful for someone actually wanting to learn rather than copy paste, thank you for taking your time to make such a good video :D
Hey Jojo! Thanks a lot for this awesome feedback! I'm the kind of person who likes to understand everything he does, that's why I like to explain each and every step I take for my tutorials :) I'm glad to know you like my teaching style :D
absolutely fantastic work, it works so well. i cant believe this is free! thank you so much
Your content helped me a lot, you explain it so well and that makes the tutorial very unique, you prepare slider to explain the theory behind the stuff you show in the node structure, Absolutely fantastic! keep going!
Thank you Arthur 😊 It's heart warming to know that members of our great community appreciate the amount of work I put into each of my tutorials 🙏 Thank you!
Absolutely amazing, a similar one is used in games like Tower of Fantasy and Genshin impact. This tutorial was amazing and I plan on implementing it into my own game.
Thank you Metamorph! Glad to know you liked the effect 😊
You are awesome!! Not only shows how to do but explains the math beneath it! Thank you very much!!
Hey thanks a lot Guilherme! 😁 It took me an awful lot of time to record this tutorial, and seeing these kinds of feedback is extremely rewarding 😊
This is the best tutorial out there for an outline shader. You did a really good job explaining each node. Made it easy to replicate the shader in a different engine.
Thank you Doc Cube! That's awesome to know that this tutorial can be useful for people working with engines different from UE :)
Absolutely amazing tutorial. Had exactly everything I was looking for, clean and perfectly explained. Also, the way you say buffer gives makes me happy.
I'm only partway through the video, but at the part where you create the edge detection shader for normals, instead of using distance (which has square roots), it's faster and more accurate to use dot product. A dot product is the correct way to compare normals. It will give you 1 for normals that are equal. And -1 for normals that face away. So you can use "one minus" node on each before adding them or just do 4 - total after you've added them all up. You will get more accurate results.
Something else to be aware is that if you use the stencil buffer, that actor will ALWAYS be drawn no matter what. It will never get culled. And the order in which they get drawn in the stencil buffer is completely random. This means that if you have two actors overlapping, the outline color from the actor that is further away can bleed through on the outline of the actor in front.
@@alienrenders Won't the second bug you've pointed out be fixed by what he's done at 1:01:43 ? Outline is drawn only if SceneDepth is equal to CustomDepth, so if something else is placed between the camera and custom depth object it's not supposed to bleed through.
@@kamilbeben9900 The second bug is explicitly when both objects have outlines. You can no longer guarantee what order the stencil buffer is written. The custom depth buffer cannot help here.
@@alienrenders I see. I had no luck reproducing this and haven't found anything in the docs, but that doesn't really mean anything as unreal documentation can be extremely lacking at times. Are you speaking from experience, or have you read about stencil buffer behavior somewhere? If the latter, could you please point me where to look at? I'd like to have a better understanding of what I'm working with.
@@kamilbeben9900 From experience and from how devs of UE told me how it works. You cannot guarantee the order that the stencil buffer is written to.
I wanted to draw an outline for the character of my game. Your lecture was very helpful. Thank you!
You're welcome! I'm glad to know I could help you better understand how it works 😊
This was great Hope you get the time to continue making more content like this
Best Unreal Engine related tutorial I have ever seen in my life :D
Wow thanks a lot Luka!!! 🙏💙
Best material tutorial for UE5 I ever seen. Very detailed and with clear explanation of everything.
I am looking forward to future tutorials.
I'm glad you liked it! Thank you so much for this wonderful feedback and for the sub 🙏😁
the only thing i dont like about your channel is the number of videos you have. I WANT MORE! Thanks for all your awesome content!
Hahaha thank you so much Silas for this feedback! I plan to release more tutorials this year, I promise 😁
Holy crap this looks awesome
Thank's used this coupled to your tuto to make toon shader and it work very well in the last version of Unreal Editor for Fortnite.
Bro, absolutely amazing! This was the best tutorial on shaders and post processing I have seen. Real good work!
Thanks a lot man for this awesome feedback 🙏 It's extremely rewarding to know that I can help people with my knowledge of the engine 😁
This intruduction is so awesome, I wanna watch whole video!
Thanks a lot Youshisu! Hope you found it useful 😁
Very nice work presenting this info, I appreciate the depth of your explanations
Very informative. I havent used unreal engine at all but these videos capture my wtrention bery well. May even try it out because of youre inspiring video, thank you man
Thank you Tristan for this kind message 😊🙏
finally someone that actually explains things
😊🙏
thank you for this great Tutorial. I wish you the best!
This is a great video. Thanks a lot. I followed him to the end and learned so many new things!
This is incredible. It looks so clean. Well done.
Thanks Xeridae! Glad to know you like the result :)
yesssssssssss a modern outline tutorial foe ue!!!!!!!!!! thank youuuuuuuu!!!!!!!!!!!!!!!
You're welcome Enami!!! 😁 Awesome to know that people like my tutorial this much 😊🙏
Hy, to someone that are using it and grass output to put grass in world... since grass not have same way to enable custom depth, you can just subtract the scene texture : opacity, from outlines to exclude grass from effect (since the material from them are masked... and these remove any masked or translucent materials from receive outlines) ;)
I saw such material as an article and it was too hard to understand. Thank you for the video! I could finally understand it without having my brain explode immediately hah
dude you too smart thats crazy. I watched your whole tutorial its great!
Haha thanks a lot! I don't know if I'm smart, but it took me a lot of work to achieve this result 🤣 Anyway, I'm really glad to know that my knowledge can be useful to all the people who want to learn more about Unreal 😊
This is just amazing! Thank you so much. ... I'm not a coder, but I can usually follow along, and this was just stunning! Watching you put together this logic is like visiting a chiropractor for the brain. And your thoroughness is the most pleasing thing I've witnessed in years, or at least when it comes to work. -- Formidable et absolument superbe! Merci bien! / Ps. Of course I purchased your UE project on gumroad!
Wow thank you so much for these kind words about my work! It's the first time someone tells me that I'm like a Chiropractor for the brain, and I really like it haha Thank you so much also for pourchasing my project! have a great one!
Excellente vidéo Evans! Merci !
Flippin' fantastic vid! Thankyou for the very well thought out explaination. Very clear, very informative. Thanks so much!
Hey thanks a lot Nathan 🙏💙 Awesome to know that viewers like my videos this much! Thank you thank you thank you!!
Incredibly educating!
Wow! Wow! Wow! Totally help me a lot as a beginner. Thank you!
Heyyyy! Thanks a lot for your awesome feedback 🙏💙 I put a lot of work in each of my tutorials, and knowing that I can help people is rewarding 😊 Thanks again and have a great one!
Great video! It was easy to follow and very informative!
This is UE5 Gold right here. 5*. Thank You Sir.
Hey you're welcome! Glad to know you liked my tutorial this much 🙏😊
Much love to you. Amazing tutorial!!
You're a really good instructor!!
Thank you Matei! Glad to know you like my way of teaching 😁
Amazingly thorough video, thank you immensely for this I've been trying to figure out how to fix the grazing angle after looking at other versions of a border shader, this was perfect. Has anyone tried or have thoughts on how you could set the normal outline and the edge outline to separate colors to create a highlight from the normal outline?
there is a lot of hotkeys to get common nodes, L for lerp, A for add, M for multiply, 1 for scalar, S for Scalar parameter, V for color parameter :D
Yup totally agree! However when I make tutorials, I prefer not to use them so that people can replicate what I'm doing more easily :) If I use all the shortcuts I know, I'm afraid that the viewers won't be able to keep up with me haha Anyway, thanks for the feedback! :D
Thank you so much. I needed this.
Amazing tutorial! Can't believ I didn,t know about material functions before this, mindblowing!! You have some of the best tips and tricks out there. Thank you so much for the video!
Thank you so much Zach for this feedback 🙏😊 Glad to know you appreciate the effort I've put into this tutorial 😁
man, amazing result, really
Thank you chri 4 🙏💙
Very good tutorial, your channel will definitely get better and better
Great content! Immensely helpful, and well put together as well! It must've taken you absolutely ages to get it all in order and right, greatly appreciated!
Fabulous tutorial! Eeay to follow up with each purpose and consequence explained, and all the bug fixes coming in time XD
Haha Thanks a lot Jiaxin for your feedback! I think it was the hardest tutorial I've ever recorded, and seeing that people like it makes me want to record even more 😁 Thanks a lot and have a great one!
Thank you for such detailed and clear tutorials! You explain very clearly and in detail! Continue in the same spirit!
Thank you Igor! It took me a lot of time to prepare this tutorial, but seeing these kinds of feedbacks make me want to do even more 😁🙏