Rain Puddle Shader - UE4 Materials 101 - Episode 17

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

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

  • @sutoikkulin5984
    @sutoikkulin5984 5 месяцев назад +2

    Hello, I'm doing a bachelors in computer animation and right now we are working with real time graphics. This is my second year in CGI and I just wanted to say that your tutorials are absolutely great, everything is explained so clear and I can go back into the shader tree and do my own personalised changes without being worried that I might ruin it, as each variable I'm acquainted with and understand it's significance. Thank you so very much :)

  • @iajhy
    @iajhy 4 года назад +15

    I guess we can say that this is the best puddle tutorial ever, right? Awesome tutorials Ben!

  • @amitmelamed2043
    @amitmelamed2043 Год назад +2

    The best teacher in the internet !!!

  • @IndyStry
    @IndyStry 3 года назад +7

    This whole series was amazing! Please do more multi episode setups like this !! Thank you so much!

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

    I am really very thankful. Not only for the videos (which are amazing) but for the references as well. As a newbie in this area, these videos (and references) are great for studing and not just as a once watch - follow along tutorials

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

    Note: The T_Water_N is part of the 'Starter Content' pack...Content Browser -> Add/Import -> Content Packs -> Starter Content
    This is amazing Ben, great video.

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

      thank you sir, you saved me ... untold seconds of beating myself up, wondering where I went wrong.

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

    Thanks Ben For your Amazing Tutorial

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

    sir please. in your material preview window, you always have a light showing, I guess in the HDRI there. mine doesn't have one. how can i get one?

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

      Hmm, that's weird. I haven't done anything special in the preview. I'm just using default settings.

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

    Hi Ben, I'm having trouble getting this to work properly, all of the materials and functions are working as they're meant to, but when i apply the weather_puddles function to the material i want to affect, the puddle section is dry and everywhere around it is showing wind and rain drops. It seems the mask has inverted somehow, any suggestions in how to figure this out? Thanks :)

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

    My God, I sat for a long time making videos and then I found out that you took the textures that you did in other videos, it was impossible to leave a link to the video where you did them, or at least out of respect to make it on video again?(((

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

    Awesome, Thank you for the detailed video.

  • @simgamedev6423
    @simgamedev6423 3 года назад +7

    A course of such good quality would sell for above 100 dollars on Udemy. And it's way better than many of the bs paid courses on Udemy.

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

    Hi Ben, I have a question @15:19 when you mention multiplying two z direction of normal, why it is multiply here but add x and y direction?

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

    Nice result. Would make a useful decal material, too.

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

    Hello,Ben.Thanks for your tutorials.There is a problem confuses me a lot.The problem is as you create a normal, you created x and y direction by using a texture channel's value.But when you create the Z direction ,you just gave Z a constant value, like one.Why the Z's Value should be one ,Can it be another Value? And the reason you set Z a constant value is that the normal is in the tangent space?

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

    Great tutorial. I will try to re-create a similar shader. I wonder it would make sense to use a 3D noise to have different puddles at different road heights. One thing I personally need is the ability to have puddles on slightly angled road meshes. The only restriction that need for the material is that the puddle does not appear on the bottom side of the object the material is applied to.

  • @666nevermore
    @666nevermore 3 года назад

    Hi Ben. I'm following along your custom fuction for the water wind, but i'm not understanding one thing.
    You are now blending the two normals, but you still are multiplying each Blue channel. Why aren't you normalizing the result of it?
    (i'm supposting this because i thought it was correct normalizing the multiplication of normal blue channels since you did that on your blend4normals function)

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

      Using normalize gives you a more accurate result, but it also has a bit of a cost. In this case, I don’t care about accuracy. I just want to give the impression of ripples - so I left out the normalize to make it run faster.

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

    thanks. you man. love it.

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

    Successfully finished the previous episode. Now, stuck again. The material for puddle works as per course. The material function weather_puddles isn't working for me. The preview cube is just black. If I remove for testing purposes the connection from Lerp Alpha channel (last before Output Normal) to the Multiply, the cube changes to plain blue. I adjusted the texture distortion compression to user user interface and unticked sRGB. The material ripple test works as it should. I have not been able to figure out, what is going wrong. Please advice.

  • @Data-Cain
    @Data-Cain 3 года назад

    @15:10
    What does multiplying the Blue channels together do?
    Can I use a constant of 1 instead?

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

    I'm running out of great things to say! But I want to comment on your videos for the sake of the almighty algorithm!!

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

    This tutorial is fantastic and easy to follow along with. Thank you so much! I do have 1 small question though... Is there a way to make it so the puddles generate randomly rather than just filling in the low values of the normal? I increased the size of a plane and it tiled the material so now I have a pattern of puddles growing in and it's very obvious

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

    Great video. but is there a way to take in consideration parallax offset mapping into this? lets say for example like the cobblestone material you did before that would be awesome.

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

    Hello Ben, I want to say thank you for making such descriptive tutorial videos. i have absolutely 0 experience in this field and following your Tutorials I have been able to create some beautiful work. I am having an issue with a part of this tutorial at the 23 minute mark when you use the oak plank yours looks like a puddle with raindrops with mine the whole thing looks like the texture map from creating the Weather_Puddles Material Function, last but not least I am having a hard time making my puddles look like puddles. sometimes its really hard to see what you set your R,G,B,A to on vector nodes so that could be the issue there. I have been doing my best to follow along and trouble shoot as I go but this one I am super stumped on. once again thank you for making such amazing tutorial videos

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

      Hey! I'd like to help you get this working, but it's really hard to tell what's wrong from just your description. Could you take a screen shot of your graph and another shot of your results and send it to me at ben@bencloward.com? Thanks.

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

      @@BenCloward Thanks so much for these tutorials its all been coming out great so far! Unfortunately I've got this odd thing going on where my rain ripples are connected to the wind value? Anytime I try to change the rain value it doesn't do anything but if I turn off the wind it turns off the rain too and vice versa.

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

      @@mastersnake4466 I don't have your graph to look at, but it sounds like you have a component mask node set incorrectly somewhere.

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

    thanks for great course!

  • @-pygmalion-
    @-pygmalion- 3 года назад +1

    learn a lot,thanks

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

    Amazing!!!! You are the best

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

    in your rain puddle material function you use a texture sample with a texture which one is this? Also getting and error on the add node when combining the weatheripple and rainwindripple

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

    Hello... great tutorial... hope you can help me somehow. I have a giant rock golem in UE5 that's rigged and I'll animate it, but I'd like to paint some grass, stones and trees on it so they move when my giant moves... it's there a way that I could achieve this? thanks in advance

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

      I recommend adding those assets on or at least adding attachment points for them in your DCC. Seems like a task that you could do pretty easily in Maya or Houdini.

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

    hi ,Ben,at 00:11,where can we download the T_Water_N map?

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

      sorry,it is in “content/starterContent/texture”

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

      That is correct. It's one of the default textures that comes with Unreal.

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

    Really interesting tutorials, I find myself always waiting for new videos from you :)
    In your reference footage one can observe little bubbles forming when a drop hits a puddle, but not always. How would one approach implementing such a behavior? Especially if it should, say have a probability to occur?
    The first thing that comes to my mind is somehow getting the z-value and spawning a single mesh-particle that does or does not spawn the mesh according to a probability. But I guess that would be rather expensive.
    So maybe just using a normal map of a sphere and adding it to into the ripples shader and for a probability a scrolling masking noise?
    I don't have a usecase per-se I am just curios how to solve it :)
    Cheers
    J

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

      Thanks, Jan! I'm glad you like the videos!
      One of the skills that we need to develop is the ability to identify which elements from the reference contribute to the essence of the effect we're going for and which parts are superfluous details that can be left out. For each possible element, you have to be able to think about how much it will contribute vs the resources it will consume. If an element (like the bubbles) requires many additional texture samples, particle effects, and additional math to achieve, it's probably better to leave it out in favor of something that will contribute more but cost less.
      Having said that, there are a bunch of ways to get random things to happen in a shader. You scrolling noise texture is a good idea for getting something to randomly happen over time.

  • @user-iw1bd1ld3i
    @user-iw1bd1ld3i 3 года назад +1

    Thanks!

  • @디지문-djm
    @디지문-djm 3 года назад +1

    OMG Thank you for your help

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

    I hive some advice for this videos, the ripples move with wind could be better, and thanks for your videos a lot

  • @유-p7g2t
    @유-p7g2t 3 года назад +1

    thanks

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

    Wow, i will can reproduce my 3d scene in UE with your wonderfull tuto. Thanks from France :)

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

    I have two questions if you don't mind. Let's say I have a ship floating in the ocean and I want:
    - puddles with ripples at flat surfaces when it rains
    - wetness and drips on the parts that just came out of the water (I have already functionality for defining what's under and what's above the water)
    1. How do I pass all the values from my C++ code to these material functions (whether it rains or not, what part of the mesh came out of the water, wind direction etc.)?
    2. How do I affect only certain parts of the mesh not depending on a mask created in the material but depending on circumstances taking place outside the material?

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

      Hey Alexander, thanks for your questions! My channel is pretty narrowly focused on just the material editor, but yes, it's important to be able to control these material parameters from outside the material. I found a bunch of other videos that explain how to do this. Here's one that might help - ruclips.net/video/I8s-Bt-YOUg/видео.html You may be able to find others by searching for "unreal controlling material parameters with blueprint".

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

      @@BenCloward thank you.

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

    Fantastic tutorials, thanks so much for these, id been doing it since 15, i realize kind of late that you deactivate SRGB in your bitmaps and then choose Linear Color instead of Color, why is that?

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

      In general, textures that store color data should be sRGB and anything that is not color should be linear. So that means Normals, Roughness, Specular, Ambient Occlusion, Transparency/Opacity, etc, should all be stored as linear. sRGB is an adjustment that applies a gamma curve to the data - which works great for color, but it really does weird things to everything else. So any time you import a new texture, take a look at the settings. If it's color, turn on sRGB. If it's not, turn it off.

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

    hello. have you discord ? i dont now how joint glasswindow rain drips

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

    when I plug my "Wind Ripple Effect" function into the add node with the rain ripple function and constant 1 value it gives me the "Invalid Input types Float4 and Float3" if anybody has advice it'd be much appreciated

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

      The problem is that your rain ripple function is outputting a float3, so when you append a constant 1 to it, it becomes a float4. You can't add that together with the float3 from the Wind Ripple Effect function. When you add them, they both need to be float3. So that means you need to ensure that the output of the rain ripple function is a float2 instead. You could ensure this by placing the Component Mask node in your rain ripple function right before the output node.

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

    What's the performance impact of this?

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

    Awesome

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

    Hi Ben, the cloud texture in the description on your website seems to be a broken link.

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

      Hmm, that's weird. It's working for me. Here's the directly link. Does it work? bencloward.com/youtube/distortion.tga

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

      @@BenCloward it's broken to download clicking it, but you can rightclick and "save link as".
      Also, when doing exactly your steps up to 5:57 I get the same result, but completely inverted b/w colors. Maybe has to do with the downloaded image, or maybe with compressions? I had to dive into the web for the last episode, about the ripples image, because I had to set the imported ripples tga as UserInterface2D, with sRBG and stick to Color in TextureSample instead of your LinearColor for it to work

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

      On the other hand, I did change the texture you provide on this episode, compressed it as userInterface2D (otherwise, doing DTX5 like you I get pixelated texture), took out sRGB then and my mask worked fine with no inverted colors. I believe there might be some changes upon importing textures in 4.24

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

      @@BenCloward last but not least, UE4.24 has the water texture renamed to "water_n" instead of "t_water_n" just in case someone is filtering by "t_water", plus it goes crazy as fuck in the animation speed, like 2 or 3 times the waves speed as you have on your example (double checked, have everything just like you have)

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

      @@echunouchi9131 i have the same Problem

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

    thanx ot the tut I flow all the tuto steps but Ihave a problem with the weather-puddles Fonction the preview is black not the same how can fix that pls

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

      It's really hard for me to tell what's wrong from this very short description. Could you post a screen shot of the issue?

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

      @@BenCloward the problem is fixed thanx brother

  • @jesseg.3371
    @jesseg.3371 3 года назад

    I almost cried when it came out correctly. It's so beautiful. Thank you so very much.
    The only downside is it has an obvious repeating pattern.
    I suppose you could add a variation setup to it like an albedo?

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

      I generally make my puddles small enough and far enough away from each other that the repetition isn't a problem. Another solution would be to scale the UVs a bit so that ripples are larger.

    • @jesseg.3371
      @jesseg.3371 3 года назад

      @@BenCloward
      Thank you, Ben! I'll mess around and see if i can find a good blend.
      Would love to see any projects you've made or are working on, outside of the tutorial projects :)

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

      @@jesseg.3371 Making these RUclips videos takes up most of my free time outside of work these days. If you want to see my work for Bioware, take a look at Anthem.

    • @Daniel-qt5ib
      @Daniel-qt5ib 3 года назад

      @@jesseg.3371 Did you ever find a good means of breaking up the repeating pattern? I'm trying to figure it out currently :P

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

    Hello,
    a really good tutorial. unfortunately I have a problem,
    where can I find the tutorial for the Material Function "weather_ripples"
    Greeting, Denis

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

      Is this what you're looking for? ruclips.net/video/ABWzKYc6UQ0/видео.html

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

      @@BenCloward yes, it seems to be, thanks

  • @42earthling
    @42earthling 4 года назад

    Hi Ben, thanks for these informative videos. :)
    I'm currently learning about shaders and have bought shader tool for this purpose.
    While it is certainly enjoyable to work with the project files, it seems to be missing a lot of samples to use and the download page has been taken down since 2016.
    So my question is if you can share some links to sample pages.

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

      Are you looking for samples for shader tool specifically? If that’s the Unity shader editor I’m afraid I’m not going to be able to give much help. I’ve never used that tool.

    • @42earthling
      @42earthling 4 года назад

      @@BenCloward Hi Ben, thanks for your reply. :)
      It is a node based tool for both hlsl and glsl shaders. My aim will be to create .fx shaders.

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

    I am very confused. At this moment of time, the ripples i have on my material are basically useable. Everything else is fine except for thos ripples.

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

      Did you mean to say that they are un-usable? Can I get some more details?

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

    is interesting at time 6:45 of the video in unreal 4.24 I need to change the number of the 2vector from 0.25 to 0.5 to have the same results on the shader. ( you have the texture sample in Linear color but I get an error if I set my texture to "linear color" so I leave it in"Color")

    • @AlexanderP0494
      @AlexanderP0494 4 года назад +9

      u need to uncheck the sRBG in the texture settings

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

      @@AlexanderP0494 Thanks I'll Try it !

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

      @@AlexanderP0494 thank you major help

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

      Hey @BenCloward, could you explain some of these more technical texture settings sometime? This sRGB thing gets me occasionally, as does linear color, as does the texture compression adjustment to sRGB that I sometimes need to do. Could you explain these, and the situations when I should resort to trying these fixes?

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

    Hi, the download from the texture didnt work anymore

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

      Try right clicking on the link and choosing “save link as”. Does that work?

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

      @@BenCloward oh yeah, fine it works, thanks. but i already did it by me own :)

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

    Your download link is broken... Says the file is corrupted, Otherwise great tut

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

      Thanks, glad you like it! I was able to download the texture just now. Odd that it's not working for you. Does it work if you right click on the link and select "save link as..."

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

      @@BenCloward No problem :D And yea it worked, Weirdly enough if I click on it normally it doesn't work though. Still happy it worked :d

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

    blending normals with lerp is quite bad, use "blend angle corrected normals" instead!

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

    this is great - the animation didn't work on mine tho

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

      If you'd like to try to get it working, I might be able to help you trouble-shoot it. Let me know.

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

    Once again, a single person with severe issues in life......How can you dislike this?

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

      Hah! Everyone is entitled to their own opinion. I don't resent it. :0)

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

    the whole tutorial is useless if you dont know how to create a function

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

      And did you figure out how to create one, or would you like me to explain it for you?

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

      I think that this tutorial is not intended for newbies... btw create a function is literally a right click -> create material function, so i guess that even a non experienced guy could create it