3D Perlin Noise Shader Tutorial - Godot
HTML-код
- Опубликовано: 14 окт 2024
- In this video I show you how to create a 2D and 3D Perlin Noise Shader in Godot 4.1 that can be used in a wide array of 2D and 3D Graphics applications.
Code Available on Github:
github.com/geg...
Socials:
Twitter - @gegamongy
Instagram - @gegamongy
Music by us! We will release some music soon :)
Tags:
great tutorial, very clear explaination
Thank you so much! Glad you liked it
Slick stuff. I'm about to dive into shaders in Godot soon, and this is exactly the kind of thing I need. Thanks. Got yourself a sub 👍🏽
Thank you!!! I have more shaders videos coming soon!
You make nice tutorials. Thank you for your work.
Thank you so much! Let me know if you have any tutorial requests!
Also nice background music
Thanks man my brother helped me make it 🙏
@@gegamongy I wanna meet him he seems awesome 😎
Great stuff! Would it be cheaper to just use a 2d noise texture and sample that in a third direction? Now you do a lot of computations each frame to generate it. I now that sampling a texture also is quite expensive so I am just wondering what is the cheapest method ( even if result would be a bit different )?
Yeah this way is definitely very slow, I really wanted to show what kind of coding goes into a completely customizable and configurable 3d perlin noise.
There's a few things you could do, sampling a 2d noise texture in a 3rd direction would give you an effect like the noise is the same all the way through the 3rd axis of the object (if you use the 3d noise generator in the vid, it would look the same as setting the noise scale to 0 on one of the axes)
A better way would be to take already generated 3d noise, and make a sprite sheet of 2d slices of the noise all the way through that 3rd axis, and sample all the way through like that. Much cheaper computationally.
was so frustrated when i downloaded the shaderv plugin just to find out the 3dnoise nodes arent working, this is great all i needed thanks!
Thanks! Also for the sake of shaders, I learned after I made this video that Godot has a built-in 3DNoiseTexture that can be set to a Sampler3D in the shader, and sampled with the texture() function in the shader. Hope this helps!
@@gegamongy we tried that first but generating the block of images takes too long and the result has a low resolution unless you make it huge, we're doing procedural skin generation for humans, like freckles and such. looks like we will be using a compute shader, but i will be using this as reference! thanks again : )
Glad it works for your case! I haven't looked into how the built in 3D Noise Texture worked, I'm glad that this works better!
Can you explain how to use this function I can't find much on it @@gegamongy
Oooooo I’ll have to do this later
Highly Recommend