Jiggle Physics in Godot

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

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

  • @codernunk
    @codernunk  2 месяца назад +18

    Thank you all for 69K views! This is my best performing (regular) video on my channel at this time. Gee, I wonder why?
    Anyway, have an awesome day!

  • @jovanlisac
    @jovanlisac 4 месяца назад +547

    "You can influence the feeling of jiggle by tweaking the stiffness", gold

    • @codernunk
      @codernunk  4 месяца назад +74

      I realize how ironic that sounds :D

  • @blossomcherrypink
    @blossomcherrypink 4 месяца назад +632

    Thanks man. Needed this for the balls.

    • @codernunk
      @codernunk  4 месяца назад +158

      Understandable. And no problem.

    • @coucoul38
      @coucoul38 3 месяца назад +77

      Everybody talking about boobs physics but no one about balls physics :(

    • @FiksIIanzO
      @FiksIIanzO 3 месяца назад +22

      ​@@coucoul38 There's nothing to say about them since they peaked in RDR2

  • @carlosiagnecz
    @carlosiagnecz 3 месяца назад +144

    I never understood how this worked propperly until you used the rope analogy. It makes so much sense now!

    • @codernunk
      @codernunk  3 месяца назад +13

      I'm glad the rope analogy was the right move there. Thanks!

    • @topminator2991
      @topminator2991 2 месяца назад +1

      now read your comment again without watching the video

  • @TheCommunistRabbit
    @TheCommunistRabbit 4 месяца назад +118

    CoderNunk? More like CoderNut

    • @codernunk
      @codernunk  4 месяца назад +26

      OUR CoderNut

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

      ​@codernunk Communism at its finest

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

      CoderSpunk

  • @OJapaTerrorista
    @OJapaTerrorista 4 месяца назад +76

    I never even used Godot, but when i saw this video, i knew i had to watch it...

    • @codernunk
      @codernunk  4 месяца назад +9

      Thanks for popping in anyway!

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

      🤨🤨🤨🤨💀

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

      Men of Culture

  • @surepart
    @surepart 3 месяца назад +57

    Finally, more godot, not only unity

  • @nanovoidalt
    @nanovoidalt 4 месяца назад +38

    Please continue these guides. You are an incredible communicator, I've seen other Godot creators mention your work and that's how I got here... Okay, maybe it was the jiggle physics

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

      Thank you for the kind words. Out of curiosity, what other creators have mentioned me? I did not think I had that kind of influence.
      Also, jiggle physics are fun, so I understand that :D

  • @mainakdas7441
    @mainakdas7441 4 месяца назад +79

    There is no one who teaches this much like you, thank you.

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

      No worries! I try my best to be thorough.

  • @RealEmar
    @RealEmar 4 месяца назад +12

    Thank you. i did not know that jiggle animation can be used for hair. Is going to be very useful for my fakemon as it has sort of a coat made of fur and i had no idea how to get to animating it.

    • @codernunk
      @codernunk  4 месяца назад +5

      No problem. I think jiggle bones would actually work really well in your case.

  • @morgen3369
    @morgen3369 4 месяца назад +8

    Finally a comprehensive guide on this. Thank you for putting in the effort. I've been using wigglebone, works great for single bones but not for a chain of them. So i'll definitely try this jigglebone method.
    I'm wondering how performance heavy it is though.

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

      No worries. I got requests to do this guide, plus I wanted to share how I got mine to work. I found that the Jigglebone addon performs a bit better overall with more bones. My character has 52 bones and it seems to work fine, but I also have a powerhouse of a PC. I thought about making a GDExtension version of the addon in C++ one day to see if there could be better performance.

  • @tschichpich
    @tschichpich 3 месяца назад +5

    Rope and jiggle physics, The perfect combo

  • @lexalot8337
    @lexalot8337 4 месяца назад +22

    I'm shocked you don't have more subscribers. This video was highly informative

    • @codernunk
      @codernunk  4 месяца назад +2

      I appreciate the sentiment! It takes some time, but we're getting there. Thanks for joining!

  • @FuuzBeeen
    @FuuzBeeen 3 месяца назад +6

    First video I came across, I know, a man of culture, but I am glad to have found this gem as I am beginning my work up to dev projects on Godot and need whatever good help I can get, thank you kindly, sir.

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

      Of course! I'm glad to have a cultured man here!

  • @SmellsMonochrome
    @SmellsMonochrome 3 месяца назад +26

    Bro coming out the gates with the Xenoblade 3 and I'm under attack.

    • @codernunk
      @codernunk  3 месяца назад +5

      @@SmellsMonochrome I thought I'd use something a bit meatier

    • @adamkampen
      @adamkampen 2 месяца назад +1

      HEAR THAT NOAH​

  • @Test-iv4pm
    @Test-iv4pm 4 месяца назад +15

    Can you do juggle physics next?

    • @codernunk
      @codernunk  4 месяца назад +7

      This made me laugh. I don't know how to juggle though, so I don't think I'd be much help...

  • @DiegoSynth
    @DiegoSynth 27 дней назад

    Thank you for this, excellent tutorial with all the details! Beautiful model too!

    • @codernunk
      @codernunk  26 дней назад

      You're very welcome!

  • @codernunk
    @codernunk  4 месяца назад +40

    Thanks for watching! I hope you found this guide... titillating!
    The complete 3D modeling guide can be found here: ruclips.net/video/dd6G2S6MQ6U/видео.html
    My website also has written versions of the guide: codernunk.com/tutorials/godot-jiggle-physics/

    • @tripalaygamestudios
      @tripalaygamestudios 4 месяца назад

      ok i'm obligated to comment on your video.
      it's your thing, but i'm not much for sdks or menu uptions. i'd rather talk 2nd order mass-springs and c/c++.
      free demonstrations given

  • @kernsanders3973
    @kernsanders3973 4 месяца назад +3

    wanted to let you know this was at top of my suggestion list, the algo seems to know me well

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

      I see you are cultured

  • @nozeekah5035
    @nozeekah5035 2 месяца назад +1

    "ferb! I know what we're going to do today!"

  • @gonderage
    @gonderage 3 месяца назад +4

    A buddy and I made a WIP wiggle-to-jiggle blender export pipeline (will link on request, but it's super hard coded). Athough, I don't know how jigglebones is performant for you, because my character had a bunch of bones, and the game lagged hard, unless if the addon was upgraded since last year.

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

      That's pretty neat! I ended up using the Jigglebone addon over the Wigglebone addon because I got better performance from the former. I also have a really strong PC so I may have to do some tuning in the future.

  • @MateoTeos
    @MateoTeos 4 месяца назад +10

    Finally... The tutorial we've been waiting for

    • @codernunk
      @codernunk  4 месяца назад +2

      I thought this would land with some people haha. Genuinely a good topic to discuss though because there's a lot more to it than meets the eye.

    • @MateoTeos
      @MateoTeos 4 месяца назад

      @@codernunk sir, I might say that you made my neurons jiggle xD

  • @tissueinu
    @tissueinu 4 месяца назад +6

    Fantastic video. Pity that softbody support in Godot 4.2 is broken. In any case, the jiggle bones addon is super easy to use!

    • @codernunk
      @codernunk  4 месяца назад +2

      Thanks! To be fair, I played around with it mostly in older versions but from my testing I couldn't get it to work in 4.x. Dunno if I'm missing something or not.

    • @Firstname-d6g
      @Firstname-d6g 2 месяца назад

      ​@@codernunkit seems like Godot interpets models as one piece of cloth when they're used as softbodies, if you try using a capsule as a softbody you can see that there's a section where the capsule opens up and becomes nothing more than a plane. It might work for you, cus my version is slightly different(made my own custom plugins for ease of accessibility)

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

    Exactly what i needed to know. Subscribed! Now i just need to figure out how to sword trails in real time...

    • @codernunk
      @codernunk  4 месяца назад +3

      Thank you for subscribing! Sword trails are on my list as well, but I have to learn how to do it first.

  • @GeorgeGorge
    @GeorgeGorge 4 месяца назад +11

    It's so disappointing that soft bodies and physical bones are still such a mess in Godot. I remember the last time I tried using them was somewhere around 3.2, and then there was the promise that "they will be fixed in 4.0". Here we are in 4.3 and still no progress at all....

    • @codernunk
      @codernunk  4 месяца назад +2

      Alas, that's the way software development goes sometimes. I've worked at a big financial firm as my last job, and we would delay stuff all the time. I think managing expectations is important here, though.
      I'm not sure if I did anything wrong, but I remember having trouble with the softbody implementation all the way back in 3.x. To be honest, I didn't spend too much time on it in 4.x but it seemed to still be unfinished.

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

      It's not like the devs owe anything to their users anyway

  • @FezonRBX
    @FezonRBX 3 месяца назад +14

    i had to watch this video multiple times because i couldnt pay attention

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

    Last I checked, the 6DOFJoint functionality you would need for them to work like jiggle bones (linear and angular spring behavior) isn't even implemented in Godot 4. I had to switch to using Jolt with Godot to get them to work, and even then getting chains of physical bones connected by spring joints to be stable was near impossible (was trying to add physics to hair, but it would literally always explode). Interesting to see that the jiggle bones addon works so much better than using joints.

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

      Yeah, I found it to be unusable because there was no documentation on what each joint did or how to configure them properly. It may be a viable alternative in the future, but for now, jiggle bones it is.

  • @litzborg
    @litzborg 4 месяца назад +62

    I'm amaze how low your view count is for free guides.

    • @codernunk
      @codernunk  4 месяца назад +13

      It's all part of the process. I appreciate your sentiment though!

    • @ShuckyWucky
      @ShuckyWucky 4 месяца назад +2

      Truly

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

      People still don't like godot

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

      ​@@neetpride5919 As with Blender once upon a time.
      First they ignore you, then they laugh about you, then they fight you, then you win.

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

    I'm not even a Godot dev. I'm here just to give this glorious topic more view time.

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

    Im not sure why i clicked(loljk we all know why I did) but i actually learned so much from this video, like unironically, jokes aside, this is a hidden gem of a vid.

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

      I'm glad you enjoyed it!

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

    I love jiggle physics both ways...
    especially irl

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

    I would use the term "inertial physics" as opposed to "secondary animations", for two reasons. 1st, "secondary animations" could refer to a lot of things beyond just jiggle physics, such as impact ripples in water, or impact particles. 2nd, "inertial physics" more accurately describes the aspects of what we are trying to emulate.

    • @codernunk
      @codernunk  3 месяца назад +2

      Makes sense. I wanted to link it to a more "professional" term for the explanation of the video, but I wasn't completely sure secondary animation was the most accurate term.

  • @jenbanim
    @jenbanim 3 месяца назад +4

    10/10 thumbnail

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

      Some of my best work :D

  • @dfunited1
    @dfunited1 21 день назад

    Maybe now we can get CGI into hiphop music videos. You know, for all the chains and clothing.

  • @JonathanTash
    @JonathanTash 3 месяца назад +5

    But if you do it right, it can raise more than just eyebrows. Bruh is tellin' it how it is.

  • @relinkking4704
    @relinkking4704 4 месяца назад +3

    I'm not good at coding, maybe this is not right. I found this line: "global_transform.origin = goal_pos + (global_transform.origin - goal_pos).normalized()" which seems set the bone length to 1. I set a export var bone_length and change this line to "global_transform.origin = goal_pos + (global_transform.origin - goal_pos).normalized() * bone_length", set forward_axis to Axis.Y_Plus and use gravity. Than it's easy to set the collisionshape position.

    • @codernunk
      @codernunk  4 месяца назад +3

      This would be in the Jigglebone script, right? That makes sense to me. The Jigglebone (as opposed to Wigglebone) doesn't have the length setting so that seems like a way to make that work.

  • @Damian_DH
    @Damian_DH 4 месяца назад +3

    bro how would u tackle wiggle effect on circular bones shapes such as hanging accessories, necklaces, armband, tie that need the neck area also to wiggle. So far there is no posible option to me at least to constraint the last bone of a chain with copy location/rotation/transform the simulation just falls. Damped track can only look at the selected bone but let say u want to close the loop redirecting the last bone of the hierarchy to the first bone that is attached to the chest how would u do it?.

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

      Hmm... I haven't run into this scenario, but I think you could fake the look of the necklace this way: rather than rigging both strands connecting to the necklace, make a single rig chain in the middle connecting to the necklace, then weight paint both strings evenly. That way you can rig it like one bone chain and it should still work. Hope this helps!

    • @Damian_DH
      @Damian_DH 4 месяца назад

      @@codernunk yea is what i did with the hanging accessory. A single line of bones is actually so sad we cant have a solution for more complex shapes when it comes to wiggle addon. But it is what it is. I can still do some tricks in the engine. Thanks a lot.

  • @PlotoXDisntfuny
    @PlotoXDisntfuny 3 месяца назад +2

    I'm now getting Godot.

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

    When I saw joggle physics, I thought about the fish from tf2.

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

    Excellent video! Wont use it but maybe someday, who knows lol 😅

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

      Thanks! Yeah, there may be a use in the future, but nothing's wrong with expanding the toolbox!

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

    Nothing like a good ol' jiggle to give me the motivation to go do some work on my project.
    Update: actually did make a lot of progress, the power of jiggle fills me with determination.

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

      Love to see people get inspired!

  • @staskravcenko7324
    @staskravcenko7324 27 дней назад

    Thanks!

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

    I'm assuming when using your editor code that the best practice might be to give wiggle bone groups from Blender a preface or some such?

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

      Yep. I will name bones with a prefix that makes it easier to select the bones I want to add the jiggle to.

  • @DarksiderDarmoset
    @DarksiderDarmoset 20 дней назад

    Great tutorial! Can these bones collide with the ground at all? I'm trying to make a character tail drag along the ground o:

    • @codernunk
      @codernunk  20 дней назад

      Thanks! I don't think the Jigglebone addon supports collisions in that manner. I'm not aware of any addons that would help with tail collisions either, unfortunately.
      If I were to try to solve the problem though, I would think of potentially simulating the collisions using nodes that act as a proxy, then modify the tail bones so they point toward those proxy bones. I'm thinking something like having a Node3D with a CollisionShape that simulates the gravity, but has its movement restricted to the length of the source tail bone.

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

    Fun fact, the Nintendo Switch does NOT run Smash Ultimate at 60 FPS, this is because the Switch is for some weird reason, capped at 30 FPS, instead of being able to run higher than that like previous Nintendo consoles, causing it to run 2-4 times slower than its competitors and making the only actual reason to own a Switch being games only available on it

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

      Thanks for the clarification. For some reason, I heard all smash games ran at 60 FPS. Might have to check my sources better next time.

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

      Smash Bros does run at 60, along with several other games. Are you lying or misinformed?

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

    hidden gem

  • @8bitbunnie936
    @8bitbunnie936 2 месяца назад +1

    8:40 guuuys... why is this the most replayed section..?

  • @That1One-Guy
    @That1One-Guy 3 месяца назад +1

    Sonic adventure changed video game with rouge the bat’s jiggle physics. Too bad the rerelease (sonic adventure 2 battle) turned those jiggle physics way down

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

    I got the synty nature tree wind shader working in Godot, synty use vertices with colour as a "multiplier" for the wind effect. Wonder if one can use that too.

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

      Potentially. I guess it depends on what it's applied to and the art style being used. Doesn't hurt to experiment though.

  • @ethosaur
    @ethosaur 4 месяца назад +5

    This is important

  • @keen96
    @keen96 4 месяца назад +3

    goated

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

    I think I have found god... thank you sir for enlightening me

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

      I pray for your success!

  • @Doomguy-15
    @Doomguy-15 3 месяца назад

    i can add tail to monke now, yippee

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

      Yep, that's a great use for this!

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

    Other parts, yeah.

  • @hughzon1042
    @hughzon1042 4 месяца назад +3

    "Or other parts?"

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

      Well, I meant tails, ears and such.
      Who am I kidding. This is a video about jiggle physics. Of course I meant breasts.

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

      @@codernunk tiddies 💖

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

      Ass!!!!!!

    • @AffectionateCanoe-vc4hj
      @AffectionateCanoe-vc4hj 3 месяца назад

      ​@codernunk lmaooooooo

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

    Still ain't no Magicka Cloth

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

    "Skirts go downwards and breasts go forward" sounds a bit sus

    • @codernunk
      @codernunk  2 месяца назад +1

      This was among a few lines in the script that were a bit weird, but it's a jiggle physics video so I left it in.

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

      @@codernunk yeah i get it lol, i use unity still toh cz of visual scripting

  • @TwoThreeFour
    @TwoThreeFour 4 месяца назад +3

    Also mostly known as .... 🤭

    • @codernunk
      @codernunk  4 месяца назад +2

      ( ͡° ͜ʖ ͡°)

  • @mr.hooman4438
    @mr.hooman4438 3 месяца назад

    I have been waiting to learn game making and I like watching tutorials about Godot because I am not using unity because unity is evil.

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

      Hey, whatever works, right?

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

    I am a gamedev

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

    ayo

  • @darknetworld
    @darknetworld 4 месяца назад

    Wow it not easy I guess as long shown it would either easy and hard at the same time.

    • @codernunk
      @codernunk  4 месяца назад

      Yeah, it depends on the solution you want to use and the complexity of your character. It also gets much harder if you desire more physical accuracy or cleaner collisions.

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

    ...SUBSCRIBE

  • @MrScottyToo
    @MrScottyToo 4 месяца назад +3

    First!

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

    :LUL:

  • @Sacred-Lotus
    @Sacred-Lotus 15 дней назад

    Finished watching. The design of node based skeleton is unnecessarily complicated, easily spiral into the “Hell of too many Layers of Nodes (depth)” (equiv. to “Too Many Layers of Function overload/Class inheritance” which mean inflexible, hard to maintain code). Well, maybe Godot programmers are *too smart to handle this* , every one of them is way above average talents. 🤔