Godot Custom Post Processing : A Comprehensive Guide !

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

Комментарии • 67

  • @underbikingrules
    @underbikingrules 11 месяцев назад +65

    Thank you Lukky! You are an asset for the godot community!

  • @mazovist
    @mazovist 9 месяцев назад +5

    you are seriously the best godot channel on youtube

  • @MrOnosa
    @MrOnosa 11 месяцев назад +2

    This was the perfect guide. I've been learning about shaders, but no other videos actually take me by the hand to use an existing shader and write a custom shader. Instead of just showing us cool effects shaders can do, you showed us exactly where to go and what steps to take to make them ourselves. You've taught us how to fish today. Thank you.

  • @marius35mm
    @marius35mm 8 месяцев назад +1

    THANK YOU! I have spent a whole day trying to make post processing work, in my already in progress video game.

  • @AnatolBogun
    @AnatolBogun 4 месяца назад +3

    Fantastic video, thank you so much! I learnt a lot.
    I tried a spatial shader in Godot 4.3 beta 3 because I want to get a depth map shader to work for some post-processing. I tried your base_shader and it just didn't work.
    When the QuadMesh was just used as an item in the scene, it did work with flip_faces: false, but with the POSITION code in the shader's vertex section so that it covers the entire view, it didn't.
    Eventually, I figured out I had to change the POSITION line from
    POSITION = vec4(VERTEX, 1.0);
    to
    POSITION = vec4(VERTEX.xy, 1.0, 1.0);
    (Keep flip_faces: true)
    I'm not 100% sure if the 1.0 z-value is ideal, but it does work now. So there must be some changes to shader code in the latest Godot version. (It did give me a warning about that line, but it took me a while to figure out that POSITION = vec4(VERTEX.xyz, 1.0) does not work.

  • @WiLDbEAsTGameSHere
    @WiLDbEAsTGameSHere 11 месяцев назад +2

    I am truely blessed that i subscribed you because when I was loosing faith you came there to help me with exactly what i needed

  • @Chareidos
    @Chareidos 5 месяцев назад

    Thanks again for this Tutorial. You are really becoming the Guru of Godot!
    I am only getting slowly and very cautiously my hands on Materials and Shader. Only on the Beginner level and have a long way to go.
    Want to go the path using decals and/or blending materials, for example to show an Android loosing it's artificial Skin and showing the Synthetic Structures beneath wherever it took a hit or clothes, armor and other equipables getting dirty/rusty/bloody or whatnot.
    You are a great help and an inspiration!

  • @Whataredoing229
    @Whataredoing229 11 месяцев назад +1

    We are lukky to have you in the godot community

  • @Fernan3D
    @Fernan3D 9 месяцев назад +1

    Este es el mejor canal de Godot en todo youtube, hay otros buenos, pero este es el mas didáctico, gracias por la divulgación.

  • @almu.9637
    @almu.9637 Месяц назад

    Hey, love your channel ! You got a very relaxing voice and the topics are always interesting.

  • @nestorpiedraquesada2954
    @nestorpiedraquesada2954 11 месяцев назад +2

    Lukky you are amazing! This content is pure gold

  • @MrBoko1234
    @MrBoko1234 11 месяцев назад +17

    One of the best channels for learning Godot! I think i speak for the whole community - thank you for creating these videos and putting so much time and effort into teaching us !

  • @theyellowarchitect4504
    @theyellowarchitect4504 7 месяцев назад

    You have many great videos, but this outsurpasses them **all**
    Thank you for such an excellent guide on a sadly obscure topic

  • @nullvoid3545
    @nullvoid3545 11 месяцев назад +9

    Hey check out the new rendering effects added about 2 months ago.
    They let you insert passes into the shading pipeline, although it still has some limits and requires writing your code in GLSL using an external editor instead of GSL in Godot.
    Bastiaan Olij has A livestream on their channel showing this off by creating A godray shader.

  • @williamli401
    @williamli401 2 месяца назад

    For newer viewers trying out this tutorial, if the vertex code doesn't work, then enable flip_faces to true on the mesh instance, and replace the POSITION = vec4(VERTEX, 1.0) with POSITION = vec4(VERTEX, 0.0). I don't know why it works, but it does. Thank you to @AnatolBogun for the help.

  • @ShiroCh_ID
    @ShiroCh_ID 11 месяцев назад

    seems my reshade tweaking knowledge finally somewhat shared here

  • @not-a-lot-of-options
    @not-a-lot-of-options 3 месяца назад +1

    This video is incredibly helpful and a fantastic intro to shaders.
    But you cannot call it a "comprehensive guide" while only teaching basic concepts and saying "do your own research".

  • @ElementalTJ
    @ElementalTJ 11 месяцев назад +1

    I easily added the CRT shader to my first game Pong and it works great!!

    • @lukky.
      @lukky.  11 месяцев назад +2

      Awesome! Glad I could help :)

  • @moldybot9387
    @moldybot9387 11 месяцев назад

    Actually just what I needed. Thank you

  • @joshuamorris1851
    @joshuamorris1851 11 месяцев назад

    Awesome. Not many resources regarding this. Thank you!

  • @spectralo
    @spectralo 11 месяцев назад

    Oh! I was looking a while ago for this video. Thanks !

  • @themghicks
    @themghicks 11 месяцев назад

    Excellent video as always!

  • @CausticTitan
    @CausticTitan 2 месяца назад +1

    You and @DevLogLogan are going to be mostly responsible for the next indie renaissance

  • @atharvathegreat6662
    @atharvathegreat6662 6 месяцев назад

    Great tutorials man.

  • @AlexanderFarber
    @AlexanderFarber 4 месяца назад

    Thank you for the great tutorial.
    I have a really stupid question though:
    Why is CanvasLayer offset, why is it not covering the scene behind it - and still it works and the effect is applied to the whole screen?
    Same for the CanvasLayer2 with Label, at 4:04 timestamp - the label is shown at origin, but when you play the scene, the label is on the top-left corner of the screen.

  • @oxdeadbeef
    @oxdeadbeef 11 месяцев назад +1

    I couldn't get spatial effects working properly with transparent materials since they are always rendered after the quad
    I wonder if there are any known workarounds for this?

  • @paulooliveiracastro
    @paulooliveiracastro 2 месяца назад +1

    Can't you implement the 3D shader, as is, with a canvas layer like you did with 2D? Why is that done differently?

  • @lionliing.gamedev
    @lionliing.gamedev 11 месяцев назад

    Great video! Thank you lukky

  • @misterpopo3736
    @misterpopo3736 11 месяцев назад +1

    hey that's my crt shader....
    it's just a shadertoy convert anyway. 🙃
    shadertoy is a great inspiration
    edit: you should make the fog color an uniform 15:40.

  • @AndreaTerenziani
    @AndreaTerenziani 5 месяцев назад

    It should be noted that 4.3 flips the range of the depth so the depth linearization and the vertex() shader used here are broken..

  • @gezbob3508
    @gezbob3508 11 месяцев назад +1

    Another excellent video @lukky. Do you think you could do a video on a good workflow for importing modular environment assets in godot? For example modular kits to build levels that all shared the same trim sheet material, where each of the meshes is exported individual as gltf of glb. I find this workflow is godot quite troublesome and there are no decent resources that directly address this. And also how best to reimport individual assets after going back to 3d software to make last minute changes. You’re probably the best godot tutorial guy so I’d be really grateful if you can cover this please 😊

    • @nullvoid3545
      @nullvoid3545 11 месяцев назад +1

      I have found that getting (in my case) Blender to export separate GLTF files with A shared MTL file also saved separate to be difficult on account of having to customize the exporter.
      I would instead recommend making import scripts in Godot to handle placeholder textures and swap them with the right textures on import.
      Or if you would prefer the material be editable in your DCC as easily as the meshes then you could export the meshes as one massive GLTF file that gets split up into the parts you need them in using import scripts.
      What I want for my own exports, includes an intermediary tool that handles combining GLTF files from the components of others so that A set of separate GLTF files can each share references to an external MTL file much like your looking to do.
      Best of luck!

    • @gezbob3508
      @gezbob3508 11 месяцев назад +1

      @@nullvoid3545 thankyou. I will reevaluate my strategy. A lot of useful info here. I am kinda struggling to see why packaging blender models as scenes is better than as meshes like .fbx to be honest. The push towards .usd and .gltf seems a bit odd to me but maybe I’ll ’get it’ eventually. Thankyou!

  • @breadman7733
    @breadman7733 11 месяцев назад

    So useful !! Thank you

  • @volf7f8
    @volf7f8 11 месяцев назад

    Thanks a lot! you explained everything so well!

  • @99JasonKim
    @99JasonKim 11 месяцев назад

    2d has backbuffercopy, i think that will do the multipass work too~

  • @MrHamerb
    @MrHamerb 5 месяцев назад

    I'd love to know more about what does and does not work in the next pass for 3d shaders

    • @kirkanos771
      @kirkanos771 5 месяцев назад

      a year past since the video, a lot of things changed.

  • @cs3705
    @cs3705 11 месяцев назад

    I just found your channel and have been trying out your tutorials and they are really good! I have a request, if it's something you think you can do. I have an inventory system where items extend a custom resource, so instead of having all weapons stored in memory and swapped to via hotkeys, I have it so you can pick up weapons into your inventory, then drag and and drop them into a slot. I have the weapon camera/anims/logic/etc., but I'm struggling to combine the two in a way that isn't coupled spaghetti code. Would you be willing to make a tutorial on integrating weapons with an inventory system?

  • @BurritoByte
    @BurritoByte 11 месяцев назад

    Thanks for sharing, I'll definitely mess around with this! :^)

  • @my2cents795
    @my2cents795 11 месяцев назад +2

    Hey, do you happen to know a way to render transparent objects with a 3D post processing shader ? I've made a fog of war shader but unfortunately all my assets with alpha channels (transparency) in my scene are not rendered at all :(

    • @UODZU-P
      @UODZU-P 10 месяцев назад

      Try setting the post processing quad to have its Z outside the camera render distance (like -4000). It seems to be something to do with render priority and you can hack the priority by setting it further away.
      This should be done with the quad as a child of the camera

  • @ClockworkGearhead
    @ClockworkGearhead 11 месяцев назад

    Is it possible to get the equivalent of a "all nodes explained" for GDScript? Maybe important functions? Or is it just too big to cover?

  • @convolution223
    @convolution223 5 месяцев назад

    Can't use your shaders, it says error: only available with Forward+ backend

  • @joschi1616
    @joschi1616 Месяц назад

    10 months gone by, is there allready a way for multi pass spatial shaders? If yes, can you do a video on this maybe?

  • @goblin_atlass
    @goblin_atlass 11 месяцев назад

    Please make a tutorial on wallrunning in godot 4! The only one on youtube is for godot 3 and it only works with Garbaj's movement system so i really cant modify it myself to get it working on godot 4

  • @Vince96711
    @Vince96711 11 месяцев назад

    Epic style

  • @renemorales5480
    @renemorales5480 5 месяцев назад

    gracias hermanito

  • @owenlloyd2528
    @owenlloyd2528 11 месяцев назад

    Thank you

  • @duolc_7
    @duolc_7 11 месяцев назад

    Nice video 👌

  • @flaviopsilva_
    @flaviopsilva_ 11 месяцев назад

    Nice!!😃

  • @99JasonKim
    @99JasonKim 11 месяцев назад

    good job

  • @granfalloon9758
    @granfalloon9758 11 месяцев назад

    I would like a lesson about panini or fisheye shader

  • @skave7228
    @skave7228 3 месяца назад

    I can't seem to get the Depth Texture to dsiplay. And doing the fog shader only affect the skybox. Any idea why ?

    • @77eight8
      @77eight8 2 месяца назад

      Had the exact same issue. Did you find a solution?

    • @skave7228
      @skave7228 2 месяца назад +1

      @@77eight8 unfortunately I did not, as it us not important for now I've not looked much into it. But if like me you want to do a simple depth fog, Godot 4.3 is supposed to have one in its environment node.

    • @77eight8
      @77eight8 2 месяца назад

      @@skave7228 Thanks! I'll take a look and see how it works!

  • @jozef18591
    @jozef18591 11 месяцев назад

    nice... very nice.

  • @spikex1977
    @spikex1977 11 месяцев назад

    hello Godot_v4.2 smoke fire tutorial I wish from you because the tutorials all do not work that there is on youtube for the version 4.2 ds everything does not work.

  • @gabriel-xh8uo
    @gabriel-xh8uo 11 месяцев назад

    Please make a mobile version as well

  • @Rhedox1
    @Rhedox1 11 месяцев назад

    Using a quad for post processing is such a stupid and inefficient workaround.
    Why doesn't Godot just let you use a custom fullscreen triangle or better yet, a compute shader?

    • @nullvoid3545
      @nullvoid3545 11 месяцев назад +3

      Theyre working on ways to add passes to the renderer currently and just recently added the first iteration of rendering effects to do just this.
      Bastiaan Olij currently has A livestream uploaded where he demonstrates using this feature and has some links in the description to the only existing documentation since this is new and undocumented last I checked A few weeks ago.

    • @_-_o-o_-_
      @_-_o-o_-_ 11 месяцев назад +2

      You should implement that and make a PR

    • @zarya_games
      @zarya_games 11 месяцев назад

      You can add a viewport to your tree and add a shader to that. You don't need a quad

  • @miusoft
    @miusoft 8 месяцев назад