Water Caustics - UE4 Materials 101 - Episode 27

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

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

  • @arturrosa3166
    @arturrosa3166 2 года назад +9

    I've watched many UE tutorials on YT and I must say you are the one that better explains everything. I leave your tutorials with a feeling I really learned something, I didn't just copy what you were doing, and I learned all there was to learn about the topic. Also the fact that you share your files, like in this case, is priceless. You are the best, hands down. Thank you very much.

  • @compadrelucas
    @compadrelucas 2 года назад +3

    this 5:30 to 5:36 emissive option is no longer available in UE5. I cant get the decal to work

  • @maxxmangione3900
    @maxxmangione3900 3 месяца назад +1

    This is absolute gold teaching !! Thank you so much for your sharing Ben !!

  • @reliquary1267
    @reliquary1267 2 года назад +5

    I've tried implementing this effect using many methods: Multiple spotlights, various blueprints, other light actors. I noticed a harsh performance hit using those methods and the effect was always hard to scale and hard to get a realistic look. This method is much more lightweight and easily scalable. Thanks for the tutorial!

  • @DeathWrench
    @DeathWrench Год назад +1

    You can apply this affect to the surface of the water as well, and if you plug in from the node plugged into the emissive, instead into refraction, it gives a cool effect of warping the stuff inside of the water. Just thought I'd share. The water needs to be surface translucent, and instead of the scene color, you use the mask RG from earlier in the video (16:49).

  • @jaumecoll6136
    @jaumecoll6136 3 года назад +1

    Thank you so much Ben, I'm very thankful I found your channel!

  • @SenEmChannel
    @SenEmChannel 4 года назад +2

    Wow, i never see decals can project 3 dimensions before. Thankyou for your knowledges

  • @unfututufu1
    @unfututufu1 4 года назад +3

    this video deserves more love

  • @Wertandrew
    @Wertandrew Год назад +1

    Would love to know if this material can be made in UE5 as well. Settings have changed and blend modes are no longer supported. If anyone knows how to do it with the new nodes (DBufferA?) would love to know

  • @ag1443
    @ag1443 4 года назад +3

    thank you Ben your shader tutorials are the best and most thorough out there!

  • @MaestroShark
    @MaestroShark 4 месяца назад +1

    Thank you sir! You do a great job explaining the content, and provided me with exactly what I needed!

  • @mrz3d852
    @mrz3d852 4 года назад +1

    You sir have just gained a new subscriber, your videos are very well explained and really easy to follow, thank you!

  • @jesseg.3371
    @jesseg.3371 4 года назад +1

    Thank you so much!! Thank you for providing the textures as well!!

  • @1_Man_Media
    @1_Man_Media 4 года назад +5

    I already had caustics decal and post process affects from other water stuff, make with the foam man. :) am j/k this was a great watch to learn how to create the caustics myself, loving your shader tuts man I hope your channel catches fire and you start cranking out tutorials for us. Thank you and I look forward to whatever you do next.

  • @piperhillman208
    @piperhillman208 3 года назад

    This is so great. I've been looking for something just like this for months

  • @saraklein846
    @saraklein846 4 года назад +1

    Thank You Ben,Your tutorial is so cool!!!

  • @变形金刚大战葫芦娃
    @变形金刚大战葫芦娃 3 года назад +1

    Thank You Ben!Your tutorial is cool and helped me a lot!

  • @TagV7
    @TagV7 Год назад +1

    thank you so much for your hard work!

  • @lamlam595
    @lamlam595 4 года назад +1

    what a excellent tutorial!! good job!!

  • @dimitriskoutris6139
    @dimitriskoutris6139 4 года назад

    Shaders make things look so pretty if u know what you're doing..ty for all this

  • @wizzardofsand1501
    @wizzardofsand1501 4 года назад +1

    Thanks for amazing tutorial!

  • @HDico2013
    @HDico2013 3 года назад +3

    This is great, Ben! Thank you very much for this tutorial. Unfortunately GBuffer scene texture, which I assume is the WorldNormal is not supported under Forward shading. Can you think of an alternative way of doing the caustincs?

    • @BenCloward
      @BenCloward  3 года назад +1

      You should be able to project using the vertex normal instead of the pixel normal. That will work pretty well.

  • @tioreVDi
    @tioreVDi 4 года назад +7

    Thank You Ben! your tutorials are amazing!
    Is there any way to fade the edges of the decal box and not get the hard transition? Thanks!

    • @lemonworm
      @lemonworm 3 года назад

      I know im pretty late on this but you could make a texture mask of a blurred shape and plug it into the opacity of the decal shader

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

    do you have a tutorial on controlling the settings of the WaterBodyOcean? thank you.

  • @camelotvfx
    @camelotvfx Год назад

    Hmm I've followed this method and gotten the triplanar projection working before in UE4, but it seems to no longer be working in UE5?

  • @NotGarrettT
    @NotGarrettT 4 года назад +3

    you know it's a good tutorial when there is 3,785 views and no dislikes

  • @stubbornox9522
    @stubbornox9522 2 года назад +2

    How made this in UE5?

  • @LibertyForAll-l3q
    @LibertyForAll-l3q 18 дней назад

    Thank you so much for this video it is very helpful!

  • @3dklassen
    @3dklassen 2 года назад

    @Ben The 2 textures you linked for this video so we could follow along no longer work. The link says "..Cannot be displayed because it contains errors."

    • @BenCloward
      @BenCloward  2 года назад

      Try right clicking on the link and selecting "save target as..." If that doesn't work, try using the Chrome browser instead.

  • @bumpbomb2512
    @bumpbomb2512 4 года назад +1

    Very useful,excellent

  • @SuperFoxyPaws
    @SuperFoxyPaws 2 года назад +2

    Awesome tutorial. I got most of it working in UE5. However, as soon as I plug the second LERP into the multiple panners, the Mask (G B) and Mask (R B ) get an error message saying "[SM5] (Node ComponentMask) Missing ComponentMask input". Is there any way to fix this?

    • @pingusmcdingus5
      @pingusmcdingus5 2 года назад

      How did you set up the shader? There's no Decal Blend Mode anymore.

  • @Lesli33333
    @Lesli33333 Год назад

    Hi Sir I have Rock Mesh with materials and form Quixel , so why the rock can not accept the Decal projection ?need set up something ?

  • @崔玉峰-v6p
    @崔玉峰-v6p 4 года назад +1

    Thanks for your tutorial,its useful!

  • @nimashoaie1652
    @nimashoaie1652 3 года назад

    Hello, Thank you for the tutorials. Very helpful thus far ! I'm still a rookie so this question might sound dumb:
    4:45 to 8:10 , I have done every step according to the tutorial (Changing material domain to Deferred Decal, Decal blend mode to emissive, etc) but the decal is invisible for me. I'm using the texture that you provided in the description btw. The visible check in the rendering for the decal is also checked and I did not change any project settings that might have affected this. No amount of moving or scaling or rotating can also make it appear. Any idea what might have caused this ?
    One thing that I should note is that I could not find the "deferred decal" in the visual effects. Only "decal" is located there for me. Could this contribute to what's going on in my file ?
    Thank you in advance !

  • @hannibaldex5815
    @hannibaldex5815 4 года назад +1

    Your content is amazing!!!!!!!!

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

    Just wondering - can we create a volumetric effect out of it? (settin the fog maybe?) Any hints?

  • @MrMeen
    @MrMeen 3 года назад

    Great tutorial, thank you. How would you can cancel out the caustics in shadow areas?

    • @BenCloward
      @BenCloward  3 года назад +1

      I generally don't get that detailed with it. But if you wanted to do that, one way would be to paint a mask for the shadow areas and then multiply the caustics by that.

  • @Christina-sp2ke
    @Christina-sp2ke 2 года назад

    Amazing Tutorial! Thank you so much

  • @deano4906
    @deano4906 3 года назад +1

    Very helpful. Thanks alot!!

  • @behzadkhojasteh
    @behzadkhojasteh 3 года назад

    Hi dear ben, thanks for all afford that you have to make all tutorials. I learn a lot of thins from them. in the water caustics subject, I have 2 questions I did this effect one by one for the pool "my sample for test"
    1- I have direct light 45 degrees for the lighting scene and inside the pool, I have a shadow on the walls of the pool. in reality, shouldn't show this effect in these shadow side of the walls. what is your suggestion?
    2- how can I decrease the caustics effect on the walls of the pool for the area close to the surface?

  • @bdenix1997
    @bdenix1997 2 года назад

    what if i have a dynamic wave height? the box shape wouldnt fit it correctly. there would be places under the water and above the water that would look kind of off. what kind of approach can we take if thats the case?

  • @ВладимирНемов-ы9е
    @ВладимирНемов-ы9е 4 года назад +1

    Thanks Man! You rock!

  • @neritonreis3340
    @neritonreis3340 2 года назад

    Friend, how do I make the sea more transparent?

  • @kioly_ah
    @kioly_ah Год назад

    非常有用的教程 谢谢

  • @nashonightmare
    @nashonightmare Год назад

    Funny thing is the normal map I generated for follow up this tutorial is generating the exact caustics we want right now.

  • @lethiagames9208
    @lethiagames9208 2 года назад

    the projecting in all axis is not working, it works in hard edges but not on characters, smooth/round endges

  • @desocrate
    @desocrate 2 года назад

    Is there a way to use a custom mesh shape for the decal box?

  • @0805slawek
    @0805slawek 3 года назад

    If I have river using ue4.27 new water system how I can connect this caustic to river?

  • @LeandroOliveira3D
    @LeandroOliveira3D 2 года назад

    Hi Ben. I´m a big fan of your tutorials. Thank you so much for doing them! I´d like to use the caustic texture that you used, but it´s not available, anymore...

    • @BenCloward
      @BenCloward  2 года назад +1

      I'm hosting it on my own server, so yes, it's available. Right click on the link and choose "Save target as.." If that doesn't work, use the Chrome browser.

    • @LeandroOliveira3D
      @LeandroOliveira3D 2 года назад

      @@BenCloward Thank you, Ben! Changin to Chrome worked.

  • @flaviogonzalez5068
    @flaviogonzalez5068 3 года назад

    Awesome video as always, thanks Ben. Any way to get the actor Scale of the Decal? ObjectScale and Object radius are not compatible. Cheers

  • @leonidbilousov5635
    @leonidbilousov5635 4 года назад +1

    Amazing tutorials, Ben. Could I request the next tutorial about water depth fog? I am doing now waterline and want to add depth to underwater spaces through post process material. But I have trouble with calculate fog distance to waterline surface. Thanks for your contribution to the development of real-time graphics. :)

    • @BenCloward
      @BenCloward  4 года назад +3

      I covered depth fog in episode 24, but I'm guessing you're looking for a way to fog everything when your character is under the water? So far, I've just focused on the water's appearance as seen from above the water, but I could look into doing an underwater effect. I'll give it a shot and see how it goes. No promises.

  • @brendanstocks821
    @brendanstocks821 4 года назад

    Thanks for the great tutorials! I was wondering if there was some way to connect the movement of the waves material to the decal, so that it doesn't have a hard cutoff?

    • @BenCloward
      @BenCloward  4 года назад

      That's a really good idea, but I don't know how to do it. If you figure it out, let me know!

  • @moragna
    @moragna 4 года назад +1

    Wonderful job. Was wondering how to get all the angles covered :) Thanks! Any chance we can address how this will be projected under the Gerstner wave from the last tut?

  • @gianclaudiomorando2392
    @gianclaudiomorando2392 3 года назад

    Hello Ben and thank for your teaching. I have a trouble: I'm using UE4.14.3 release because of my hardware and I can't go ahead because of the Round Function error "(SM4) Function Round: (Node if) if input A must be of type float". Which is your UE release? When I choose for Round I found only a Math MaterialFunctionCall material. Could you suggest me a solution? Manny, many thanks.

  • @harlangraves7604
    @harlangraves7604 4 года назад

    I got through everything up to foam but had trouble getting the patterns right with the normal mapping the ocean seems to be smooth except in certain areas intersecting the normals show up.

  • @sephirothbahamut245
    @sephirothbahamut245 2 года назад

    Question 1 year later: is it possible to make the decal affected by the light so that there's no caustics behind objects that block sunlight? (Like in the reference video when the swimmer goes between the sun and the sea floor

  • @anim8ruk
    @anim8ruk 4 года назад +1

    Hi Ben, great tutorial series. Thanks. I'm wondering, do you have a solution for projecting decals in all axis when not using World Position? I'm thinking for decals such as bullet decals or scorch marks (grenade explosions etc) or blood splats. For these types of decals, I always get stretching so looking for a solution if you have one? Thanks

  • @TNTMEKKI
    @TNTMEKKI 4 года назад

    why i get error in mask GB and mask RB 21:48

    • @BenCloward
      @BenCloward  4 года назад

      I don't know. Is there an error message in the Stats panel at the bottom? I need more information about the problem to be able to trouble shoot it. I've seen some cases where the lerp node gets confused about how to lerp two vectors with a scalar. If that's the case, then you would need to insert an append vector node between the Mask(G) and the lerp's Alpha. Plug the Mask(G) into both inputs of the Append Vector to convert it from a scalar to to a float2. That way it will match the data type of the A and B inputs of the lerp and the editor may have an easier time with it.

    • @TNTMEKKI
      @TNTMEKKI 4 года назад

      @@BenCloward ty man i fix this problame

  • @d.p.5874
    @d.p.5874 2 года назад

    Hi Ben and all,
    Thank you for those very informative videos and comments.
    I face the following issue when projecting the decal onto the water: I can see the caustics underwater on the bottom floor and the immersed rocks but not above the water. Does anyone faced this issue and solved it ? Thanks in advance.
    Note: I just moved the decal caustic material and its box to surround my water ripples floor (with "Receives Decals" checked in the Details). I probably missed something, somewhere !
    ==> SOLVED ! Following Episode 28 on Foam, I discovered that for some reason the opacity of my water floor material was left open and just required to be reconnected ...

  • @toyeadeniran6394
    @toyeadeniran6394 4 года назад +1

    Hey Ben awesome tutorial. Would it be possible to make a shader on flow maps with your water shader for rivers and stuff.

  • @kulman4295
    @kulman4295 2 года назад +4

    Are you sure "stretch marks" is the professional term for those projection artifacts 😂 ? I would hope I don't get literal stretch marks from programming this shader. Good tutorial btw, I followed it while adjusting everything for my 2d top-down scenario and it worked very well, better than some Unity tutorials I tried before ( I am doing it in Unity but it is not really hard to find equivalents for every node there)

    • @kincat6801
      @kincat6801 2 года назад

      hi would you please tell me which node in unity is [scene-texture-worldnormal]'s equivalent? Thanks

  • @glennet9613
    @glennet9613 3 года назад

    Great series and thanks very much for creating it, it must have been an incredible amount of work. The one thing I'd point out is that I can't read the names of the nodes and certainly not the color values. Also the textures gave me .ico files which would not convert so I just captured the ones in the video and that worked fine.
    So now to foam....
    EDIT: I finally found out how to access those files but it is fairly obscure, not just right click and save as. Something must have changed in Chrome.

  • @GhostPrince94
    @GhostPrince94 2 года назад

    how can i make this shader work as a light function ?

  • @cristianmartinez1321
    @cristianmartinez1321 3 года назад

    Hey Ben this video is amazing! I'm working on pool projects currently and I was wondering something as I am not able to obtain any good result. Is it possible to the see the water movement from inside the water? I mean when you look at the water surface from the inside. Thanks for your dedication!

  • @Graylord88
    @Graylord88 4 года назад

    Is there any way to smoothen the alpha between each direction? I find the sharp transitions a bit jarring, especially if the underlying material has a noisy normal map.
    On a side note, I also found that making another decal that darkens all the materials that are in the water, and using the material's z position to make an edge that's glossy above the water to make everything touching the water look wet, really added to the look of the water.

    • @BenCloward
      @BenCloward  4 года назад

      One idea I had to remove the transition artifacts is to use the vertex normal instead of the pixel normal to determine the cut-off. Another option would be to do samples for each axis projection and blend them instead of having a hard cut-off. But that would be a lot more expensive - so you'd have to decide if it was worth it.

  • @wheeledgamer
    @wheeledgamer 2 года назад +1

    I look forward to UE5 developing along far enough to allow implementations such as these you teach. The "water" plugin in UE5 does not work for everyone! thank you for the great training videos.

  • @ddddecade6518
    @ddddecade6518 3 года назад +1

    petty coollll,Thanks

  • @MayurKamatDoesStuff
    @MayurKamatDoesStuff 3 года назад +1

    Hello sir, can you please make a video for underwater godrays as well?

    • @BenCloward
      @BenCloward  3 года назад

      That's a good suggestion. Thank you!

  • @MrNutz001
    @MrNutz001 4 года назад +1

    is possible to reduce the sharpness of the edges of decals?

    • @lemonworm
      @lemonworm 3 года назад +1

      use a blurred shape in the opacity input

  • @MasterNeek
    @MasterNeek 4 года назад

    Looks great! Is there any way to have the caustics only show in shallow water? Mine is stronger deeper down for some reason

    • @BenCloward
      @BenCloward  4 года назад +1

      Yes, I left that detail out because I didn't want the shader to get too complex for the video. The caustic texture has an alpha channel with a blurrier caustic. You can blend between the RGB caustic and the Alpha caustic based on the depth from the water surface. Or you could just fade our the RGB caustic based on the depth.

    • @MasterNeek
      @MasterNeek 4 года назад +1

      Ben Cloward thanks for your help!

    • @woodsdesign
      @woodsdesign 4 года назад

      @@BenCloward I copy previous water depth nodes, finding the Pixel Depth return weird value with decal material. When the camera moves close to certain range of decal, the Pixel Depth will jump to another range of value then losing consistency. Anyone can explain this? Thanks!

  • @supreme84x
    @supreme84x 3 года назад

    Can you make the caustics change size by height below the eater's surface? The lower you go, the larger they become?

    • @BenCloward
      @BenCloward  3 года назад

      I did this in my project by putting one set of caustics in RGB and a larger, more blurry set of caustics in the alpha channel. Then I blend between the two based on depth.

  • @ВиталийГаврилов-с6о

    what if the pool is round and above ground?
    there will be caustics on the ground in the corners.
    How to fix it?

    • @seansopata5121
      @seansopata5121 4 года назад

      Could probably mask it out using a radialgradient

  • @SanneBerkhuizen
    @SanneBerkhuizen 4 года назад

    I hated to use decals. You made me kinda like it.
    Thank you

    • @krz9000
      @krz9000 4 года назад

      is virtual texturing more your thing?

    • @SanneBerkhuizen
      @SanneBerkhuizen 4 года назад

      @@krz9000 I have to look into that.

  • @reachingeric
    @reachingeric Год назад

    Followed it, didnt work, something changed in ue5? I can only see the caustics from withing the bounds. not a fan of that.

  • @LikeaBossk627
    @LikeaBossk627 4 года назад

    This may be kind of a dumb question but how do we rotate the pattern to go in the opposite direction?

    • @BenCloward
      @BenCloward  4 года назад +1

      Multiplying the UVs by negative 1 in the x or y or both should reverse the direction on that axis.

    • @LikeaBossk627
      @LikeaBossk627 4 года назад

      @@BenCloward thank you!

  • @madaddewelik2094
    @madaddewelik2094 Год назад

    это супер урок!👍

  • @MarvelMaster
    @MarvelMaster 4 года назад

    the textures are not available :(

    • @BenCloward
      @BenCloward  4 года назад

      Right click on the texture links and select "save target as..."

    • @ArcaneTurbulence
      @ArcaneTurbulence 3 года назад

      @@BenCloward I'm following along, but it says it's an ICO file. Windows/paint/photoscape can't even open it. I assume it has to be converted to a PNG file or something similar since unreal says it can't read it either. Why not simply put the images on an image site in it's finished usable format so we can just view_>rightclick_>Download.
      Bah.. nvm, I'll just make one.

    • @BenCloward
      @BenCloward  3 года назад

      @@ArcaneTurbulence Your web browser isn't playing nice with my server for some reason. The image files I uploaded are TGA format, so if you're getting ICO files, something's gone wrong.

    • @ArcaneTurbulence
      @ArcaneTurbulence 3 года назад

      @@BenCloward It's cool, I managed to make my own by drawing some (shaped) white lines on a black background in paint, then used photoscape to soften them, turn to a reapeating tex, and apply the rgb offset. It actually turned out REALLY good. Thanks anyway though. You're Tut's have been a fantastic reference for accomplishing some outlandish effects for me. I watch you do something, then throw my own twist on it, and come up with some really interesting stuff. lol. BTW< you wouldn't happen to have a tutorial for post processing camera effects would you? I would really love to have some camera wave while underwater.

  • @ingrogies1
    @ingrogies1 4 года назад

    For some reason my effect isn't visible in Lit Mode. I'm running a Ray Tracing scene with a Sun Sky. Is that having an effect on the emissive?

    • @BenCloward
      @BenCloward  4 года назад

      Hmm, that's really odd. Is it visible in one of the other modes? I don't think Sun Sky or ray tracing would change it.

    • @ingrogies1
      @ingrogies1 4 года назад

      @@BenCloward I have it working now but I had to turn the lux on the Directional Light on the Sun Sky from 75000 to 75. Thanks for the reply though!

    • @BenCloward
      @BenCloward  4 года назад +1

      @@ingrogies1 Nice! I'm glad you figured it out. Alternatively, if you want to keep the sun bright, you could just turn up the brightness on the emissive.

    • @ingrogies1
      @ingrogies1 4 года назад

      @@BenCloward Oh, great, I'll just do that instead, thanks. Really great channel, I'm learning so much!

  • @AhmedHasan91
    @AhmedHasan91 4 года назад

    amazing thanks

  • @ATWStudios
    @ATWStudios 4 года назад +1

    Plot Twist: the sample footage was taken in Unreal Engine

  • @Mj3DArts
    @Mj3DArts 4 года назад

    dl link not working for me, it just reloads the page

    • @BenCloward
      @BenCloward  4 года назад +1

      Instead of left clicking it, right click it and select save target as... Not sure why it works that way.

    • @Mj3DArts
      @Mj3DArts 4 года назад

      @@BenCloward ohh thank you for that, do you know if i can use this material as a light function in a spotlight or directional light? i see i can change the material domain
      to a light function.. trying to use this for a ocean..

    • @Mj3DArts
      @Mj3DArts 4 года назад

      @@BenCloward seem i can't use scene texture and light functions together ;(

  • @totheknee
    @totheknee 2 года назад

    -Reference video didn't have noticeable chromatic dispersion...- (Okay, I can see a little bit in the original footage in 4k.)

    • @BenCloward
      @BenCloward  2 года назад

      That's an interesting observation. Thanks for pointing it out! I think the chromatic aberration on the caustics is more apparent when viewing the caustics from outside the water - through the surface of the water - because going from air to water refracts the light a bit. This example that I'm showing is looking at the caustics from inside the water so you're not getting the refraction that you would if you were looking at it from outside. It's not something that I had considered before - so thanks for helping me think about it a bit!

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

    I could drink this water...

  • @1_Man_Media
    @1_Man_Media 4 года назад

    I got a shader problem I would love to hear the solution to if you by chance know the answer. How do I get the tip of a gun outside of my capsule to override the walls shadders so it appears to not pass through the wall. This is an issue that's plagued me for a long time, I have used several different hacky solutions to this but I know its some sort of shader black magic. If anyone knows what magic spell nodes to use I think its you :)

    • @1_Man_Media
      @1_Man_Media 4 года назад +1

      @@benhunter8551 doh, I found this video a while ago and looked promising. I wasnt sure if this was expensive and would be annoying to add that to every gun material but if it works its neat ruclips.net/video/3XO7sb-Attw/видео.html

  • @Gamer-sv2mz
    @Gamer-sv2mz 2 года назад

    hi friend . thanks for your work . but i won't never be able to do this . your software is not free . can you send me a copy of your material by mail please or another way ?

  • @findthestones
    @findthestones 2 года назад

    Amazing tutorial, thank you!