Jiggle Physics in Godot

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

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

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

    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 6 месяцев назад +570

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

    • @codernunk
      @codernunk  6 месяцев назад +77

      I realize how ironic that sounds :D

  • @blossomcherrypink
    @blossomcherrypink 6 месяцев назад +649

    Thanks man. Needed this for the balls.

    • @codernunk
      @codernunk  6 месяцев назад +163

      Understandable. And no problem.

    • @coucoul38
      @coucoul38 5 месяцев назад +81

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

    • @FiksIIanzO
      @FiksIIanzO 5 месяцев назад +24

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

  • @carlosiagnecz
    @carlosiagnecz 6 месяцев назад +150

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

    • @codernunk
      @codernunk  6 месяцев назад +14

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

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

      now read your comment again without watching the video

  • @TheCommunistRabbit
    @TheCommunistRabbit 6 месяцев назад +123

    CoderNunk? More like CoderNut

    • @codernunk
      @codernunk  6 месяцев назад +27

      OUR CoderNut

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

      ​@codernunk Communism at its finest

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

      CoderSpunk

  • @surepart
    @surepart 6 месяцев назад +61

    Finally, more godot, not only unity

  • @nanovoidalt
    @nanovoidalt 6 месяцев назад +39

    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  6 месяцев назад +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

  • @OJapaTerrorista
    @OJapaTerrorista 6 месяцев назад +79

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

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

      Thanks for popping in anyway!

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

      🤨🤨🤨🤨💀

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

      Men of Culture

  • @mainakdas7441
    @mainakdas7441 6 месяцев назад +81

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

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

      No worries! I try my best to be thorough.

  • @RealEmar
    @RealEmar 6 месяцев назад +13

    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  6 месяцев назад +5

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

  • @morgen3369
    @morgen3369 6 месяцев назад +9

    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  6 месяцев назад +5

      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.

  • @FuuzBeeen
    @FuuzBeeen 5 месяцев назад +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  5 месяцев назад +1

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

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

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

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

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

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

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

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

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

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

      HEAR THAT NOAH​

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

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

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

      You're very welcome!

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

    Rope and jiggle physics, The perfect combo

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

    Can you do juggle physics next?

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

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

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

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

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

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

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

      I see you are cultured

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

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

    • @codernunk
      @codernunk  6 месяцев назад +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 6 месяцев назад

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

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

    10/10 thumbnail

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

      Some of my best work :D

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

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

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

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

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

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

  • @tissueinu
    @tissueinu 6 месяцев назад +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  6 месяцев назад +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 4 месяца назад

      ​@@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)

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

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

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

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

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

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

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

      Truly

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

      People still don't like godot

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

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

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

    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  3 месяца назад

      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.

  • @gonderage
    @gonderage 6 месяцев назад +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  6 месяцев назад +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.

  • @npc_blob1609
    @npc_blob1609 17 дней назад

    Smash Bros has used realtime jiggles since at least Melee on the GameCube. You can observe it in hair, capes etc. it's much more noticeable on stages like Corneria where the wind blows them at a 90 degree angle.

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

      Interesting. I'd have to double check. Thanks for bringing it up!

  • @codernunk
    @codernunk  6 месяцев назад +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/

  • @SamuTheFrog
    @SamuTheFrog 6 месяцев назад +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  6 месяцев назад

      I'm glad you enjoyed it!

  • @canolathra6865
    @canolathra6865 5 месяцев назад +1

    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  5 месяцев назад +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.

  • @GeorgeGorge
    @GeorgeGorge 6 месяцев назад +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  6 месяцев назад +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 4 месяца назад

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

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

    Thanks!

  • @voxelstack
    @voxelstack 5 месяцев назад +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  5 месяцев назад +1

      Love to see people get inspired!

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

    I'm now getting Godot.

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

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

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

    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  3 месяца назад

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

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

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

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

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

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

    I love jiggle physics both ways...
    especially irl

  • @KambingGaming531
    @KambingGaming531 13 дней назад

    You just got a new subscriber

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

      Thank you! Welcome to the channel!

  • @Damian_DH
    @Damian_DH 6 месяцев назад +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  6 месяцев назад +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 6 месяцев назад

      @@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.

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

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

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

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

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

      🤨🤨🤨

  • @relinkking4704
    @relinkking4704 6 месяцев назад +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  6 месяцев назад +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.

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

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

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

    hidden gem

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

    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  4 месяца назад

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

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

    goated

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

    This is important

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

    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  2 месяца назад

      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.

  • @That1One-Guy
    @That1One-Guy 5 месяцев назад +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

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

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

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

      I pray for your success!

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

    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  4 месяца назад

      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 4 месяца назад

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

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

    i can add tail to monke now, yippee

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

      Yep, that's a great use for this!

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

    Still ain't no Magicka Cloth

  • @gravityrushfan299
    @gravityrushfan299 16 дней назад

    Are you Emblemon?

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

    Other parts, yeah.

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

    "Or other parts?"

    • @codernunk
      @codernunk  6 месяцев назад +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 6 месяцев назад

      @@codernunk tiddies 💖

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

      Ass!!!!!!

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

      ​@codernunk lmaooooooo

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

    Also mostly known as .... 🤭

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

      ( ͡° ͜ʖ ͡°)

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

    First!

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

    ayo

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

    I am a gamedev

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

    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  5 месяцев назад

      Hey, whatever works, right?

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

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

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

      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 5 месяцев назад +1

    ...SUBSCRIBE

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

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

    • @codernunk
      @codernunk  5 месяцев назад +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 5 месяцев назад

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

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

    :LUL:

  • @Sacred-Lotus
    @Sacred-Lotus 2 месяца назад

    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. 🤔