MORE VFX Shader Techniques ft. Godot

  Рет қаралды 30,181

onetupthree

onetupthree

Күн бұрын

Пікірлер: 102
@giorgimaisuradze2711
@giorgimaisuradze2711 Жыл бұрын
You don't even know how much you doing for godot community by making godot shader tutorials, me and probably many other godot devs are really thankful for you. Thanks a lot!❤
@onetupthree
@onetupthree Жыл бұрын
thank you so much 😭 glad i could help!
@BomboKlaut
@BomboKlaut 6 ай бұрын
@@onetupthreeITS TRUE
@LeftAreola
@LeftAreola Жыл бұрын
These videos are incredible! Thanks for taking the time to make them
@onetupthree
@onetupthree Жыл бұрын
thank you so much 🙇‍♂
@Arsvarg8
@Arsvarg8 2 ай бұрын
Texture packing blew my mind!!
@onetupthree
@onetupthree 2 ай бұрын
it's very neat !
@molgeraxproductions6671
@molgeraxproductions6671 11 ай бұрын
This might be a little late, but you can just use a boolean in a shader as an integer with value 0 or 1, so you dont have to jump through the hoop of all that extra calculation. So: finalCol = lerp(backCol, frontCol, FRONT_FACING); would do the trick. Otherwise, why would Godot supply us with the value FRONT_FACING if we weren't allowed to use it? ;) On another note, using if statements in shaders is frowned upon, yes, because they conflict with the parallel nature of shaders. But that usually means that all paths an if-statement could take will be computed for all pixels, which is where the big performance spike would happen. If the if-statement only assigns two different values, like in this case right here, then it shouldn't have any large impact on performance at all.
@morgan0
@morgan0 Жыл бұрын
for packing 3 grayscale textures into one rgb in affinity (and i assume photoshop), in 3 groups, multiply with a pure single channel rectangle, then set each group to add blend mode over a black background. also affinity photo’s procedural texture effect (which kinda is made worse by not having easy ways to save equations) can generate textures with 1, 2, or 3 colors from pure math. supposedly it should be able to define functions and variables to split it up into multiple statements but i couldn’t get that to work so i put it in one statement per channel. i used it to create some channel packed gradient and random sines i used in a muzzle flash effect, although from what i used, i could’ve just exported one grayscale image.
@onetupthree
@onetupthree Жыл бұрын
this is awesome ! thanks for the info 🙏🙏
@morgan0
@morgan0 Жыл бұрын
@@onetupthree no problem
@qwfp
@qwfp Жыл бұрын
Thanks for sharing the secret knowledge with us! For backface colors, wouldn't it be easier to just do "float(FRONT_FACING)"? I'd assume that this internal conversion is more efficient that an if statement or the calculations done in the video.
@onetupthree
@onetupthree Жыл бұрын
ngl i did NOT know u could do that 😭 couldve saved some time 🤣 thanks for the tip!!
@diamon_darms
@diamon_darms 11 ай бұрын
nice
@Garvep
@Garvep Жыл бұрын
Great video! Can`t wait for more
@onetupthree
@onetupthree Жыл бұрын
thank you 🙇‍♂️
@flamelizard
@flamelizard Жыл бұрын
A good alternative to Substance Designer is Material Maker 👍🏻 you can do the texture packing there too. Otherwise Gimp is your friend
@onetupthree
@onetupthree Жыл бұрын
oh right 😳cant believe i forgot to mention that thanks !
@purplepixeleater
@purplepixeleater 10 ай бұрын
when yu said "something..." that made me realize the power of that + sdf in compute shader lol
@ivensauro
@ivensauro Жыл бұрын
can you make a video making a effect from the start? making the texture and putting all together on godot?
@onetupthree
@onetupthree Жыл бұрын
ill think about it but that feels more fitting for something like a stream than a video 🤔
@BlueOctopusDev
@BlueOctopusDev Жыл бұрын
YEEE A TUTORIAL i love your videos
@onetupthree
@onetupthree Жыл бұрын
thank you so much 😭🙏
@waffleawt6570
@waffleawt6570 Жыл бұрын
Guess who's back
@onetupthree
@onetupthree Жыл бұрын
back again 😎
@millerbyte
@millerbyte 11 ай бұрын
Hey. Hey you. I appreciate you, thanks for making these videos.
@onetupthree
@onetupthree 10 ай бұрын
thank you so much 🙌
@daniridao
@daniridao Жыл бұрын
Very nice, hope to see a lot more of these
@onetupthree
@onetupthree Жыл бұрын
will do my best 🥳
@Relivino
@Relivino Жыл бұрын
How did you make the Glow in #4? Did you use the WorldEnvironment?
@onetupthree
@onetupthree Жыл бұрын
yup! bloom and everythin 👌 im making a vid about my personal vfx scene setup soon
@Relivino
@Relivino Жыл бұрын
@@onetupthree Awesome, thank you for the amazing work you're doing!
@magnuspedersen5751
@magnuspedersen5751 Жыл бұрын
this is so awesome
@onetupthree
@onetupthree Жыл бұрын
glad to hear it ! 🙇‍♂
@simonw.1223
@simonw.1223 Жыл бұрын
How do I kn9w all off these effects
@Fusionfalls10
@Fusionfalls10 Жыл бұрын
Hi first time I arrived to your channel and was amazed at some of the techniques shown such as back face coloring (given I've more commonly seen back face culling). Was wondering though if you'll make a tutorial on the slash effect used on the night elf scythe slash (not the banana wave, the slash from swinging the scythe)?
@onetupthree
@onetupthree Жыл бұрын
glad to hear it ! :D and you're in luck bc the night elf scythe breakdown is my next video 😎
@Fusionfalls10
@Fusionfalls10 Жыл бұрын
​@@onetupthreelet's goooo! That slash effect is by far the coolest one I ever saw so I look forward to it.
@zzzzzzzzzzzzzzzzzzzzzzzzzzzz__
@zzzzzzzzzzzzzzzzzzzzzzzzzzzz__ Жыл бұрын
Praise be, vfx bruther
@OLMQ-01
@OLMQ-01 Жыл бұрын
thank you!
@RushedYT
@RushedYT Жыл бұрын
ive only used godot for a week but is it possible to make shaders like this for 2D scenes/projects?
@onetupthree
@onetupthree Жыл бұрын
hi ! yes but i think my other video is more applicable to 2D since this one relies on vertices and backfaces :O i linked the other video in the description now too if you want to check it out :D the main difference with working with 2D is that the shader type is canvas_item rather than spatial 👌 but most effects can be translated
@RushedYT
@RushedYT Жыл бұрын
thank you! ill take a look :)
@Loukpro_Godot
@Loukpro_Godot Ай бұрын
Hello can I get a little help? I wanted to make the vertex shader. I copied everything exactly as it is shown here but I only got a black shiny ball not the effect that I wanted. Any ideas what did I possibly miss?
@onetupthree
@onetupthree Ай бұрын
hi! is it the vertex offset one? :O can i see a snippet of your shader's vertex stage? edit: send over the whole shader actually also there's a free post on my patreon with the VFX source files i made for this video for reference if you want👌
@Loukpro_Godot
@Loukpro_Godot Ай бұрын
@@onetupthree What do you mean about the offset set to 1? Yeah do you have discord so as I can send it to you? As for the patreon I can't see it because it needs to pay and although I find you great I still don't have my own credit card xD.
@Loukpro_Godot
@Loukpro_Godot Ай бұрын
@@onetupthree What's more I don't know where to place the shader material in surface material override or in the mesh/material section?
@onetupthree
@onetupthree Ай бұрын
@@Loukpro_Godot noo no worries about being member 🤣 i just meant that you can view and download the source files from a free post ! (or at least i thought people could if it was marked free :O) and do you have a twt or bluesky? :D we can talk there or if you really prefer discord i can send over my username through those as well
@Loukpro_Godot
@Loukpro_Godot Ай бұрын
@@onetupthree OH my bad I just saw that the shaders are free to patron. I downloaded it, compared it to mine and found what was missing and now I just mess around 😅. I only have discord sry😅. I don't even know what bluesky is actually...🤣🤣🤣
@AgriasOaks99
@AgriasOaks99 Жыл бұрын
Wohoo, yes!
@onetupthree
@onetupthree Жыл бұрын
🥳🥳
@my2cents795
@my2cents795 Жыл бұрын
Hello ! Can you make a tutorial for a custom post processing effect for a screen reading shader ? All I've found online so far is shaders using "hint_screen_texture" which doesn't contain transparent objects :( So they don't work for any game that has semi transparent sprites, objects ...
@onetupthree
@onetupthree Жыл бұрын
hi ! tried doing the same for my mech explosion effect impact frame but unfortunately no luck with the hint_screen_texture method :'( if i do find a way tho i'll let you know ! :)
@my2cents795
@my2cents795 Жыл бұрын
@@onetupthree Thanks! I really appreciate it !
@qwfp
@qwfp Жыл бұрын
I think that you could achieve what you're looking for with viewports. I.e., have the world in a viewport and then add custom shader to the viewport
@my2cents795
@my2cents795 Жыл бұрын
@@qwfp I did try that with no luck. I couldn't pass the viewport texture as a sampler2D to replace the hint_screen_texture no matter what I tried so I just gave up. If you know a demo project somewhere, please point me to it, I'd appreciate it. Anyway, apparently, some stuff are in the pipeline for Godot 4.3 that will make this possible.
@hanadasongs9142
@hanadasongs9142 Жыл бұрын
I don't understand nothing of vfx, by the way it's fun watching everything and following your content
@onetupthree
@onetupthree Жыл бұрын
i appreciate you dropping by still 🙏 thank you!
@kuzuru
@kuzuru Жыл бұрын
You. Are. Amazing. ♥
@onetupthree
@onetupthree Жыл бұрын
thank you ! 😳
@teo2805
@teo2805 Жыл бұрын
More please!
@renatocesar9972
@renatocesar9972 11 ай бұрын
could you give the code for it? I really wanna see some examples
@onetupthree
@onetupthree 11 ай бұрын
hi ! the source files for this one is on my patreon for free 🙇‍♂
@zataritamods7499
@zataritamods7499 7 ай бұрын
Are you really not supposed to use if statements in shader code? Is it like regular programming where it tries to use branch prediction? If that's the case you could use some tricks from branchless programming, completely drop the vertex part of the shader, and simplify the front facing calculation it to the following vec4 color_tex = mix( texture(texture_color_back, vec2(0.0)), texture(texture_color_front, vec2(0.0)), float(FRONT_FACING) ); basically float(FRONT_FACING) will return 1.0 if front facing and 0.0 if back facing. This will then be used for the weight in the mix function to pick which texture to use. Greatly reducing the amount of function calls needed while also not using your "cringe if statements". Not trying to undermine you, love the video 🥺👉👈 it might just be a bit easier and more efficient c:
@onetupthree
@onetupthree 7 ай бұрын
hi ! the if statement thing being inefficient i've been told is a bit outdated 🤔 so your method is completely valid :D (someone else a while back suggested the same thing) and no worries about correcting/suggesting better methods 😤🙏 it's always great to learn new things and I'm glad people care enough to do so
@centigames
@centigames Жыл бұрын
Wow, this is an awesome tutorial. Nice examples. graphics, explained everything well! Amazing work! You definitely earned a sub/bell
@onetupthree
@onetupthree Жыл бұрын
thank you so much 🙇‍♂
@makeitfunnyy
@makeitfunnyy Жыл бұрын
You are amazing 🤩
@onetupthree
@onetupthree Жыл бұрын
thank you 🥳
@archyevaldes1421
@archyevaldes1421 6 ай бұрын
So cool
@sigitsatriap6505
@sigitsatriap6505 Жыл бұрын
more videos pls !
@onetupthree
@onetupthree Жыл бұрын
of course! 👌
@0HHC
@0HHC 7 ай бұрын
0:22 I laughed so hard 😂
@grundxgames
@grundxgames 5 ай бұрын
From my knowledge doing unity like that in the intro they could sue... But i am no lawyer and i liked the joke :) Thx for the tutorials, butchering logos is a wonky topic tho, be careful, just saying.
@OgrandeJunio14
@OgrandeJunio14 Жыл бұрын
mais vídeos desse por favor
@simonw.1223
@simonw.1223 Жыл бұрын
But how do I know?
@onetupthree
@onetupthree Жыл бұрын
sorry can you elaborate on your question? 🙇‍♂️
@simonw.1223
@simonw.1223 Жыл бұрын
@@onetupthree how fo I know all pataneters for the vertex shader
@onetupthree
@onetupthree Жыл бұрын
@@simonw.1223 if you mean all the built-ins you have access to, they're all in the documentation :D docs.godotengine.org/en/stable/tutorials/shaders/shader_reference/spatial_shader.html
@simonw.1223
@simonw.1223 Жыл бұрын
@@onetupthree thanks I am already reading the docs
@99JasonKim
@99JasonKim Жыл бұрын
wizard!!!
@luskarian
@luskarian Жыл бұрын
I love you even more now
@onetupthree
@onetupthree Жыл бұрын
@tinyctr7433
@tinyctr7433 Жыл бұрын
太牛了
@Relivino
@Relivino Жыл бұрын
So why the if statements are cringe in shaders? Could be worth doing a video tutorial on that!
@onetupthree
@onetupthree Жыл бұрын
not sure if I'm the best person to talk about shaders at that level 🤔😭 a lot of the answers for this are 'it depends' (as with most game dev problems) and I did that transition in the video more as a way to explain how someone /could/ implement backface colors if the engine they're working with doesn't have the FRONT_FACING option that said tho the link below is a pretty good explanation re: the if statement question stackoverflow.com/questions/37827216/do-conditional-statements-slow-down-shaders/37837060#37837060
@pythonixed4448
@pythonixed4448 6 ай бұрын
“output = input*enable + input2*(1-enable); is functionally equivalent to the if statement.” I don’t get it. 😅
@Siberiius
@Siberiius Жыл бұрын
Very Noyce 😍
@onetupthree
@onetupthree Жыл бұрын
thank you ! 🎉
@Fireinthedarkness666
@Fireinthedarkness666 Жыл бұрын
Wow, I'm early
@onetupthree
@onetupthree Жыл бұрын
hell yea 😤🙏
@americoperez810
@americoperez810 Жыл бұрын
First!!
@onetupthree
@onetupthree Жыл бұрын
nice 😤🙏
@AlexanderWC
@AlexanderWC 6 ай бұрын
(please pay $0.20 to view comment)
@onetupthree
@onetupthree 6 ай бұрын
noooo 😱
Common VFX Shader Techniques ft. Godot
7:07
onetupthree
Рет қаралды 55 М.
Making Effects with Godot Visual Shaders
18:15
Daniel Ilett
Рет қаралды 24 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Extra Ordinary VFX
11:01
onetupthree
Рет қаралды 9 М.
Making a CRT Shader Effect - Using Godot Engine
17:28
DevPoodle
Рет қаралды 2,8 М.
Stylized Sky Shader Day and Night Cycle - Godot 4.3 Tutorial
13:38
So I Made A Water Shader In Godot 4 And It Was Quite Simple
11:32
An introduction to Shader Art Coding
22:40
kishimisu
Рет қаралды 1 МЛН
GODOT VFX - Sci-Fi Barrier Shield Effect Tutorial
17:43
Gabriel Aguiar Prod.
Рет қаралды 5 М.
The Environmental Impact of VFX
11:17
onetupthree
Рет қаралды 11 М.
Night Elf Scythe - VFX Breakdown ft. Godot
6:43
onetupthree
Рет қаралды 9 М.
GODOT TUTORIAL: Shockwave shader for noobs
15:48
Nolkaloid
Рет қаралды 56 М.