Easy Wrinkles in Blender

Поділитися
Вставка
  • Опубліковано 3 лют 2025

КОМЕНТАРІ • 320

  • @USBEN.
    @USBEN. Рік тому +339

    Chris did this without geometry nodes. Dude is a wizard.

    • @nirvanbarketaian
      @nirvanbarketaian Рік тому +20

      chris did it in blender?

    • @USBEN.
      @USBEN. Рік тому +26

      @@nirvanbarketaian Yep

    • @phoenix2gaming346
      @phoenix2gaming346 Рік тому +21

      he use scuplt maps as height easy man

    • @orxanr5955
      @orxanr5955 Рік тому +3

      Who is Chris

    • @USBEN.
      @USBEN. Рік тому

      @@orxanr5955 blender magic man, search UA-cam for Chris wrinkles model.

  • @3dinspirationsllc
    @3dinspirationsllc Рік тому +26

    Awesome Tutorial! For those of you using Blender 4.0 like I am, do not check the "individual" box on the "Extrude Mesh" to get the result in the video; otherwise you will have a hair particle effect that looks like repeating columns sticking out. Also use the "Capture Attribute" in place of the "Transfer Attribute," since this is the closest replacement in Blender 4.0.

  • @ericjeker
    @ericjeker Рік тому +149

    For the people who will get lost at the Transfer Attribute part, in Blender 3.4, this has been change to Sample Index to which you have to plug an additional Index node.

  • @theunaimedarrow4903
    @theunaimedarrow4903 2 роки тому +49

    Blender and its users never fail to amaze me. Great tutorial.

  • @GibbsonTV
    @GibbsonTV 2 роки тому +27

    was literally about to start looking into this subject after watching chris' latest vid, then u posted :)

  • @fiveoneecho
    @fiveoneecho 2 роки тому +15

    I discovered this when the face area node was introduced in the alpha builds, but never did anything beyond creating a geonodes tool for it. My generalized method was just duplicating the mesh I wanted the tension map on so it could work for any mesh, but I like the optimizations you have made and will definitely be fixing up my personal tree. Very nice tutorial.

  • @thevfxartist8848
    @thevfxartist8848 2 роки тому +7

    Honestly, you are one of the greatest. Fell in love with this channel because of how you breakdown complex Hollywood type effects into simple processes.

  • @antonshakhovnin
    @antonshakhovnin 2 роки тому +36

    Damn, I would never think to use Index as a vector for texture coordinates...
    Nice!

  • @JoãoFilipeSantiago
    @JoãoFilipeSantiago 2 роки тому +8

    Man you just saved my life with this video! Thank you so much man, keep up the good work!

  • @mr.hashundredsofprivatepla3711

    One of the reasons that i love youtubers like this is that he not only knows tons of information, but is willing to share and democratize it.

  • @はな-s4b3b
    @はな-s4b3b 2 роки тому

    Thanks!

  • @toapyandfriends
    @toapyandfriends 2 роки тому +1

    Thanks so much for finally doing a tutorial about Chris Jones saying this is much as you could throw up about this because this is seriously the future hes made the best ones ever ....I promise I'll stay subscribed forever and sing your praises to everyone I meet

  • @mr_moon_man
    @mr_moon_man 2 роки тому +1

    The quality of this UA-cam channel is unparalleled. And thanks, I had a wonderful day!

  • @juliusfucik4011
    @juliusfucik4011 2 роки тому +7

    This is a clever way of doing this. Thanks!
    Instead of changing the geometry, you can use the same principle to mix textures, which opens up a lot of new possibilities!

    • @peaolo
      @peaolo 2 роки тому +7

      And that should be way less demanding in terms of polycount, if the secondary texture you're going to reveal is a prebaked version of all the possible wrinkles! Wow, yours is very cool intuition!

    • @RomboutVersluijs
      @RomboutVersluijs 2 роки тому +2

      @@peaolo yeah this method will explode you polycount in real moduls. I rember old threads where we were testing some addon which could this, sort of. Chris didn't like and it was indeed finicky. I believe he still uses maps for this trick, but I'm not 100% sure of that

  • @Fleck2011
    @Fleck2011 2 роки тому +1

    Our hero returns when we need him most

  • @Fafhrd42
    @Fafhrd42 2 роки тому +101

    You should be able to save a bunch of math by skipping the multiply by 200 and remap nodes and just dividing the NewArea by the BaseArea and subtracting 0.5 to get the correct range for the color ramp.
    If NewArea = BaseArea: NewArea/BaseArea = 1. Minus 0.5 = 0.5.
    If New Area > BaseArea: NewArea/BaseArea = More than 1. Minus 0.5 makes it between 0.5 and 1 (We'll ignore that there's a possibility for NewArea/BaseArea to be greater than 1.5 because the color ramp clamps everything to a 0-1 range)
    If NewArea < BaseArea: NewArea/BaseArea = Between 0 and 1. Minus 0.5 makes it less than 0.5

    • @Dabbl1ng
      @Dabbl1ng 2 роки тому +8

      Thanks, your way gave more realistic results

    • @andrescuccaro8271
      @andrescuccaro8271 Рік тому +2

      I'm sorry if it's a dumb question, but how do you do that? Do you get the NewArea with a NamedAttribute node? And the same for the BaseArea? And then use a Divide node and a Substract node? I tried that and didn't get the same result.

  • @sobreaver
    @sobreaver 2 роки тому +2

    My brain fried a bit from all this mind blowing stuff, but I think it was worth the loss of a few useless cells ;)
    Thanks a bunch !

  • @ЛшЖ
    @ЛшЖ 2 роки тому +2

    I think many people have been waiting for this tutorial) Thank you!

  • @sciart1512
    @sciart1512 2 роки тому +1

    Hi! Great tutorial! Thank you so much! I have learnt much more than just making the wrinkles!
    One think I decided to change though, because I felt it would be too difficult to apply these nodes to other models. And I also wanted more outside control over the wrinkles.
    My solution: Connect the Face Area to map range directly (9:54), and take "From max" value to the Group input (through a multiplier by 0.0003). This input would control the spread of the wrinkles. The result of the map range goes to the ColorRamp, separate RGB and Area output. Additionally, I control the size of the wrinkles and the noise scale. Works very well and can be adjusted for any liking.

    • @leonkecman3778
      @leonkecman3778 2 роки тому

      hey I'm trying to do it your way but running into few issues. Would love if you could explain this further, especially how to apply this to any object with a mesh! Tia!

  • @stevensteverly
    @stevensteverly 7 місяців тому

    great tutorial! Took way longer than 15 minutes, but I suppose that's just a skill issue on my part. got it to work with the cc4 wrinkle system, so now my characters can be more wrinkley than ever before!!:)

  • @jeevapjs
    @jeevapjs 2 роки тому +177

    Bro please do muscle sim through soft body sim for human or animal character

  • @ChaosProwler
    @ChaosProwler 2 роки тому

    The way you play GeoNodes just opened my mind! Thank you so much!

  • @maxismakingstuff
    @maxismakingstuff 2 роки тому

    hands down the best demonstration of how to set up a tension map I've ever seen in any software

  • @manuel.camelo
    @manuel.camelo Рік тому +2

    this is INSANE 👁️👁️👃👃👁️👁️

  • @johnsmith56920
    @johnsmith56920 2 роки тому

    Wow! That's a fix. What amazed me most is how you can be so young, so competent at what you do and good at teaching. I have some specific needs so I'll look into you Patreon to see if there is something for me. If so I'll pay up!

  • @g00se_ars0nist
    @g00se_ars0nist Рік тому

    words can not express how grateful I am for this video

  • @loygeeAGAIN
    @loygeeAGAIN Рік тому

    That starting animation is terrifying

  • @21EC
    @21EC 2 роки тому

    Holy fking shit...mind blown, this is way too amazing and advanced, the person who invented this technique is a fucking genius !

  • @egert2841
    @egert2841 Рік тому

    Recognized your Estonian accent! Hea töö! I will try this technique soon! :) Just finished Blender Guru’s “Anvil tutorial”. Jätka samas vaimus ja häid pühi! :)

  • @KaidencB
    @KaidencB 2 роки тому +2

    Amazing! i love wrinkle maps

  • @nystemy
    @nystemy 2 роки тому +3

    So effectively most of the function here is to compare the rest state of a face to the deformed state of the face. If the face gets smaller we generate a proportional output that gets multiplied by a noise map to generate our desired offset that gets applied along the normal map of the face.
    To be fair, Blender should really just have 1 function to check the size of a face between two points in "time" along the deformation process. (since we might have armature deformation, shape keys, deformation cages, and the geometry nodes, all intermingled in a fancy soup of confusion. One might be interested in taking the size at different points in that process.)

    • @LuisPereira-bn8jq
      @LuisPereira-bn8jq 2 роки тому +2

      "To be fair, Blender should really just have 1 function to check the size of a face between two points in "time" along the deformation process."
      You can already do this, right now:
      1. start your modifier stack with a Geo Nodes modifier that does nothing but output FaceArea to an attribute you call BaseArea
      2. include all of your deformation modifiers
      3. end with another Geo Nodes modifier that receives BaseArea as an input. This works because the BaseArea attribute will be the Area calculated in the very first node, and unchanged by the deformations. On the other hand, the FaceArea node will now compute the area after deformation, meaning that this second Geo Node will have access to both areas, allowing you to do whatever you want with the values.

    • @nystemy
      @nystemy 2 роки тому +1

      @@LuisPereira-bn8jq Well, isn't that nice.
      Makes the whole "importing from a second object that stores our initial face sizes" thing a bit redundant since our object can just do that magic internally.

    • @RomboutVersluijs
      @RomboutVersluijs 10 місяців тому

      ​@@LuisPereira-bn8jqthanks for the idea. I lost my prebaked cash of a heavy cloth sim due to me duplicating the mesh and then Deleting the cloth sim on the duplicate. Blender then seems to delete the cache from the original as well, that feels like a bug. Should not be doing that

    • @RomboutVersluijs
      @RomboutVersluijs 10 місяців тому

      ​​@@LuisPereira-bn8jq I was tinkering a bit about. But doesn't he use a base shape without movement to get the default face area. That way he can compare original vs new. If you add the base before in the stack, it would be basically be the same. He actually showed that when he duplicates the curve, because it has same GN setup, the out out is the same once you start moving it.
      Did you test your method?

  • @PrinceWesterburg
    @PrinceWesterburg 2 роки тому +5

    Thats a really complex way of working out polygon size change when if you know the the extremes of size you can base map changes from these extremes.

  • @RobbieTilton
    @RobbieTilton 2 роки тому +5

    killer tutorial. thanks so much for the detailed breakdown

  • @iluvyunie
    @iluvyunie 2 роки тому

    Underrated blender channel

  • @Ivofilosofo
    @Ivofilosofo 2 роки тому

    I have been waiting 3 years for this video

  • @abhinav3081
    @abhinav3081 2 роки тому +2

    I love your videos. Super easy to understand, super clear, and most of all. so creative. Thank you for making videos

  • @man_art_man
    @man_art_man 2 роки тому

    The best and most interesting GN Tutorial to understand the Power of Blender GN fields.. Thanks a lot for sharing with us yout Knowlege!

  • @pile333
    @pile333 2 роки тому +17

    Super cool! Have you already tried this to simulate wrinkles on elbows and knees, with muscle bulges? That should be a possible solution for that ongoing issue.

  • @fishcelery4894
    @fishcelery4894 Рік тому +2

    HE KNOWS TOO MUCH

  • @luciox2919
    @luciox2919 2 роки тому

    i didnt understand a thing but still liked the tutorial for pushing the possibilities of what we can do in blender

  • @gaborzeley2631
    @gaborzeley2631 2 роки тому

    You are just simply a genius!

  • @nguyenhongson1330
    @nguyenhongson1330 2 роки тому

    i’ve wait for it for longgggggggg time bro

  • @toapyandfriends
    @toapyandfriends 2 роки тому +4

    I noticed the whole video you're doing it on the cylinder and stuff... Can you make one specifically designed to show us how to make faces like that guy that made that human add-on for blender? 😎'I would seriously be like 🤠'yayyyyyyy

    • @RomboutVersluijs
      @RomboutVersluijs 2 роки тому +1

      I think it won't be ideal, because uses super high poly. That would explode the polycount

    • @toapyandfriends
      @toapyandfriends 2 роки тому

      @@RomboutVersluijs well eventually you have to use this on a human face if you're going to advance as a VFX artist right?...🙂

    • @RomboutVersluijs
      @RomboutVersluijs 2 роки тому

      @@toapyandfriends No, it can be done with maps and looks better than his end result.

    • @toapyandfriends
      @toapyandfriends 2 роки тому +1

      @@RomboutVersluijs 😎'you mean wrinkle maps right? I looked at human generators node groups and he seem to have some specialized wrinkle nodes haven't bought it yet but I'm going to...

    • @RomboutVersluijs
      @RomboutVersluijs 2 роки тому

      @@toapyandfriends Nodes would be even better perhaps. His models are insanely good in terms of details.the rigs are out of this world

  • @David0gden
    @David0gden 2 роки тому

    Yus! This is what I needed. I love sculpting wrinkles by hand, but it is time consuming.

  • @goshawk_fly
    @goshawk_fly 2 роки тому

    This link from Geonodes to Shader editor is very important! I didn't know it! Thanks!

  • @fabriziolorito
    @fabriziolorito 2 роки тому

    Super tutorial: Deep, easy to follow, full of smart solutions. Fantastic as usual.

  • @toapyandfriends
    @toapyandfriends 2 роки тому +1

    😎'so badass man...you figured this one out and you're teaching it to us thank you ...his characters that he makes are the guideline I was measuring all mine to o

  • @rachelnaswita
    @rachelnaswita Рік тому

    I'm sorry, I shouldn't be doing this but, the thumbnails is so funny, it made me laugh so much 😂😂😂

  • @MichaelSoluyanov
    @MichaelSoluyanov 2 роки тому +9

    I suppose it is better to bake the initial colors into texture, so that you don't have to have the duplicate of geometry and recalculate additional object every frame

  • @marcelomolina5005
    @marcelomolina5005 2 роки тому +1

    What's easy about those wrinkles?? XD
    Great video, man!!

  • @miportafolioenfolios443
    @miportafolioenfolios443 2 роки тому +1

    Life changing thing, if you type .05 this is equal to 0.05

  • @thefoxxyguy5826
    @thefoxxyguy5826 2 роки тому

    Thanks man I was searching for this for years

  • @ian_b
    @ian_b Рік тому

    Having waded through this to the end, thank you for posting! But it does kind of confirm my view that visual programming like this is not a good paradigm once one wants to do anything complicated and is actually less ergonomic than an API, and I say this having written a node-based application myself. You always ends up almost having to fool the nodes to do what you want them to do, as with the stage where we're duplicating the object to use as a base state, which is pretty much kludge territory.

    • @BadNormals
      @BadNormals  Рік тому +1

      It is true, luckily geometry nodes are constantly developing and some things from this video can already be done better.

    • @ian_b
      @ian_b Рік тому

      @@BadNormals It's really a pity there's no simple way to get a base state from the mesh; Blender knows what it is internally, but it's not exposed apparently?

  • @valovanonym
    @valovanonym 2 роки тому

    Funny how I thought about doing this a few days ago and then you post a tutorial about it!
    I will try to find a way to do it by myself and then compare with you're way, it might be fun

  • @CodeZakk
    @CodeZakk 2 роки тому +2

    Thanks for your awesome tutorials!!

  • @tclark1500
    @tclark1500 2 роки тому

    Macs are underrated for blender

  • @TwinLoki
    @TwinLoki 2 роки тому +1

    Mindblowing!

  • @RefoProduction
    @RefoProduction 2 роки тому

    Bro this is insane

  • @sultanthe2nd
    @sultanthe2nd 2 роки тому

    Even Loreal would be proud of how quickly you remove wrinkles!

  • @patricenegros3982
    @patricenegros3982 2 роки тому

    pure genius... thank you

  • @bretmedeiros1903
    @bretmedeiros1903 2 роки тому

    Your the best kid. Keep up the good work. Your going far.

  • @tistalagosta3449
    @tistalagosta3449 2 роки тому

    I geuss they say, we learn something every day 💛

  • @TallyHD
    @TallyHD 2 роки тому

    Wtf, this is so creative! Thank you for that one!

  • @vstreet7583
    @vstreet7583 2 роки тому

    Just brilliant! Absolutely brilliant! Your tutorials are master classes. THANK YOU! Dg

  • @adambeaumont2534
    @adambeaumont2534 2 роки тому +1

    Niko from Corridor Digital! THE PORES STRETCH!

  • @nico-s5k
    @nico-s5k 2 роки тому

    this is beautiful

  • @tavoff70
    @tavoff70 2 роки тому

    BRILLIANT TUTORIAL!!!!

  • @Dabbl1ng
    @Dabbl1ng 2 роки тому

    Thanks a lot! From the moment I saw that video of the wrinkled face I wished I could learn how to do it :D

  • @pelakalion
    @pelakalion 2 роки тому

    Your tutorials are amazing. You are a master :D

  • @ArnoldVeeman
    @ArnoldVeeman 2 роки тому +7

    I am at 5:11 and wondering from the start "why not use displacement maps?". It saves computing time drastically.

    • @cg-denis
      @cg-denis 2 роки тому

      Because all this video is a continuous improvisation of the author. And Chris Jones uses displacement maps and drivers and the grid is much easier and can be animated without the death of the computer)

    • @dant4774
      @dant4774 Рік тому

      @@cg-denis yes, actually what matters in the video for the effect is just the second half of the procedure

  • @realtimberstalker
    @realtimberstalker 2 роки тому

    Stretch maps used to be a feature in blender but was removed. I believe there’s actually an addon for stretch maps.

  • @infographie
    @infographie Рік тому

    Excellent

  • @millerbyte
    @millerbyte Рік тому

    Brilliant. Thank you!

  • @JoeElShawadfy
    @JoeElShawadfy 2 роки тому

    You are breathtaking!

  • @akunekochan
    @akunekochan 2 роки тому

    That's exactly what I need. Thanks

  • @grippa7246
    @grippa7246 2 роки тому

    Love to see a method to create a wave similar to ones in Surfs Up in blender and isnt a sim.

  • @plasid2
    @plasid2 2 роки тому

    Pure gold

  • @CG_Animates
    @CG_Animates 2 роки тому

    This is really great for making clothes

  • @kingofgranges
    @kingofgranges 2 роки тому

    Brilliant mate

  • @fatkart7641
    @fatkart7641 2 роки тому

    In a pure moment of cluelessness and total absence of judgment, here I was, expecting to see someone putting their face in a blender to get wrinkles, somehow.

  • @kvendy
    @kvendy 2 роки тому

    It's time to use it on my characters, thank you

  • @Mr_Sapphire
    @Mr_Sapphire 2 роки тому

    Chris Jones very good artist

  • @watchitdogs2280
    @watchitdogs2280 2 роки тому

    Chris jones somewhere - I'm feeling disturbance in force....

  • @emilienbettinger283
    @emilienbettinger283 Рік тому

    Aaaya ce khey de qualité

  • @jun-lz2sq
    @jun-lz2sq 2 роки тому +1

    genius

  • @shmuelisrl
    @shmuelisrl 2 роки тому +3

    I usually scale the normal (not mix it) also you can subtract the mid-level from hight and multiply by scale (I made a node for reuse like this)

  • @v-sig2389
    @v-sig2389 2 роки тому

    Incredible

  • @vondonks
    @vondonks 2 роки тому

    I hope you know you're a genius and I hope it never goes to your head.

  • @senboy9002
    @senboy9002 Рік тому +1

    Looks like the Transfer Attribute node was replaced with the Capture Attribute node instead which is similar but without the index input, and it's just black. After going to the subtract color step, it still has color before it's moved
    Edit: I just had to go to Group > BaseState and connect the Area output

  • @GaryParris
    @GaryParris 2 роки тому

    excelllent, love your work

  • @lumencg
    @lumencg 2 роки тому

    “Sponsored by l’Oreal Paris”. Make me lol on the bus 😂

  • @berow8830
    @berow8830 2 роки тому +1

    plz make tutorial about camera cinematic movement

  • @pedroafonsoai
    @pedroafonsoai 2 роки тому

    Awesome bro! More geometry nodes videos please 🚀

  • @fadepanther6224
    @fadepanther6224 2 роки тому

    I figured out what I was doing wrong, but there are some innerworkings that your Patron tutorial helped me see as an issue that I had to work out.
    You were mostly right. It DOES work and it can be used as a mask. It also DOES work for any mesh.
    It isn't exactly the same system, however the changes are worth looking into your Patron to see them.

  • @krovvl13
    @krovvl13 Рік тому

    Pls, camera x axis rotation -10º :,D. Great video as always!!

  • @dachipsaaron
    @dachipsaaron 11 місяців тому

    just woaow... thanks for that

  • @nonexternal
    @nonexternal 2 роки тому +1

    Id love if u also shared a blend file for these tuts. As not everyone dosnt have the time or wants to set these up themselves, but rather use the tool. id even pay you

    • @BadNormals
      @BadNormals  2 роки тому +2

      They are perfectly available on my Patreon.

    • @nonexternal
      @nonexternal 2 роки тому

      @@BadNormals Takktakk, så ikke noe informasjon om det ^^

  • @sargentskylon892
    @sargentskylon892 2 роки тому

    thanks bro

  • @HagenvonEitzen
    @HagenvonEitzen 2 роки тому +1

    14:00 Instead of mixing the colour-ramped values, should you not rather have mixed the untransformed numerical values of the face areas? And perhaps even divided instead of subtracted them (with 1 meaning stretching)?

  • @c4bbage676
    @c4bbage676 2 роки тому

    holy shit this is smart asf