Procedural Noise - UE4 Materials 101 - Episode 19

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024
  • In this episode, we take a look at Procedural Noise - or Perlin Noise. We cover what it is, where it came from, and then talk about a method for making it fast enough to be used in a real-time project. Then we just into the Ureal Material Editor and take a look at the basics of using the noise node.
    Next week we'll use the noise node to create our first material with procedural noise.
    ------------------------------
    Learn more!!
    Other videos like this one:
    • WTF Is? Material - Noi...
    • UE4 Flowing Noise Mate...
    Web Resources
    en.wikipedia.o...
    developer.nvid...
    developer.nvid...
    flafla2.github...
    www.khanacadem...
    Shader Book Recommendations
    www.bencloward...
    ------------------------------
    Learn to write shaders in HLSL:
    • HLSL Shader Creation 1...
    • HLSL Shader Creation 2...
    • HLSL Shader Creation 3...
    ------------------------------
    Theme Music
    Peace in the Circuitry - TeknoAXE
    teknoaxe.com/Li...
    Background Music
    Speo - Still Younh
    • Still Young

ความคิดเห็น • 49

  • @1_Man_Media
    @1_Man_Media 4 ปีที่แล้ว +9

    This video really reminds me of when I was a kid in College in the 90s for software engineering. We actually studied the perlin algorithm from a math stance, never seen it from a graphics / performance stance before. Very cool and looking forward to the rest.

  • @jdpitt6
    @jdpitt6 3 ปีที่แล้ว +2

    By far one of the best Tutorials on this on the net. Great job. Now to find the next one.

  • @fracturedfantasy
    @fracturedfantasy 2 ปีที่แล้ว +1

    Forget the great tutorial series, I really appreciate the history lesson on Mr. Perlin. I've used perlin noise in the past in AE but never bothered to dig into the background. Very cool, and very deserving of the award. 🥇

    • @GeraldSnyman
      @GeraldSnyman 2 ปีที่แล้ว

      I enjoyed the history too!

  • @alexanderalikin1210
    @alexanderalikin1210 4 ปีที่แล้ว +2

    This historical reference style is very useful, keep it up.

  • @hightechnician
    @hightechnician 11 หลายเดือนก่อน

    Ben, you are a treasure to the community. Thank you so much for your work!

  • @yanhu
    @yanhu 2 ปีที่แล้ว +2

    Thank you! No one teaches how to use the Noise before.

  • @n1lknarf
    @n1lknarf 4 ปีที่แล้ว +1

    Thanks for tackling the material editor's nodes in this way.

  • @zactyq
    @zactyq 3 ปีที่แล้ว +4

    Hey Ben, you're a really great teacher! Appreciate the work you are doing

  • @EfeVural
    @EfeVural 2 ปีที่แล้ว +1

    You saved my hours with this great video, Thank you very much

  • @scott_chocolate
    @scott_chocolate 4 ปีที่แล้ว +1

    Thanks for such a detailed and easy-to-follow explanation!
    Really appreciate the knowledge you're sharing here!

  • @lizlin6596
    @lizlin6596 3 ปีที่แล้ว +1

    Super informative! Thanks for sharing all the knowledge❤️

  • @GeraldSnyman
    @GeraldSnyman 2 ปีที่แล้ว +1

    Thanks for the great tutorial. You made me really interested in exploring the noise thing more :-) I was actually only interested in simulate the bumps in wall paint over plaster. I did that in Blender, but you opened a whole new venture in texturing. How can I forget what you opened up to me?

  • @yassiraykhlf5981
    @yassiraykhlf5981 4 ปีที่แล้ว +2

    Very informative thank you

  • @OnigoroshiZero
    @OnigoroshiZero 3 ปีที่แล้ว +1

    Amazing video, thank you.

  • @inFAMOUSgagimeister
    @inFAMOUSgagimeister 4 ปีที่แล้ว +1

    amazing video! Thanks a lot!

  • @musoke65
    @musoke65 2 ปีที่แล้ว +1

    I have no idea how to thank you!!!

  • @hightechnician
    @hightechnician 11 หลายเดือนก่อน

    Just one question: Why does scaling the position vector change the scale of the noise? The abs world pos node gives the absolute world position of each pixel as a vec 3, and the noise node takes this position and runs it through this formula you showed at the beginning? I'm sorry for asking, I should go through it myself, but I don't have the capacity to dig right now :)

  • @stormolflak
    @stormolflak 2 ปีที่แล้ว +1

    Thank you a lot

  • @sanketvaria9734
    @sanketvaria9734 2 ปีที่แล้ว +1

    Why not cache these patterns if they aren't going to change after being generated? Will reduce lot's of computation.

    • @BenCloward
      @BenCloward  2 ปีที่แล้ว +2

      Sometimes, reading from a texture is cheaper and sometimes doing the math is cheaper. GPUs are pretty fast at math, but it’s hard to tell if a texture sample will be cheaper than the procedurally generated version. Best way to know is to measure the performance. One downside of reading from the texture is that you can get tiling artifacts, whereas with the procedural version it’s infinite with no tiling.

  • @guillaumemercier3536
    @guillaumemercier3536 ปีที่แล้ว

    I am new to UE and I am looking to make a material feels like paint. Like a wall is painted in grey.

  • @domenicobezuidenhout1587
    @domenicobezuidenhout1587 ปีที่แล้ว

    How would we go about converting that Material into a displacement map to put on a mesh?

  • @Jake-co7rt
    @Jake-co7rt 3 ปีที่แล้ว

    Thanks for doing these vids. They are super-helpful!
    Is there a way to apply this noise-mapping to a procedural mesh as a heightmap?
    Maybe by referencing it from the construction script?

  • @TheStrandedAlliance
    @TheStrandedAlliance 2 ปีที่แล้ว

    I'm currently trying to do a carbonation effect with bubbles for liquid in a bottle.
    I managed to get nice bubble shapes with Voronoi noise, but I'm not sure how to control the amount of the bubbles....

  • @ethanwasme4307
    @ethanwasme4307 4 ปีที่แล้ว +1

    I always divide UV to scale since it's more intuitive to enter positive numbers to increase scale, is this ok to do?

    • @BenCloward
      @BenCloward  4 ปีที่แล้ว

      Yep, that works great too!

  • @mahmoudbagherimoghaddam640
    @mahmoudbagherimoghaddam640 4 ปีที่แล้ว

    your videos are awesome and made me decide to shift from unity to unreal lately i was enjoying a lot with ray marching videos in unity i wanted to know is it simple in unreal to use ray marching techniques?i heard because of complex node system in ue4 custom shaders are harder to make and i think its not easy with nodes system to make raymarching shaders or volumetrics effects

    • @BenCloward
      @BenCloward  4 ปีที่แล้ว

      Yes, you are correct. If you're writing shaders in HLSL or GLSL, you have a lot more flexibility and control - but it's also a lot more work. In the Unreal Material Editor, a lot of work is done for you already - the part that's inside the root node. But it also means you're not customizing that part. So in Unreal, you give up some control for some ease of use.

  • @Rivandu
    @Rivandu 4 ปีที่แล้ว +10

    great explanation, but that music is making my head hurt

    • @BenCloward
      @BenCloward  4 ปีที่แล้ว +5

      Thanks for the feedback. I'll avoid that music for future videos.

  • @0DINN
    @0DINN 2 ปีที่แล้ว

    I dont seem to have a node called "noise" when creating a material. Is this a different type of blueprint?

    • @BenCloward
      @BenCloward  2 ปีที่แล้ว

      Huh, that's weird. I just type "noise" in the search box and it comes up. It's not a blueprint, though. It's a material.

  • @thewritingwriterof89
    @thewritingwriterof89 4 ปีที่แล้ว

    Is it cheaper to use a texture sample (perhaps made in Substance Desginer) for noise or to use the noise nodes in Unreal? I suppose I could just check this myself by looking at the instruction count using either method, but I'm interested in your thoughts on this in general.

    • @BenCloward
      @BenCloward  4 ปีที่แล้ว +3

      It's cheaper to use a texture sample, yes - but texture samples aren't 3D (usually), and they tile. That's the main difference. Procedural noise is in 3d space and it doesn't tile.

    • @thewritingwriterof89
      @thewritingwriterof89 4 ปีที่แล้ว +1

      @@BenCloward ah, the non-tiling alone is worth the added expense in my opinion. Thanks for the reply! Great channel. Highly informative :)

  • @damianm.8736
    @damianm.8736 2 ปีที่แล้ว

    Hi, can it be used for User Interface materials?

  • @ElShotte
    @ElShotte 3 ปีที่แล้ว

    Is there any way to adapt this to moving objects? As it is, I have it on an vehicle and whenever the vehicle moves, the pattern shifts.

    • @BenCloward
      @BenCloward  3 ปีที่แล้ว

      Try sample the noise using the object space position instead of world space position.

    • @ElShotte
      @ElShotte 3 ปีที่แล้ว

      @@BenCloward So instead of the "World Position" use "Object Position"? I would still like the material to be random for every different vehicle though?

    • @BenCloward
      @BenCloward  3 ปีที่แล้ว

      How about using Object Space Position, but give the coordinates a random offset for each instance? I think that would work.

    • @ElShotte
      @ElShotte 3 ปีที่แล้ว

      @@BenCloward I cannot. Unfortunately everything I do has to be within the material.

  • @dreamingacacia
    @dreamingacacia 2 ปีที่แล้ว

    great informative video, sadly the bgm is a bit too distracting.

    • @BenCloward
      @BenCloward  2 ปีที่แล้ว

      Thanks for the feedback. I toned it down in more recent videos.

    • @dreamingacacia
      @dreamingacacia 2 ปีที่แล้ว +1

      @@BenCloward I'll check them out when I have opportunity.

  • @travisnguyen1475
    @travisnguyen1475 2 ปีที่แล้ว

    Hi, could you make real wood procedural material in UE. In real world wood cutting will consist of wood ring and long grain. Thank

  • @PiterTraceurFA
    @PiterTraceurFA 2 ปีที่แล้ว +1

    I swear to fucking god this engine is going the be the death of me. I write "absolute world position", there's no node like that. What the fuck. Guess what? You have to write "World position" to get a node that's called "absolute world position". Shit like this is driving me insane.

    • @BenCloward
      @BenCloward  2 ปีที่แล้ว

      I agree - there are a lot of nodes with a mis-match between the required search term and the actual name of the node.

  • @JONminiminiME
    @JONminiminiME 2 ปีที่แล้ว

    That music though :/