Advanced Cel-Shader in UE4 & UE5 [Prismati-Cel Part 1]

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 มิ.ย. 2024
  • FOR UE5 USERS: You will have to add a Component Mask RGB before the Normalize node - the new Normalize function hates the A channel.
    Part 2 available here! (Creating metallic/shiny objects)
    • Cel-Shading for Metall...
    UPDATE FOR METALLIC/BLACK OBJECTS: Set a Clamp (Min) to 0.001 after the Desaturated PPI0/Diffuse Divide, and also change the A greater than B node of your White cel shader band to take a PPI0 node. It will reduce artifacts, although using metallic objects is still not recommended due to the calculated lighting values being extremely high. I will however make a tutorial on faking metallic effects in the future!
    Your materials CANNOT be unlit, since Unlit objects have a diffuse value of 0. Values of 0 in general will kill your cel shader, hence the clamp of 0.001 above.
    IF YOUR SKYBOX IS BLACK/WHITE:
    The easiest way is to add an IF node at the very end of your chain with these settings:
    A = Scenedepth
    B = Big number [200,000 will do]
    A greater than B = PostProcessInput0
    A less than B = the cel shader
    Welcome to my Advanced Cel-Shader in UE4 (w/ coloured lights, reflections, translucency & refraction) tutorial! If you've ever used a cel-shader you've most likely encountered some limitations... I'm here to solve them all :)
    Spanish language version here: • Estilo Cartoon/Anime e...
    Join our Discord server if you need a hand or just want to chill!
    (Includes a channel dedicated to Cat photos)
    / discord
    Discord: / discord
    TH-cam: / prismaticadev
    Twitch: / prismaticadev
    Patreon: / prismaticadev
    Twitter: / prismaticadev
    The first song is "File Select (SM64) mashed with Yogev Gabay's drum cover of Szerencsétlen by Venetian Snares. The consequent tracks are from Rare's "Conker's Bad Fur Day" and "DiddyKong Racing 64"
    ------------------------------
    Computer Specs:
    Ryzen 3900x 12-core CPU
    MSI Geforce RTX 2080 Super
    64GB Corsair RAM
    One of those fancy nvme m.2 SSD's
    Programs of choice:
    Unreal Engine 4 - (Game Dev)
    Blender 2.8 - (Animation and Modelling)
    OBS - (Video/screen capture)
    Davinci Resolve - (Video editing)
    Adobe Photoshop - (Graphics and Texturing)
    Quixel Mixer - (Texturing)
    ProTools 11 - (Compositions and mixing)
    OldSchool Runescape - (Chillax time)
    Filmed using:
    Sony A7s2 body
    Sony 24-70mm f/2.8 GM lens
    Yonguo YN360 LED's for colour
    Yongnuo YN760 chip LED w/ Godox softbox for key
    My lovely cats names are Boycat, Girlcat and Ladycat :)

ความคิดเห็น • 441

  • @zablade
    @zablade 4 หลายเดือนก่อน +16

    3 years later and still no other cel-shader competes! To top it off you're the only one that has made a metallic version!

  • @Deathend
    @Deathend 2 ปีที่แล้ว +9

    This texture made me realize how dim my test map was lmao. 10/10 Love it!
    Seriously man, I'm new to this and so many tutorials don't explain the little steps. I am very appreciative of not only your tutorial content but the fact you add the little stuff too

    • @TheFeralFerret
      @TheFeralFerret 7 หลายเดือนก่อน

      It took this comment to make me realize why this just wouldn't work for me... my lights at their strongest points were producing the 'shadow' light threshold (using the values from the vid). Some tweaking later and things are looking lovely, lol. In case that helps any other dim light enthusiasts...

  • @otdtwister32
    @otdtwister32 3 ปีที่แล้ว +31

    I know we talked about this but I’m definitely intrigued on how you set up the armor. I love how far this game has come. When the game drops on steam I’ll be buying for sure. I appreciate how dedicated you are to this game is already looks great in it’s early stages...The final product will amazing I know !

  • @DseaseHD
    @DseaseHD ปีที่แล้ว +3

    You're literally the best channel explaining how to use shading, And this is most certainly the best post-process cel-shader nowadays.

  • @NitrogenDev
    @NitrogenDev 3 ปีที่แล้ว +58

    Not gonna lie, this is pretty epic.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +9

      Thanks legend, love you work!

    • @KotatsuStudioBR
      @KotatsuStudioBR 8 หลายเดือนก่อน

      Indeed, this is a epic game

  • @RainyGames
    @RainyGames 3 ปีที่แล้ว +4

    Thank you so much for this man! This is the best tutorial on a cel shader post-processing on TH-cam!!

  • @DullaTheDulla
    @DullaTheDulla 2 หลายเดือนก่อน +3

    Something about shader logic has always gone over my head. I just cannot seem to retain any useful information whether I follow tutorials or get direct lessons.
    I have no idea what the difference was, but watching this video I feel like I've actually learned a bit! Gonna have to look through more of your videos 👀

  • @arrowsdev
    @arrowsdev 2 ปีที่แล้ว +1

    this may be the best tutorial about cell shading i ever seen, thanks man for the effort

  • @fizzandfur4237
    @fizzandfur4237 3 หลายเดือนก่อน +3

    I love the whole "no point making it if you don't understand it"... I'm a vfx artist and it's such a shame we don't have anyone on youtube in the rt vfx side of things that has that mentality (thank i know of)!

  • @linglang854
    @linglang854 2 ปีที่แล้ว +1

    Fantastic video!!! Even with a very basic understanding of computer graphics I was able to follow along and adjust and troubleshoot as needed :) Exactly what you want out of a tutorial!!! fantastic!!

  • @Tkonpk
    @Tkonpk 3 ปีที่แล้ว +3

    Love these tutorials. Quick and concise, needs more ranting but still amazing.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +2

      More ranting? I could do that... ;) Hahaha thanks for the kind words!

  • @otdtwister32
    @otdtwister32 3 ปีที่แล้ว +2

    My man...once again beautiful work

  • @Kill3dge
    @Kill3dge 3 หลายเดือนก่อน

    You are amazing! I've watched every cel shading tutorial and all of them have problem with colored lights, finally thanks to you found a solution!!!

  • @crimson7846
    @crimson7846 3 ปีที่แล้ว +1

    That was really cool :) I had never used a cell shader before so decided to look it up. found your vid and love cell shading now. Keep up the good work :)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Really glad to hear it mate! Let me know if you ever need a hand :)

    • @crimson7846
      @crimson7846 3 ปีที่แล้ว +1

      @@PrismaticaDev will do man :D keep up the awesome work

  • @sophiejulien8402
    @sophiejulien8402 3 ปีที่แล้ว +12

    thank you SO MUCH for this amazing tutorial, I learned a lot !

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Thanks so much Soph! If you ever need any help feel free to ask in the Discord :)

    • @lethiagames9208
      @lethiagames9208 ปีที่แล้ว

      @@PrismaticaDev Hello is there a way to make it work for translucent water material

  • @newguma
    @newguma 4 หลายเดือนก่อน +1

    As always, great work!

  • @oo_atlas_oo
    @oo_atlas_oo 3 ปีที่แล้ว +4

    Beautiful tutorial, great humour, same CPU.
    I'll be watching your career with great interest

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Thanks very much! Hope you learned a bunch :)

  • @_Irrelevant
    @_Irrelevant 9 หลายเดือนก่อน +5

    If anyone else was having problems with the Custom Depth Pass affecting colour (by removing its existence on anything not affected by the Custom Depth Pass), you need to mask the Post Process Input 0 with not only the R channel, but G and B as well. R G B all need to be masked for the scene to gain normal colour again.

  • @mdp7193
    @mdp7193 2 ปีที่แล้ว +37

    1:13 - What is a cell shader
    1:46 - Setup
    5:03 - Nodes
    9:18 - Values sheet
    10:11 - Workaround for colored lights
    12:20 - Adjusting to scene
    13:24 - Bonus tips

  • @KennyCutout
    @KennyCutout 2 ปีที่แล้ว

    Great tutorial! I actually feel like I know how the whole thing works now.

  • @angelliawa9226
    @angelliawa9226 2 ปีที่แล้ว

    Great Tutorial!Not only Im learning UE but having a crush on you on the process hahaha!

  • @blackdino8267
    @blackdino8267 10 หลายเดือนก่อน +2

    i just starting making games and your videos really helps me a lot, thanks!

    • @PrismaticaDev
      @PrismaticaDev  10 หลายเดือนก่อน

      Happy to hear it! :)

  • @tzaphkiel1181
    @tzaphkiel1181 3 ปีที่แล้ว +2

    Really great tutorial, it definitely helped!

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Very happy to hear that :) If you ever have any issues, there are a few fixes in the Description and you can always get help in our Discord server :)

  • @AJDOLDCHANNELARCHIVE
    @AJDOLDCHANNELARCHIVE ปีที่แล้ว

    Great stuff mate! Cheers from chilly old England!

  • @TheAbrahamisme
    @TheAbrahamisme ปีที่แล้ว

    thanks so much man! helped a lot from my simple shader to being able to customize :D

  • @MoogstirGames
    @MoogstirGames 5 หลายเดือนก่อน +1

    This is beautiful work and is going in my game

  • @ash2o799
    @ash2o799 3 ปีที่แล้ว +6

    YOU'RE BREATHTAKING!

  • @loogiemusmaximusoftides8540
    @loogiemusmaximusoftides8540 10 หลายเดือนก่อน

    INVALUABLE EXPLANATION! thank you so much

  • @sphinx039cat
    @sphinx039cat 3 ปีที่แล้ว

    very nice explained !! Thanks for sharing

  • @AnseArmado
    @AnseArmado 20 วันที่ผ่านมา +2

    Yo, maybe I'm 3 years late, but this cel shader is THE cel shader. The only tutorial making the shader work with coloured lights, this is awesome. I'm pretty new with this and I'm getting some trouble with adding textures and using an inverted hull outline, the outline goes pure white when I want it to be pure black (It's just a black material with specular and roughness value as 0) and the textures go white too where I use black. I'm trying moving some parameters, but everything seems pretty logical as you explain on your video, I don't get a clue about what I'm missing. Again, congratulations on this video, after 3 years still the best one

    • @PrismaticaDev
      @PrismaticaDev  20 วันที่ผ่านมา

      Hey hey! There are a couple of fixes in the description that should help with the Divide by 0 errors (hot whites)

  • @matheusleite7944
    @matheusleite7944 2 ปีที่แล้ว +2

    Thank you man. Helped a lot. The Diddy Kong Racing playlist was awesome too

  • @theomagamk3
    @theomagamk3 10 หลายเดือนก่อน +1

    Oh man... That joke just took a byte out of my soul.
    Jokes aside brilliant tutorial and really helped me out for my gamejam!!

  • @Fokkusu
    @Fokkusu 3 ปีที่แล้ว +2

    Thanks a lot for the tutorial :)

  • @chrispetersen3613
    @chrispetersen3613 ปีที่แล้ว

    omg you're so funny dude. I cracked up a bunch during this vid, nice work. I love laughing and learning!

  • @creatingwithcob1577
    @creatingwithcob1577 ปีที่แล้ว

    Just tried the very first part in UE5 and its going craaaaazyyy

  • @sophiejulien8402
    @sophiejulien8402 3 ปีที่แล้ว +1

    Just saw the update for black objects in the description, thank you so much it solved a lot of the issues I had

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Glad it helped! Was really bugging me for a while as well so I decided it was time to fix it haha

  • @dracofruit
    @dracofruit 3 ปีที่แล้ว +2

    Hey man, thanks for the tutorial! I've got to create an environment in UE4 for one of my university projects and I'm super excited to experiment with this! Def subbing 👍

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Awesome to hear that! I'd love to see your project when it's finished. If you have any questions about Shaders/Materials/Meshes our discord server is full of some big brains that are always happy to answer any questions big or small!

  • @Jukerlaw
    @Jukerlaw 3 ปีที่แล้ว +1

    This is awesome!

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Glad you think so :) Hope you're enjoying your results!

  • @ngtansang254
    @ngtansang254 2 ปีที่แล้ว

    Great video, thanks a lot!!!

  • @tematoscybersage5626
    @tematoscybersage5626 ปีที่แล้ว

    Dude, you are power!🦾

  • @shennix9871
    @shennix9871 3 ปีที่แล้ว +1

    Is that diddy kong racing music? 🤣 anyway nice work man! 👏

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Sure is hahaha. RareWare games have the BEST soundtracks.

  • @andy0x58
    @andy0x58 9 หลายเดือนก่อน +1

    Awesome ❤

  • @andcaru
    @andcaru 3 ปีที่แล้ว +1

    Thanks alot, for sharing!!, great!

  • @3DWithLairdWT
    @3DWithLairdWT 2 ปีที่แล้ว

    Again, loving your contributions to all the artists out there trying to learn, awesome tutorial! Is there a way to make this post process only effect certain objects? I'd like to cell shade my characters only, if that makes sense.

    • @ftwgunnerpwns
      @ftwgunnerpwns ปีที่แล้ว

      He actually goes over this when he talks about CustomDepth Pass - I'd think it'd work for applying the CD render pass to only the characters like he does for the PlayerCharacter , and only cel shade characters that way.

    • @3DWithLairdWT
      @3DWithLairdWT ปีที่แล้ว

      @@ftwgunnerpwns the problem I ran into with this is the stencil doesn't respect depth. So the shader cel-shades anything that should be occluding the character. Are you aware of any workaround for this?

  • @kurvaosobne3897
    @kurvaosobne3897 3 ปีที่แล้ว +12

    Hey again! Just wanted to ask about the ambient occlusion. You masked it (RGB) which is float3 and when I multiply it by the whole thing, it gives an error where it cant multiply. "Arithmetic between types float4 and float3 are undefined". Also the skybox isnt visible anymore

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +11

      Hey Kurva! For the Ambient occlusion if you're getting that error then you might not need to mask the AO channel at all - I think because I was doing some other processing before that I ended up with a float3 output.
      As for the skybox, try this imgur.com/a/oKLcmAa
      It basically says "If anything is over 200,000 units away, display it without the cel-shader"
      I think the reason it goes a bit funky with the Cel Shader by default is because it uses very bright values which clip at 1 in the cel-shader. You could get around this by using a custom skybox material but the above solution will work for the default skybox :)

    • @kurvaosobne3897
      @kurvaosobne3897 3 ปีที่แล้ว +4

      @@PrismaticaDev Thanks so much again! I will try to fix that. Also do you have a discord server or something I can join? Would love to try out the game when its gonna be ready for playtesting and stuff!

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +3

      @@kurvaosobne3897 sure do! It's full of extremely helpful and nice people so if you ever have any UE4 problems don't be afraid to ask in the doscord :) discord.gg/4HGySTDcCm

  • @abilalp9104
    @abilalp9104 3 ปีที่แล้ว +1

    Dude Thank you so much!

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      No worries at all :) Hope it serves you well! Don't forget to check out part 2

  • @lorryburger8165
    @lorryburger8165 3 ปีที่แล้ว +1

    Thanks for this! :)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      No worries at all Lorry :) Hope it helped!

  • @haynedev7631
    @haynedev7631 ปีที่แล้ว +2

    This guy here saves my development with EVERY single video. Go donate!

  • @guilhermenaco
    @guilhermenaco ปีที่แล้ว

    Thanks Charlie

  • @AlexSurvie
    @AlexSurvie 2 ปีที่แล้ว

    Huge thanks!

  • @tale_play
    @tale_play 2 ปีที่แล้ว +1

    Thank you so much! This helps me so much! I can't wait to learn the nodes and what it does. Do you perhaps have any advice when it comes to learning the nodes? This is the part I am most confused of.

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว +1

      Sure thing :) I have an entire series dedicated to exactly that!

    • @tale_play
      @tale_play 2 ปีที่แล้ว

      @@PrismaticaDev gotta check it out. Thank you so much! I love your work by the way, it looks so gorgeous! ❤️😊

  • @jak3legacy
    @jak3legacy 3 ปีที่แล้ว +2

    I would KILL for a tutorial like this that covered Bayer / Blue Noise Dithering to really achieve that "3D Pixel art" aesthetic fully

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +3

      Amazing suggestion - I'll look in to it for sure!

    • @jak3legacy
      @jak3legacy 3 ปีที่แล้ว +1

      @@PrismaticaDev I'm tinkering with it as well; if I don't see anything about it here I'll drop it!

    • @jak3legacy
      @jak3legacy 3 ปีที่แล้ว +1

      @@PrismaticaDev I think I figured it out (at least a functional demo)! It needs work and it's rough around the edges, but I'd be down to share in the discord if interested

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      @@jak3legacy Yes please! Chuck it in the On-Topic chat if you want to show off/get feedback on it from everyone :)

  • @ethantoogood
    @ethantoogood 2 ปีที่แล้ว +6

    Awesome! I am having some jittering in the light bands (I am using lumen so that may be contributing to it) usually changing to before tone mapping works but in this case there is still a fair amount of jittering. Any tips on why this may be would be a great help!

    • @slBrelaz
      @slBrelaz 2 ปีที่แล้ว +2

      Jittering is usually caused by floating point inaccuracies. You can try rounding the value before running computations on it?
      Also did you remember to set the post process to before tone mapping?

    • @GitGudOrDieTrying
      @GitGudOrDieTrying 5 หลายเดือนก่อน

      Did you found a solution to that? 🙂Having the same problem on my landscape, removing the fog didn't helped 😅

  • @Ohbowz
    @Ohbowz 9 หลายเดือนก่อน +1

    It may be too late to ask this question since the video is 2 years old but... When you set it up to receive color from the point light, this also allow the material ambient occlusion to subtly bleed in as a gradient on the dark band. This prevents the dark area from being flat (at least for my set up) If I set AO to zero on the material I get a harsh black band. If I bypass the step to let lighting color in this isn't an issue. Is it possible to let the point light color have it's influence without getting this AO bleeding in? (I appreciate any response, I am super new to using UE).

    • @PrismaticaDev
      @PrismaticaDev  9 หลายเดือนก่อน

      Hey hey! If you mean the sort of "smooth colour gradient" that happens on top of the luminosity bands, it's not really possible with this method of post process. If you look up Divivor's cel shader stuff, is that more what you're looking for?

    • @Ohbowz
      @Ohbowz 9 หลายเดือนก่อน

      @@PrismaticaDev Hey Thanks for the response! It's basically the bounce light from the materials ambient occlusion making my dark band less flat. It also blends with the band color in a very subtle way. If I skip the steps that allow the point light color to work, I don't see it. Something about Desaturating the whole thing, and multiplying it with the PPI0 to get that point light color in is also letting in the bounce light from the ambient occlusion. It's not a super obvious thing but I'm after a very specific look. Unfortunately I can't find anything on Divivors, there's a lot of broken links out there. Thanks again for any help, even if what I want isn't possible it's good to know what the limits are.

    • @PrismaticaDev
      @PrismaticaDev  9 หลายเดือนก่อน

      @@Ohbowz Hmmmmm. Are you using Lumen? Or just default lighting with AO? Also, are you using both screen space AO and Distance Field AO?

    • @Ohbowz
      @Ohbowz 9 หลายเดือนก่อน

      @@PrismaticaDev Looks like Lumen is off, I think I'm using default lighting with AO. I removed the skylight, the only light source in my scene is a point light. If I delete that I can still see the environment though it's dim, it doesn't go completely black. Setting AO on the material to 0 is the only way I can make it go away.

  • @bartomiejferus6496
    @bartomiejferus6496 3 ปีที่แล้ว +2

    Great tutorial, thanks! Did you test it in terms of performance? Lots of post-process materials could be costly. I'm wondering if the method you presented has some performance quirks one should be aware of?

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +4

      From my initial tests I found 0 FPS difference - I may do some actual profiling to see the performance impacts in finer details but playing at 2K Ultrawide resolution I can't see any FPS difference on my machine. I think since the post process only does simple math and doesn't reference and textures/recursion (like a Bloom or Blur post process would) it should function great on even lower-end machines.

    • @Grimsikk
      @Grimsikk 2 ปีที่แล้ว

      @@PrismaticaDev Would this post-process be practical for a medium-sized open world game? I'm prototyping a game that is heavily inspired by Wind Waker, including a relatively large open world.

  • @toriovo1572
    @toriovo1572 3 ปีที่แล้ว +1

    thanks bro, you help me a lot.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Very glad to hear that :) Hope your project is going well!

  • @johnmannp7158
    @johnmannp7158 3 ปีที่แล้ว +2

    Thank you so much!

  • @FromNowhereProd
    @FromNowhereProd 3 ปีที่แล้ว +3

    Nice one.
    Thanks for sharing ;)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      No worries at all! Let me know if you run in to any issues :)

    • @FromNowhereProd
      @FromNowhereProd 3 ปีที่แล้ว +1

      @@PrismaticaDev No the material works nice.
      I don't think I'll use it in my project because the assets that I have already got stylized materials.
      But it was very instructive ;)

  • @SmithDoesGaming
    @SmithDoesGaming 2 ปีที่แล้ว +2

    Hi! Thanks for making the tutorial! I tried to follow you every step in the video, but however, at the Ambient Occlusion part at the end, my multiply node got an error when it connected to if node from the previous step, saying that "[SM5] (Node Multiply) Arithmetic between types float4 and float3 are undefined"

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว +1

      Hello! You’ll need to use a ComponentMask node to make sure both inputs have the same number of floats (ie. both are just RGB instead of one being RGBA)

  • @kken8766
    @kken8766 3 ปีที่แล้ว +2

    This is a great tutorial!
    Hi! I'm a newbie, and I would like to ask a newbie question.
    Can we achieve the same result by using Substance Painter and just paint the whole thing anime style?

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Heya Ken - the trouble with using baked textures is that they won’t be able to take the direction of the light in to account :)

  • @Grimsikk
    @Grimsikk 2 ปีที่แล้ว +3

    This is an amazing tutorial. You explained everything thoroughly, showed each step clearly, and gave fixes for common issues. You just earned a sub ♥ I am trying really hard to achieve a cel-shaded look like the one seen in The Legend of Zelda: Wind Waker. I had bought the "Cel-Shader & Outline" from the marketplace (the one by Lunar Garde) and while it's very powerful, it's hard to apply to an entire game with consistent lighting. I hope that going this post-process route won't tank performance, because otherwise I don't know what to do at this point lol.
    I could use some guidance, if you have any ideas on this: How would I set up my lighting/materials/post-process/etc. to only have 1 light affect my character at a time, just like seen in the Wind Waker? Any thoughts on how to accomplish that?

    • @LiArtful
      @LiArtful 2 ปีที่แล้ว +1

      I'm trying to do the same thing, I even have the same shader by Luna from the marketplace, and so far have had a difficult time getting the right effect. Theres another tutorial by a channel called Your Sandbox which uses a different method using curves. It kind of works for me but still having trouble getting it right.

  • @spunkflunk
    @spunkflunk 3 ปีที่แล้ว +14

    Du du dude da, dududududeee

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Indeed!

    • @squarerootof2
      @squarerootof2 3 ปีที่แล้ว

      @@PrismaticaDev Lol, do you guarantee that you'll "learn" me, mate? Just subbed today. I've been messing around with UE4 for about 2 months now and it's really hard to find a channel that doesn't try to teach you how to open some door with a trigger volume or crap like that. This is refreshing. Thanks.

  • @MadpolygonDEV
    @MadpolygonDEV 3 ปีที่แล้ว +1

    maybe ive missed the part but does it come with: enable, disable specular highlight and change the radius of that highlight? would love to have some of my objects have a spec highlight that is very sharp

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      So this system just takes what is in front of the camera and applies the Cel Shader based on that - if you wanted to increase the highlight amount of a certain object/material you could increase the Specularity or lower the Roughness of the material. You could also add a rimlight in the material which would be picked up naturally by the cel shader PP.

  • @maschinen-frau
    @maschinen-frau 6 หลายเดือนก่อน

    Hi Prismatica, always loved ur videos! I have a question...
    atm I'm making a post process where I need to extract the lighting from the scene (similar to ur cel-shading) however I found that this method of dividing PostProcess0 by DiffuseColor breaks once objects which are not rendered to depth are in the scene (for example volumetric fog). I was wondering have you found a workaround for this? It seems what would be needed is a version of PostProcess0 which does not include transperant objects. Any tips appreciated !

  • @fr4lty309
    @fr4lty309 3 ปีที่แล้ว +1

    This tutorial is fantastic, thank you so much.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      No worries at all! Glad you found it useful :)

    • @fr4lty309
      @fr4lty309 3 ปีที่แล้ว +1

      @@PrismaticaDev I really really did. Either way though, I have a small problem: my skybox becomes completely black when using the shader. Is it a problem of the skybox I'm using?

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      @@fr4lty309 Ah yes, the ol' black skybox issue haha.
      So, since we're using Diffuse colour in our operation and Unlit materials have a diffuse value of 0, there are 2 solutions.
      The easiest way is to add an IF node at the very end of your chain with these settings:
      A = Scenedepth
      B = Big number (200,000 will do)
      A > B = PostProcessInput0
      A < B = the cel shader
      The second way is to change the material from unlit to Default lit, although this can bring a tonne of other issues with it haha

    • @fr4lty309
      @fr4lty309 3 ปีที่แล้ว +1

      @@PrismaticaDev That solved it, you're the best. I just thought I'd let you know, seeing this tutorial really boosted my motivation, as I'm just starting to learn the engine, and seeing how "logical" even these particular things are really does help. I hope you create more tutorials like these in the future

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      @@fr4lty309 Perfect! Glad it worked :) I just explain things from my point of view, there must be lot of people that think the same way I do about things :)

  • @armagedonthe1gamer
    @armagedonthe1gamer 3 ปีที่แล้ว +3

    Love this tutorial, followed through using unreal's webinar cel shading process (Since I wanted visible comic lines) and was able to plug in the method you used in the end with it working perfectly. on an unrelated topic, what are some good rules of thumb for limiting resources for hardware and storage so that cartoony game can even run on a toaster? Would like to know so that when performance testing on other systems they just don't crap out immediately.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      I've watched that same webinar - I love that they include 2 methods of finding the outlines!
      A good rule of thumb is to always check the Instruction count + use the Shadow Complexity viewmode. Also try to use as little texture samples as possible (very easy with a cartoony game) as sampling a texture is one of the most process-intensive instructions but will only come up as 1 instruction so going solely off instruction count can be a little misleading at times. The best thing you can do is to actually test and profile on your target machine as early as possible :)

    • @armagedonthe1gamer
      @armagedonthe1gamer 3 ปีที่แล้ว +1

      @@PrismaticaDev Thanks! Will check this out with the various projects I've started up for my college finals! \(*o*)/

    • @peterlantz7966
      @peterlantz7966 2 ปีที่แล้ว

      Random note unrelated to shaders and textures: Polygons are where most people tend to think performance lies BUT.... Nowadays maintaining a low poly count is almost irrelevant as GPUs breeze over them, it's the "draw counts" that matter aka the number of 3D models the game is displaying on screen at a time.
      1. you can view draw counts with console command "stat scene rendering"
      2. foliage and other forms of Instanced Static Meshes group multiple similar meshes into 1 draw call
      3. Multiple materials = multiple draw calls per mesh
      4. dynamic shadows are made by another camera creating a depth texture which = another set of draw calls. Limiting shadow distance helps a lot
      5. this is all a balancing act, not a "don't do certain things" kinda thing
      6. Is an issue since CPUs have to send a draw call to GPUs. The GPU will just sit there idling with all its massive power while the CPU is processing a bunch of draw calls.

  • @impdgart
    @impdgart 3 ปีที่แล้ว +3

    Great videos, thanks a lot for sharing your experience.
    Regarding cel shading - when I decided how to proceed with it, found several mentions that post process approach has issues with distance rendering (even with infinite borders), layering other effects and rendering with translucent materials. So I took surface material based solution - have single cel shaded master material (example in marketplace "Cartoon Cel Shader"). And it's "cheaper" than post process.
    Did you check this approach?

    • @impdgart
      @impdgart 3 ปีที่แล้ว

      Still in doubts, that I chose right way, post process looks simpler and more powerful.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      @@impdgart Hey Anton! I do believe a material approach would be cheaper if only select objects are doing to have the effect (ie. most games haha)
      I personally haven't had any issues with distance rendering since I use a "fake" scene-depth based fog but I imagine using volumetric fog/atmosphere could yield funny results, although maybe with my colour-injection method it might look half-decent. I haven't tried yet. I'm sure that both methods have their pros and cons, and it depends on the project at hand :)

  • @theSMAKgame
    @theSMAKgame 3 ปีที่แล้ว +1

    Thank you! Very informative video! It really helped me in making my game look less shit :D.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +2

      Haha why can't game engines just have a "make game look good" button already???

    • @theSMAKgame
      @theSMAKgame 3 ปีที่แล้ว

      @@PrismaticaDev Exactly!

    • @theSMAKgame
      @theSMAKgame 3 ปีที่แล้ว

      @@PrismaticaDev Once I applied the shader, some really black matte objects turned completely white. I don't dislike it, but it's completely beyond me why it happens. Would you happen to know why? :)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      @@theSMAKgame yep yep - if an object has a value of 0 or close to 0, when we divide the PPI0 by the Diffuse Colour we get infinity as a result. There’s a fix in the description of the video which should fix the issue :)

    • @theSMAKgame
      @theSMAKgame 3 ปีที่แล้ว +1

      @@PrismaticaDev So that's what happens :o. Thank you very much!

  • @kej1n
    @kej1n 3 ปีที่แล้ว +1

    Hello thanks for the video ! I'm quiet new with unreal engine 4, and in my scene i can't have the same good locking scene as you. I have some strange shadows demarcation, i would like to smooth the transition (especialy for the dark color / shadow effect) i read something about LUT, but i can't manage to add this to the post process. Any tips ? (I use 4.25 and a lot of my character are "ghosts" so i'm using a lot of translucent mat)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Hey there! I find in order to smooth out the transition between cel-shader bands it's good to use detailed normal maps since the light will "catch" around the bends of the objects. If you'd like to share some screenshots of your issues specifically in Discord you can find me there and I'll try give some more in-depth advice :)

  • @dariusbrown7598
    @dariusbrown7598 4 หลายเดือนก่อน +2

    I cant seem to get the ambient occluion to plug in without an error like you showed in the bonus but otherwise i got everything else going, looks great!

    • @boad8270
      @boad8270 17 วันที่ผ่านมา

      same

  • @TeymLax
    @TeymLax 16 วันที่ผ่านมา

    Very Good Thanks

  • @alexbetros2023
    @alexbetros2023 4 หลายเดือนก่อน +1

    I love this tutorial! I have a couple of questions though. Is there a way to add sort of a toon outline effect? And what settings would you recommend using for a wind waker inspired scene? I hope you see this, and again, this is amazing!

    • @PrismaticaDev
      @PrismaticaDev  4 หลายเดือนก่อน +1

      Hello! You sure can add an outline effect, however you'd need to follow another tutorial haha. It can be added -on top- of this one. As for Windwaker, it uses only a few steps of luminosity. The outline method used in old games is called Reverse Hull outlines, where you duplicate the mesh and turn it inside-out

    • @alexbetros2023
      @alexbetros2023 4 หลายเดือนก่อน +1

      Thank you! I have always loved stylized art so this will help a ton. Loved your vid!

  • @321Green1Fork123
    @321Green1Fork123 3 ปีที่แล้ว +2

    When I check the custom box for the assets, they just go black, except for one metal wall I have.

  • @PastegaTutoriais
    @PastegaTutoriais 3 ปีที่แล้ว +1

    Amazing, huges from brazil

  • @kuraddohikari
    @kuraddohikari ปีที่แล้ว +2

    This generally works very well in my game, thank you for the tutorial! I just have an issue where as you walk around the object the material sort of shakily updates its shading borders, which looks odd. I'm on UE5, not sure if that could cause the difference. Do you know what could be doing this?

    • @jesterglee1319
      @jesterglee1319 ปีที่แล้ว

      Im having that issue too
      no clue

    • @Mrkarton
      @Mrkarton ปีที่แล้ว +3

      In post process volume
      Ambient Occlusion
      advanced
      Static Fraction = 0 (by default its 1)
      This helped me at least.

  • @xNaxdy
    @xNaxdy 2 ปีที่แล้ว +1

    this is the best cel shader tutorial I've seen thus far.
    however, my implementation (read: copy) suffers quite a bit from noise in certain spots (inbetween layers). is this something that can be removed by tweaking the shader itself, or should I be focusing on the lighting conditions for best results?

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว

      I think I know what you mean - like some sort of scratchy artifacts that mostly appear on flat surfaces? Unfortunately it's just a result of really subtle gradients in the lighting. You miiiight get around it if you add some noise texture to the Lighting Calculation (very start) of the cel shader to break it up a little

    • @xNaxdy
      @xNaxdy 2 ปีที่แล้ว

      @@PrismaticaDev yeah essentially. thing is I don't even mind the artifacts, I think they look quite neat given the overall style. problem is if the surface moves (e.g. tree leaves) or you tilt the camera, it's VERY jittery and breaks the immersion.
      by lighting calculation, I assume you mean the division of PPI0/Diffuse ?

    • @xNaxdy
      @xNaxdy 2 ปีที่แล้ว

      what I also just noticed is different between my result and yours is that in a scene like yours at 1:29 the different levels are separated by a sharp edge in your implementation, but for me it's rather fuzzy in general. I'm assuming this is related to it

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว

      @@xNaxdy maybe double check your Tonemapping settings in the material just to make sure that isn't the cause. Chuck me a message on Discord and we can figure it all out :)

    • @xNaxdy
      @xNaxdy 2 ปีที่แล้ว +1

      @@PrismaticaDev no material issues... the culprit was actually temporal AA, LOL! now with it disabled, nothing's jittery anymore and I can properly control how sharp / smooth the edges inbetween levels are =)

  • @tsdev9861
    @tsdev9861 3 ปีที่แล้ว +1

    Thank you very much

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      No worries at all :) Hope you enjoyed!

  • @runsbuns3675
    @runsbuns3675 3 ปีที่แล้ว +4

    if anyone is having problems with this working with paperflip book sprites just do the thing he says to do about metal in the description it fixed my sprites

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Good point! I've noticed that it doesn't seem to like anything that is "unlit" either but don't have a fix for it currently.

  • @DelaronZarath
    @DelaronZarath 7 หลายเดือนก่อน +2

    If I'm not mistaken it should be this:
    Desaturated(PostProcessInput0)/Desaturated(DiffuseColor) = Shadows (Gradient from white to black)
    PostProcessInput0/Shadows = True Color (Diffuse Color + Color from lights without the shadows)
    True Color - DiffuseColor = Light Color (Only the color added from lights)
    You shouldn't need this stuff with the normalization

    • @calebjuza3277
      @calebjuza3277 หลายเดือนก่อน

      This is fantastic info thank you, not sure why but just running the base render through the normalization wasn't working for me so this info saved me!

  • @rishabg5583
    @rishabg5583 2 ปีที่แล้ว +2

    Hi! The cel shading tut helped me alot. Thank you so much for that. But, the trick/workaround you mentioned for the colored lighting (11:03) is not working for me it looks exactly like the normal PostProcessInput0 but just brighter. Could you please lend me a hand on this one?

    • @DarthBiomech
      @DarthBiomech 2 ปีที่แล้ว +1

      Same issue here.

    • @rishabg5583
      @rishabg5583 2 ปีที่แล้ว +1

      For those looking for a solution, I found a fix by comp masking the PostProcess0 before normalizing. I ended up giving up on the work around as I just didn't like the look and colored lights is not that beneficial for me.

    • @_Caose
      @_Caose 2 ปีที่แล้ว

      @@rishabg5583 Yeah thanks! Masking the alpha channel out between PP0 input and normalize node somehow works. Do not forget to append the channel after multiplication.

  • @samuelbowers3289
    @samuelbowers3289 8 หลายเดือนก่อน

    Great video thank you, Howcome reflective surfaces are just white with no colour or reflection?

  • @matt-lacey
    @matt-lacey 8 หลายเดือนก่อน +6

    jesus that background music gonna give me a seizure

  • @acefp7547
    @acefp7547 3 ปีที่แล้ว +1

    Hi there, thank you so much for this video!! This really is the best cel-shader tutorial on TH-cam, I've done a lot of searching. :) I am having a problem with color lighting tho; When I use SceneTexture:PostProcessInput0 -> Normalize -> Multiply, my scene isn't flat lit, there are what look like ambient shadows in the scene which ruin the flat cel-shaded look once I plug in the cel-shader. Is there perhaps something you're doing differently in your project settings? I believe the issue is reproducible when using the post process shader in a new project

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      Hmmmmmmm... Could possibly be something to do with your static lighting? If you're using a Cubemap in your Skylight, try setting it to one of the Grey engine cubemaps :)

    • @acefp7547
      @acefp7547 3 ปีที่แล้ว +1

      ​@@PrismaticaDev Oh yes, I think that might be it! I wasn't using a cubemap before, and fiddling with those seems to have fixed it. Seems this method requires a cubemap. :)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      @@acefp7547 Haha he problem is that it DOESN'T require a cubemap or captured scene - hence the grey cubemap works the nicest haha :)

    • @acefp7547
      @acefp7547 3 ปีที่แล้ว +1

      @@PrismaticaDev hmm I see! Thank you again for the help!!
      If you built the shader from an empty project an put a flat color material on the unreal dude, you’d see what I’m seeing. Where exactly can I find the grey engine cubemaps? I only have one cubemap from the starter packages, and its what’s causing the issue:/ Using realtime calculated lighting or calculating with no cubemap fixes it, but then some weird shadows pop up

  • @frosato97
    @frosato97 2 ปีที่แล้ว +1

    Can I add an outline material too, what do you think? Thank's and great work! awesome 👍

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว

      Sure can :) I would recommend doing it in a separate PP material and applying after this one

  • @kiaraettling7106
    @kiaraettling7106 3 ปีที่แล้ว +1

    Hey I love this tutorial, it helped me a lot to build a cel shader for my university project ( I study Game Design ) but ich have a problem with the metallic or roughness, not shure. I have a shiny marble like chess plate floor and there are big white spots on the black squares when the shader is aktive, also everything that has a metallic material is extremly shiny too, even though its not supposed to be. I hope you can help me with that. thank you :)

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      Hey Kikii, I uploaded a video recently about Metallic/shiny objects with the cel-shader you'll love!

  • @emirisik
    @emirisik 2 ปีที่แล้ว

    Hi! Great tutorial, I really love this look and it worked great with what I'm working on. However it seems to break my VFX. The fx does not use unlit materials and for some reason just displays black when using the cel shader. Any idea what I can do to fix this? EDIT: Material issue: Emissive doesn't work with the cel shader. If I use base-color + emissive it works. Interesting, but idk if its ideal.

    • @DustinBiser
      @DustinBiser ปีที่แล้ว

      Set Blendable Locaton to "Before Translucency" so particle effects are not affected. Also if "PostProcess0 / Diffuse" is greater than some value (e.g. 10), you can just output PostProcess0 color to emissive. I do this for very bright material effects on opaque meshes so they are not affected by cell shader.

  • @ShoryYTP
    @ShoryYTP 3 ปีที่แล้ว +2

    thanks. like, a lot

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว

      You're very welcome! I hope it comes in handy :)

  • @yellowduckgamedev
    @yellowduckgamedev 2 ปีที่แล้ว

    me vibin to the background music

  • @ty_teynium
    @ty_teynium 3 ปีที่แล้ว +1

    Hey! have you got an update on the metallic Materials? I thought about just turning the metallics down to zero.

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +2

      Turning them to 0 will be good for now - I'm filming a video later tonight about the Metallic hackery to make things look shiny :)

  • @XxLocodragonxX
    @XxLocodragonxX 3 ปีที่แล้ว +2

    Do a stylized water shader tutorial!

  • @Strawboie
    @Strawboie ปีที่แล้ว

    Is the environment in this video from an asset pack? Can't get my grass to look like this.

  • @maticsutar8062
    @maticsutar8062 2 ปีที่แล้ว +1

    Hello, thanks for the tutorial. There is one thing that isn't clear to me. If you look at the output of the first few nodes you made, meaning after the first division, you get the mask you're using for the cell shader. I noticed that the sky is black, so how comes that after all the if statements it get's colored in white? And second question, do you know what happens when you divide something with 0 in material editor?

    • @PrismaticaDev
      @PrismaticaDev  2 ปีที่แล้ว

      Hey! Great question. It's to do with Unlit materials, since they have a diffuse value of 0. This ties in to your second question! When you divide something by 0, the result is infinity haha hence the blinding whiteness. There are a few fixes in the description to fix bright/dark spots and skyboxes :)

    • @maticsutar8062
      @maticsutar8062 2 ปีที่แล้ว +1

      @@PrismaticaDev Hello, thank you for the quick answer :D I was guesing it would work the way you described it but what I got after the division with 0 was 0 and that was wird so I thought it was just how ue4 handles division by 0. However when I tried it again today it worked as expected.
      nyway thanks again for great and entertaining videos

  • @user-dt2zz9jv9w
    @user-dt2zz9jv9w 8 หลายเดือนก่อน

    Quick question... how to add the redner customDepth pass to this blueprints? so I want only background to be cell shaded, but not my character.

  • @Maladrum
    @Maladrum 2 ปีที่แล้ว +2

    OI, you in the comments! Having trouble with this shader making everything noisy? Getting black shading around unlit materials, even? Here are some solutions for you! Disclaimer: I may not know how much more expensive these solutions really are.
    1) Okay, so you're dealing with awful noise. To fix this, go ahead and make sure you've set the "Blendable Location" value inside your Cel Shader material to "Before Tonemapping". From documentation: "It fixes issues with temporal anti-aliasing (TAA) and GBuffer lookups."
    2) Okay, so you're dealing with your unlit materials in the scene being shading completely black. To fix this, tell the shader to mask those out. How I did this is I replaced any "DiffuseColor" SceneTexture node with these collapsed nodes:
    Take the node SceneTexture:BaseColor (for lighting), desaturate that, and plug its color output it in for A in an IF statement node. plug "0" in for B, then the BaseColor Color output goes into A>B. Finally, PostProcessInput0 can be plugged into the == and < inputs for that if statement. The result is your scene's base colors after masking out unlit areas.

    • @sarahlynn7807
      @sarahlynn7807 ปีที่แล้ว +1

      Thanks so much for 1) I was wondering why everything was jittering and looking horriffic.

  • @mattiaminetta2504
    @mattiaminetta2504 3 ปีที่แล้ว +6

    I love you

  • @thumbsup08
    @thumbsup08 ปีที่แล้ว

    After adding the Cel-Shader to my game, my player character's shadows seem very dark. From behind, their back looks almost completely black. I tried adjusting the black tint, but it did nothing. What should I do?

  • @Ohbowz
    @Ohbowz 2 วันที่ผ่านมา

    I was able to make this work a few months ago, but now it doesn't th-cam.com/video/RkFwe7JI8R8/w-d-xo.htmlsi=CgfhwIIhrpf_U_oO&t=654
    I did upgrade to 5.4. Did something change?

  • @PerryPadley1998
    @PerryPadley1998 3 หลายเดือนก่อน

    sorry new to all this, what do you mean by 'A less than B = the cel shader' what do i connect to a less than b as my scene is black and white

  • @djcoll123
    @djcoll123 ปีที่แล้ว +1

    Great Tutorial but expect "7 Deepest Shadow" and "8 Black" resulting weird unwanted very Black Areas were slowly goes away if your camera goes to it atleast in Unreal Engine 5.0.3 happens this

    • @storeboughtrocketgames2560
      @storeboughtrocketgames2560 ปีที่แล้ว

      That's due to the exposure. You can add a post processing volume and reduce the exposure levels, or turn it to manual to turn it completely off if you want to get rid of this. I also ended up turning up the black level from 0 to something really small, like 0.007 or something like that to make the shadows less intense. Hope that helps someone.

  • @mouradhajaji5227
    @mouradhajaji5227 3 ปีที่แล้ว +1

    Thank you

    • @PrismaticaDev
      @PrismaticaDev  3 ปีที่แล้ว +1

      All good Mourad :) Hope you found it useful!