Blender Tutorial: Photorealistic Puddles

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มี.ค. 2023
  • Blender tutorial showing you how to create physically accurate, realistic puddles.
    Download the Free Poliigon Blender Addon: www.poliigon.com/blender?utm_...
    Download the texture from this tutorial: www.poliigon.com/texture/zigz...
    Other recommend textures:
    Asphalt: www.poliigon.com/texture/grou...
    Grey Concrete Pavers: www.poliigon.com/texture/conc...
    Rocky Dirt: www.poliigon.com/texture/grou...
    Download the final node group:
    www.dropbox.com/s/sndkap18nd7...
    -----------------------------------------------
    Follow me:
    Twitter: / andrewpprice
    Instagram: / andrewpprice
    Facebook: / blenderguru
    ArtStation: artstation.com/artist/andrewprice
    Blender Guru: www.blenderguru.com
    Poliigon: www.poliigon.com

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

  • @Ryxles_YT
    @Ryxles_YT ปีที่แล้ว +22

    So you're telling me I know how to make realistic puddles but don't know how to move around the camera in blender 🤣

  • @MhLiMz
    @MhLiMz ปีที่แล้ว +45

    It is so generous of you to put out tutorials for free every now and then, and you don't even include a lot of Poliigon advertisements.

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

      Not only that, Blender itself is actually free and open-source. It only makes sense to make tutorials for Blender free of charge.

    • @sicfxmusic
      @sicfxmusic ปีที่แล้ว +7

      @@CZghost LMAO

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

      @@CZghost that doesn’t diminish the time Andrew puts into those. So saying thank you doesn’t hurt anybody.

    • @btn237
      @btn237 ปีที่แล้ว +7

      @@CZghost Blender is free to the end user, but the organisation requires enormous sums of money to operate. Just as an example.. the Blender development fund takes in around 167,000 euros per month. So I'd instead say - it makes sense to release Blender tutorials for free if it makes sense for that individual i.e they can afford to do it somehow.

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

    When I first learned of Blender back in January of last year, I was blown away. Your donut tutorial launched me into months of fun learning the software. Thanks for all you've done for us amateur artists!

  • @razeezar
    @razeezar ปีที่แล้ว +77

    "Moisture is the essence of wetness, and wetness is the essence of beauty." - Derek Zoolander

    • @Spy1330
      @Spy1330 10 หลายเดือนก่อน

      ok.

    • @vladartiomav2473
      @vladartiomav2473 7 หลายเดือนก่อน

      And the wetness of a beauty is a result of overstimulation 😂

    • @deadbushlover3511
      @deadbushlover3511 6 หลายเดือนก่อน

      Tell that to the geys.

    • @vladartiomav2473
      @vladartiomav2473 6 หลายเดือนก่อน

      @@deadbushlover3511 😂😂

  • @pZq_
    @pZq_ ปีที่แล้ว +85

    Your way of explaining complicated things is superior. Thank you for doing this!

  • @AsherIsbrucker
    @AsherIsbrucker ปีที่แล้ว +11

    Perfect timing for this tutorial. I'm designing an album cover in 3D that includes a bunch of puddles on a street. The way I did it at first was to displace a plane with a noise texture as the street, then just intersect another flat plane with a water texture applied so that it "filled" the divets in the road plane. Needless to say this method is miles ahead, really stoked to use it. Thanks for the great explanation as usual!

  • @markflakezCG
    @markflakezCG ปีที่แล้ว +87

    While some may prefer a simpler tutorial that only covers how to make the puddles I appreciate the depth and detail you included in this tutorial. You thoroughly explained every aspect and provided various ways to enhance realism. Overall, great job on the tutorial!

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

      The thing is, this way you won't learn the process behind it.
      (That is crucial to learn blender)

    • @DumbArtStick
      @DumbArtStick 10 หลายเดือนก่อน +2

      @@rgbforever4561 fr. No one teaches the theory behind it :(

    • @moonrivers71
      @moonrivers71 2 หลายเดือนก่อน +1

      @markflakez Yes, I agree. And I just came to this video from one of his where he does a tutorial on creating an interior in 9 minutes…and a lot of people get on his case for that not being detailed enough and an advert for Polligon. People get real. This guy is awesome.

  • @coffee-vz1nr
    @coffee-vz1nr ปีที่แล้ว +30

    I just want to thank u for all the work u have done for this community. You are amazing and a great inspiration to anyone getting into blender.

  • @Fractal_CZ
    @Fractal_CZ ปีที่แล้ว +6

    I'm working with 3D since 1993, professionally since 1999. Yet, I find your videos extremely useful, inspiring and educational. Subscribed and learning :)

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

    I really appreciate the way you break down complex topics into manageable steps and provide helpful tips along the way ❤

  • @Magnic0
    @Magnic0 ปีที่แล้ว +32

    I started using Blender in the late 2020's, learned from the donut series. Today, 2 years later, I still learn a lot of things with this guy. Awesome tutorial Andrew!

    • @umb3rto641
      @umb3rto641 ปีที่แล้ว +8

      we're not even in the mid of 2020s yet, just so you know hah

    • @mA-pg4wu
      @mA-pg4wu ปีที่แล้ว +2

      @@umb3rto641 +1

    • @mesh8349
      @mesh8349 8 หลายเดือนก่อน

      @@umb3rto641 😂

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

    I've been watching your tutorials since 2009 or so, and I have to say, they just get better. Thanks for sharing your expertise, as always. :)

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

    Andrew, you are King! You not only teach, you also inspire to move on, to learn and improve. Thank you for every second of your videos!

  • @kus42
    @kus42 6 หลายเดือนก่อน +1

    Tutorials like this excel at demonstrating ways in which certain things can be achieved, and impart some of the thought processes and experience that went into the process; use them for guidance and inspiration, but there is simply no substitute for your own hands-on work and experimentation: Only through actual doing are you going to build your own skills.

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

    Thanks so much for these clear tuts, as a complete noob I found Blender to be quite a steep learning curve at first but like most things the more you learn the quicker / easier it gets

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

    Thank you for all your free tutorials, Blender Guru. I first heard about you in 2013, from a classmate, when I was first learning about Blender and I'm glad he told me about you.

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

    Decided to pick blender back up again this last week, and so happy your still making videos. Great explanations. THANK YOU

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

    You are still doing the most amazing tutorials 🥰 Thank you!

  • @AleeyuYarima-hp8zh
    @AleeyuYarima-hp8zh ปีที่แล้ว

    Best blender tutor I’ve seen so far on TH-cam. Keep up the good work andrew👏🏽

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

    Putting in a little more effort to match reality goes a very long way, I would say that is probably the greatest lesson from this tutorial. Simple is fast and conveys the idea, but completely unmatched to a smarter set up that takes only a few more minutes to make.

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

    Always nice to see your tutorials!

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

    You sir have read my mind. I was observing wet roads earlier while catching public transport on a late rainy night. The amount of detail that you would have to simulate to replicate multiple cars flinging water at a high velocity is mind boggling.

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

    IMHOP this is one of the best videos you have produced and that is saying a lot, because I like all of your videos :-).

  • @vianart3d
    @vianart3d 6 หลายเดือนก่อน

    As a long-time Blender user, I gained a lot of enlightenment through this tutorial.
    So far I have only made puddles of water using simple methods, combining two types of materials, namely dry conditions and flooded conditions, using Noise Texture as Masking, but after seeing this tutorial, I got a new understanding.

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

    OMG!!
    THAT'S REALLY HELPFUL.
    YOU REALLY ARE GURU !!!
    ALWAYS KEEPS ON GIVING TO THE BLENDER SOCIETY.

  • @nahiyanalamgir7056
    @nahiyanalamgir7056 9 หลายเดือนก่อน +1

    And a lot of people thought it'd involve fluid simulation, haha. This method on painting the puddles is so amazing!

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

    Man i have picked up blender and thrown it out 4 times over the past several years, only to get frustrated to the point i threw my PC out the window, i discover your donut video recently through several hundred references from other TH-camrs and i was amazed by how you made me realize i was making everything harder then it needed to be and i am so psyched to give this a try. Thank you for giving me an outlet while while i was couch locked due to a broken ankle and helping me finally chase a dream.

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

    Thank you for your service to the whole community! Don´t know where we would be without you haha

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

    well done. I was getting most of the way there with my materials lately but the couple of techniques you demonstrated really shed light on some of the more intricate processes I am now starting to be aware of. I feel like water is a big thing that anyone can tell is right or wrong but not a lot of people can say what is right or wrong about it like you broke down in your references

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

    Thank you for producing easy to follow tutorials 🙂

  • @rafi030303
    @rafi030303 9 หลายเดือนก่อน +1

    I really would like more tutorials from Andrew, the way he's talking and explaining things make me wanna use blender more with every second. I guess that's the way you talk about things when you are really passionate about it.

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

    Thank You for the detailed explanation, helps out a lot understanding some of the nodes. Appreciate the tutorials !

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

    I love your smiling head in your thumbnails mate! Great tutorial! Love the energy! Keep it up! Thank you!

  • @globglob3d
    @globglob3d ปีที่แล้ว +43

    If anyone is curious (taken from wikipedia):
    - Overlay combines Multiply and Screen blend modes. Where the base layer is light, the top layer becomes lighter; where the base layer is dark, the top becomes darker; where the base layer is mid grey, the top is unaffected.
    - Color Burn mode divides the inverted bottom layer by the top layer, and then inverts the result. This darkens the top layer increasing the contrast to reflect the color of the bottom layer. The darker the bottom layer, the more its color is used.

    • @gurratell7326
      @gurratell7326 ปีที่แล้ว +6

      Both Overlay and Color Burn clamps stuff between 0 and 1 as well. Overlay do a soft clamp while Color Burn does a hard clamp. What Blender Guru wants to use in this instance is Linear Light since it does the same as Overlay except without the clamping.

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

      Acerola has a few videos that go into how these work, including Bright/Contrast. They're very technical & math heavy, but they're incredibly helpful for writing shaders in Blender.

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

      @@ChrisD__ came here to say this! Acerola is amazing

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

      have a good day sir.
      class Color {
      public:
      int r, g, b, a;
      enum { OVERLAY, LIGHTENED, DARKENED };
      Color& mix(const Color& input_color, int BlendMode) {
      switch (BlendMode) {
      case OVERLAY:
      r = (input_color.r < 128) ? (2 * r * input_color.r) / 255 : 255 - 2 * (255 - r) * (255 - input_color.r) / 255;
      g = (input_color.g < 128) ? (2 * g * input_color.g) / 255 : 255 - 2 * (255 - g) * (255 - input_color.g) / 255;
      b = (input_color.b < 128) ? (2 * b * input_color.b) / 255 : 255 - 2 * (255 - b) * (255 - input_color.b) / 255;
      break;
      case LIGHTENED:
      r = std::min(r + input_color.r, 255);
      g = std::min(g + input_color.g, 255);
      b = std::min(b + input_color.b, 255);
      break;
      case DARKENED:
      r = std::max(r - input_color.r, 0);
      g = std::max(g - input_color.g, 0);
      b = std::max(b - input_color.b, 0);
      break;
      default:
      break;
      }
      return *this;
      }
      };

  • @sottozen
    @sottozen 8 หลายเดือนก่อน

    A fantastic tutorial, so much information here. Big Thank you!

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

    Generally considered myself fairly well versed in material creation and I still learned a few things from this. Thanks!

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

    Unbelievable, You used the nodes in an effective way! 😮😍

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

    After a month of headaces, insomnia, hair loss (from pulling out), n-gon nightmares(when I did sleep), eye fatigue, existental crisis, and a few trips to hell, I finally got a basic grasp of the Blender layout/tools/settings... Before that I found the Guru's videos to be cause of insanity as I tried to keep up with multi-layered tips and the overall education racing across a complex alien landscape. Some channels were worse, but some shorter videos proved effective to ease me into the new world of 3D. Now that I've crossed those first hurdles, this channel is incredibly useful for continued improvement and insight, and the style, humor, and overall character is a true treasure!

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

    You could probably also use all the textures that mask wetness into displacement so that actual geometry has small pits where puddles are and small hills where dry land is

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

    Great stuff as always, with a fantastic result, thanks for sharing.

  • @user-vq9lv1jf4g
    @user-vq9lv1jf4g 6 หลายเดือนก่อน

    I love that you go into technical reasoning behind why our eye perceives things scientifically instead of saying "we need this dark area."

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

    Really cool ! Thanks for the tutorial 👏

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

    Yup, you are an excellent teacher. I just installed Blender on a low end machine and was able to follow this tutorial without much trouble. Hardest thing for me was figuring out how to turn on the "sidebar" to get the tabs.

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

    This is awesome! Thanks again, Andrew 🙏🏻

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

    Excellent lesson one more time!! Thanks Andrew.

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

    Unbelievably excellent - thank you!!

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

    phenomenal tutorial!

  • @AdityaSingh-us7eu
    @AdityaSingh-us7eu ปีที่แล้ว

    Easy to understand detailed and awesome as usual

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

    thanks a lot for your great videos!! i really enjoy the long tutorial series!

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

    Thanks for another perfectly working tool and knowledge, your complex yeat easy to understand tutorials is the best thing in the world of 3D

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

    Nice video! You can just explain everything so easy to understand

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

    Another great one! Thank you, so much appreciated.

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

    Another banger of a tutorial from the goat

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

    this is the best puddle tutorial out there!

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

    Amazing tutorial as usual.

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

    Great tutorial, thank you for taking the time to do it.
    Regarding the explanation at 10:30 about why the concrete looks darker. It's actually caused by something else: a rough surface (such as concrete) will reflect light in all directions. Some of the illuminant's light (e.g. the sun) will reflect off it and hit your eyes, and a lot of the ambient light (e.g. the sky) will also reflect and hit your eyes. The result is a bright mix of sun and sky.
    A polished surface, such as a concrete with a layer of water on it, will reflect light in a much more concentrated way. Not much of the ambient light will reflect back to your eyes. The result may be a darker color, depending on where you stand and what is being reflected off the surface. It might actually be brighter than the surrounding matte surface (e.g. the sun reflecting directly off the water).

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

    Great detail. Very good tutorial. Thanks.

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

    thanks for actually explaining what each nodes are and what theyre doing, im new to blender and thats very helpful :>

  • @OttrPopAnimations
    @OttrPopAnimations 9 หลายเดือนก่อน

    wow!! this is such a quality tutorial. were so lucky to have you, Guru...

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

    I just read your latest newsletter about Apples Vision Pro and the possible future of VR. That was a very interesting article and I just wanted to thank you for all the insights you provide that I was just enjoying silently over the last years. Thank you.

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

    Amazing as usual!

  • @loverrlee
    @loverrlee ปีที่แล้ว +433

    Wow how does someone even go about figuring all this out?? I’m brand new to Blender (did the donut!) but this is wild that people can think and figure out how to use all these nodes together to get something that looks realistic! Very impressive! I don’t know how you figured it all out, but it looks great! 😂

    • @bhavishyaparmar2651
      @bhavishyaparmar2651 ปีที่แล้ว +92

      I had this same reaction a year ago😄........but its pretty simple just keep watching tuts like these and you'll eventually start understanding

    • @ramiths8171
      @ramiths8171 ปีที่แล้ว +63

      Only watching tutorials doesn't help, doing things on your own, experimenting with things will help you get a better understanding. With enough time and effort you can have ur own custom setup, Important thing is that you enjoy while you do it :)

    • @ali32bit42
      @ali32bit42 ปีที่แล้ว +14

      Its pretty easy once you know shadee fundementals and how all the nodes work

    • @shivanshsoni4242
      @shivanshsoni4242 ปีที่แล้ว +19

      I always afraid of geo nodes but when i found out they work like maths it gets easy to use. I tried experimenting different things on them and messed up so many time but now i know a good use of them.
      ✌️

    • @christendombaffler
      @christendombaffler ปีที่แล้ว +8

      Time and passion. You have to want to learn these things and then apply them in your own way to your projects. I haven't progressed past the very early stages because I'm lacking on both fronts and still only treating it as a tentative hobby, but the few moments when I had both also doubled as the ones when I learned the most by far.

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

    Great video. Thanks for the node group.

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

    Thank you teacher, keep transmitting your knowledge

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

    Good old andrew and shader node tutorial, always very helpful.

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

    Man! Your voice has so much depth!

  • @simoncodrington
    @simoncodrington 9 หลายเดือนก่อน

    Great one mate, wish you'd put out heaps more of these practical examples of photorealistic techniques

  • @PaladinVII
    @PaladinVII 6 หลายเดือนก่อน

    21:43 THIS! THIS THIS THIS! THIS IS WHAT I WAS LOOKING FOR! THIS IS HOW YOU GET WEIGHT PAINT IN THE SHADER EDITOR!!! YOU HAVE NO IDEA HOW LONG I HAVE BEEN HUNTING FOR THIS SOLUTION!!! YOU ARE THE CHAMP OF BLENDER!!! THANK YOU!!!

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

    Great one, Andrew!

  • @Pollutens
    @Pollutens 6 หลายเดือนก่อน

    I've never even edited video or used blender and I was fascinated by this tutorial.

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

    So glad you're alive

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

    If anyone deserves the title “guru” more than anyone, it’s this guy.

  • @imjody
    @imjody 10 หลายเดือนก่อน

    Yeah, this is simply REMARKABLE, man. Like truly. Thank you so much for this. Insane.

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

    another blender guru tutorial a blessing from the lord. thanks man

  • @dindon171
    @dindon171 9 หลายเดือนก่อน

    It looks amazing...

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

    Andrew new Tutorial? its simply a must watch

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

    Thanks so much Andrew

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

    Thanks!! You’re lookin so much healthier!

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

    Ich liebe Menschen, die wissen was sie tun. Vielen Dank für das Tutorial.

  • @omf-arch1765
    @omf-arch1765 ปีที่แล้ว +1

    Well done, magnificent I can now creat a photorealistic rain 🌧️ environment. Very nice.

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

    Great tutorial

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

    this is dope! Now I can pay for the Poliigon subscription in Reais (Brazil's currency), I'm gonna absolutely demolish these material tuts! Thanks a bunch dude, you're the G.O.A.T.!

  • @energystrong
    @energystrong 6 หลายเดือนก่อน +2

    For the multiply mix with the vertex paint since it's a multiply you don't need to put the attribute in A and the noise texture in B specifically (Since A x B = B x A, so the order does not matter)
    But you should put the noise texture in A because A in the input blender passes through when you mute the mix node. meaning that by muting the node you get rid of the vertex color masking if you don't want to use it.

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

    our guru is back with new videos🙏

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

    Nicely explained!

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

    Really powerful!

  • @sixeight-design193
    @sixeight-design193 ปีที่แล้ว

    Finally i found the tutorial puddle water , thanks!

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

    very nice! A year ago i did a similar (lazy) effect just using noise textures and color ramps. It was looking okayish but not super realistic.
    This takes it to the next level.

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

    I hope to one day make banger tutorials like this. Information should be free and accessible like this.

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

    Invaluable! Thanks.

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

    Cool man ! Thank you .

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

    Awesome - as always. Thanks and much love from Denmark

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

    Best teacher :) always love you brother

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

    thank you! you are really a life saver

  • @debadityanath4398
    @debadityanath4398 5 หลายเดือนก่อน

    i cant believe that decreasing the roughness give this good of an effect for wetness

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

    Perfect, need this for my film!

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

    Very cool. One thing you can do if you sculpt some bumps into the ground like I usually do is you can use the geometry position z instead of the noise texture

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

    great tutorial....thanks

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

    love your videos keep up the good work, good sir.

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

    Amazing 🤩🤩