At first, the episode seemed like a standard commonly known method, but optimization turned it 180 degrees, creating a brilliant episode !
@seansopata512111 ай бұрын
I gotta say .. the new "Named Reroute nodes" are freaking awesome.
@HammaGaming11 ай бұрын
Can you please add surface ripple for objects like when you step on a pond or swimming !
@MrPangahas10 ай бұрын
how do you like incorporate these with like a global wind so the waves can be larger for like a.stormy scene?
@LuxAlibi11 ай бұрын
Fantastic tutorial, thank you! Just one question: why don't you just take the normal map texture as it is and compress it as DXT1 no sRGB, and then use the R and G channels? Your texture is very small and it doesn't really make a big difference, but with a bigger texture getting rid of the Alpha channel would have saved some memory. Also you wouldn't need to edit it in Photoshop. Does what I say make sense or am I missing something essential? 🙂 Thank you!
@BenCloward11 ай бұрын
DXT1 is not kind to normal maps. It causes blocky artifacts that I'm avoiding with this method. So I'm using a little bit more texture memory to get better quality. The technique you're describing would work fine and it would use less memory, but the ripples would look at little off due to the compression artifacts.
@LimyChitou6 ай бұрын
Can you recreate water from the talos principle?
@MustafaBerkeGureltol11 ай бұрын
Why did you store the info in the normal map's red channel in the new texture's alpha channel? Is it to gain more precision?
@BenCloward11 ай бұрын
Yes, when using DXT5, the alpha channel gets the same amount of bits as the other three channels combined - so it’s the channel with the highest quality.
@matheusreidopedaco19 күн бұрын
Hey, it seems that the normal map you provided in the description doesn't need the swizzle for Unity at least.
@usercontent211211 ай бұрын
Thanks Ben. I'm going to watch this class right now!
@usercontent211211 ай бұрын
I really enjoyed this class :))
@MarkOfArgyll11 ай бұрын
Fantastic stuff as usual sir! 🤓 Completely immersed in these aquatic tutorials🤪
@BenCloward11 ай бұрын
I see what you did there. :P
@qp_fa11 ай бұрын
Sir. I want to be your patreon. Everything you shared is better than many courses I've seen. Thanks alot.
@BenCloward11 ай бұрын
Thank you! I’m not really in this for the money, but you’re always welcome to use the Super Thanks button below any of my videos to make a donation. I use that to upgrade my hardware when needed.
@3tomke11 ай бұрын
Bless you for all the materials you release
@dominikgomoka854111 ай бұрын
Great work! It really looks better with normal maps scrolling! Last week I tried to achieve similar detail in Unreal Engine but I was using two sets of sine waves - larger and smaller ones to crreate like primary waves and small distortion ripples. I ended up with somewhat jittery effect, even with very dense subdivided plane mesh and also tiling of the sine waves remained visible, no matter how I tried to break the pattern. I guess I'll try your normal map scrolling method instead but experiment with different maps ;)
@おおみみず4 ай бұрын
When I enlarge this material, the GerstnerWave is also enlarged. Is there a way to deal with this in UE?
@Theironlefty11 ай бұрын
Calculating the normal UV in Vertex seems to change how it looks, probably because of the previous vertex deformation, you can see it in both UE/Unity versions.
@choud-cc11 ай бұрын
depends on the poly count of the mesh you're working with
@pinobeppe44283 ай бұрын
I don't know if it happened to others too, but if at the end of the unreal part when Ben puts the vertex interpolator between the BlendAngleCorrectedNormal, and for some reason black points are created on the water plane, I solved it by putting the first constant 3vector which it was at x-0.2/y-0.7 to x-0.2/y-.0.2
@mountain_tiger10011 ай бұрын
Hi Ben, You're apart of the Unity Shader Graph team right? When will tessellation support for Shader Graph (URP) be added? Effects like water and deformable snow rely on tessellation to work at scale. It is there on the roadmap for URP but it's under consideration.
@BenCloward11 ай бұрын
I am, yes, but as you might imagine, I'm not allowed to comment on future features. However, I do have an influence on what the team is working on, so I'll make sure people understand the importance of tessellation. Thank you!
@punkerspb11 ай бұрын
Thank you very much!!! How to make caustic?
@BenCloward11 ай бұрын
Here's my previous tutorial that shows how to create the caustic patterns: kzbin.info/www/bejne/b6uZdoCppNZ_ers
@punkerspb11 ай бұрын
Yes, I see. But I'm using Unity. But thanks anyway. I found a lot of interesting things on your channel.
@BenCloward11 ай бұрын
@@punkerspb In that case, I'll make a tutorial in a couple of weeks that shows how to do it in Unity as well. Thanks for asking!
@dominikgomoka854111 ай бұрын
Is there a limit to how many different normals ypou can combine with BlendAngleCorrectedNormals nodes? For me when I combine 3 gerstner waves and 3 panning textures the textures do not make any effect, when I reduce the number of waves they do. Did anyone happen to have an issue like that?
@suraj.188910 ай бұрын
i did use 3 normal maps and my result is a mess, adding normal maps to the main wave normal, makes the shader look too jiterry and whole mesh shows wierd shaking motion.
@caspgin11 ай бұрын
Great video! Is there any video on camera opaque texture that is in unity for unreal?
@BenCloward11 ай бұрын
Yes, I think I'm going to be covering that next week.
@Atl3m11 ай бұрын
Oooh can't wait for the next video ❤
@pshader866211 ай бұрын
Very informative and interesting! Thanks!
@tranceemerson832511 ай бұрын
what causes ripples on the surface of the water is the wind, and often the wind causes what's called standing waves in the water, and because the effect is wind driven, you will never see a perfectly consistently rippling surface, sometimes you'll see placid blotches in the water along with rippled sections, and the size of the ripples may vary depending on the wind speed and direction in the local area. I've never been completely satisfied with water in video games because the water in games looks too consistent, and the normal maps don't always give you the right shapes.
@BenCloward11 ай бұрын
These kinds of things can be done, but they always come with increased performance cost. As a game dev, the priority HAS to be frame rate/performance so we trade off effects that look completely real with something that looks "good enough" but runs at 60 fps.
@dominikgomoka854111 ай бұрын
I quess what you are talking about could be achieved with panning noise where black (value 0) disactivates the normal map and white (1) turns it back on, therefore creating what we observe as those areas where wind gusts cause small waves locally. But also what Ben says -this noise based effect would probably be more expensive performance-wise
@DillonBoucherDesigns11 ай бұрын
Ben, if I were to not adjust the normal map in PS, is it worth it to derive each normal using shader math independently still? I’d love if you went further with shader math in future videos! I’ve watched all your prior videos and can’t get enough. Thanks in advance.
@BenCloward11 ай бұрын
As LuxAlibi suggested in his comment, you could take the normal map as is without switching the channels around in Photoshop, save it as DXT1 and then follow this same process. You'd just get the X and Y of the normal from the R and G channels and instead of the A and G like I show in this video. It would work the same. But - DXT1 is not kind to normal maps. It causes blocky artifacts that I'm avoiding with this method. So I'm using a little bit more texture memory to get better quality. The technique you're describing would work fine and it would use less memory, but the ripples would look at little off due to the compression artifacts. The purpose of switching the channels around in Photoshop is to avoid the quality loss that the texture compression creates.
@DillonBoucherDesigns11 ай бұрын
@@BenCloward Awesome! Thank you so much for the reply, Ben.
@MarkOfArgyll10 ай бұрын
Something odd going on for me as the normal map file doesn't have any Alpha channel according to both Unreal and Gimp [Sorry PS lovers :D]. The really weird part is that it's the R & B channels that have data, G is blank. So perhaps due to that no amount of setting the compression etc will allow me to use a vertex interpolator plugged into their UVs. Tis weird indeed..