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
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
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.
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.
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.
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.
Thanks for watching! I hope you found this guide... titillating! The complete 3D modeling guide can be found here: th-cam.com/video/dd6G2S6MQ6U/w-d-xo.html My website also has written versions of the guide: codernunk.com/tutorials/godot-jiggle-physics/
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
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.
@@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)
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.
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.
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....
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.
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.
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.
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.
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?.
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!
@@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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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. 🤔
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!
Nice
"You can influence the feeling of jiggle by tweaking the stiffness", gold
I realize how ironic that sounds :D
Thanks man. Needed this for the balls.
Understandable. And no problem.
Everybody talking about boobs physics but no one about balls physics :(
@@coucoul38 There's nothing to say about them since they peaked in RDR2
I never understood how this worked propperly until you used the rope analogy. It makes so much sense now!
I'm glad the rope analogy was the right move there. Thanks!
now read your comment again without watching the video
Finally, more godot, not only unity
CoderNunk? More like CoderNut
OUR CoderNut
@codernunk Communism at its finest
CoderSpunk
I never even used Godot, but when i saw this video, i knew i had to watch it...
Thanks for popping in anyway!
🤨🤨🤨🤨💀
Men of Culture
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
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
There is no one who teaches this much like you, thank you.
No worries! I try my best to be thorough.
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.
No problem. I think jiggle bones would actually work really well in your case.
Rope and jiggle physics, The perfect combo
Bro coming out the gates with the Xenoblade 3 and I'm under attack.
@@SmellsMonochrome I thought I'd use something a bit meatier
HEAR THAT NOAH
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.
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.
I'm shocked you don't have more subscribers. This video was highly informative
I appreciate the sentiment! It takes some time, but we're getting there. Thanks for joining!
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.
Of course! I'm glad to have a cultured man here!
Can you do juggle physics next?
This made me laugh. I don't know how to juggle though, so I don't think I'd be much help...
wanted to let you know this was at top of my suggestion list, the algo seems to know me well
I see you are cultured
Thanks for watching! I hope you found this guide... titillating!
The complete 3D modeling guide can be found here: th-cam.com/video/dd6G2S6MQ6U/w-d-xo.html
My website also has written versions of the guide: codernunk.com/tutorials/godot-jiggle-physics/
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
Thank you for this, excellent tutorial with all the details! Beautiful model too!
You're very welcome!
Exactly what i needed to know. Subscribed! Now i just need to figure out how to sword trails in real time...
Thank you for subscribing! Sword trails are on my list as well, but I have to learn how to do it first.
Fantastic video. Pity that softbody support in Godot 4.2 is broken. In any case, the jiggle bones addon is super easy to use!
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.
@@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)
"ferb! I know what we're going to do today!"
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.
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.
Finally... The tutorial we've been waiting for
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.
@@codernunk sir, I might say that you made my neurons jiggle xD
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....
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.
It's not like the devs owe anything to their users anyway
I'm not even a Godot dev. I'm here just to give this glorious topic more view time.
i had to watch this video multiple times because i couldnt pay attention
Fair
ayo 😂
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.
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.
10/10 thumbnail
Some of my best work :D
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.
I'm glad you enjoyed it!
Thanks!
You bet!
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?.
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!
@@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.
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.
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.
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.
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.
I love jiggle physics both ways...
especially irl
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?
Yep. I will name bones with a prefix that makes it easier to select the bones I want to add the jiggle to.
I'm amaze how low your view count is for free guides.
It's all part of the process. I appreciate your sentiment though!
Truly
People still don't like godot
@@neetpride5919 As with Blender once upon a time.
First they ignore you, then they laugh about you, then they fight you, then you win.
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.
Love to see people get inspired!
I'm now getting Godot.
hidden gem
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.
Potentially. I guess it depends on what it's applied to and the art style being used. Doesn't hurt to experiment though.
Maybe now we can get CGI into hiphop music videos. You know, for all the chains and clothing.
Great tutorial! Can these bones collide with the ground at all? I'm trying to make a character tail drag along the ground o:
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.
Excellent video! Wont use it but maybe someday, who knows lol 😅
Thanks! Yeah, there may be a use in the future, but nothing's wrong with expanding the toolbox!
But if you do it right, it can raise more than just eyebrows. Bruh is tellin' it how it is.
🤨🤨🤨
When I saw joggle physics, I thought about the fish from tf2.
This is important
Yes it is
goated
🐐
8:40 guuuys... why is this the most replayed section..?
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
Dang
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
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.
Smash Bros does run at 60, along with several other games. Are you lying or misinformed?
I think I have found god... thank you sir for enlightening me
I pray for your success!
i can add tail to monke now, yippee
Yep, that's a great use for this!
Other parts, yeah.
"Or other parts?"
Well, I meant tails, ears and such.
Who am I kidding. This is a video about jiggle physics. Of course I meant breasts.
@@codernunk tiddies 💖
Ass!!!!!!
@codernunk lmaooooooo
Still ain't no Magicka Cloth
I am a gamedev
I am a jiggledev.
Also mostly known as .... 🤭
( ͡° ͜ʖ ͡°)
ayo
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.
Hey, whatever works, right?
"Skirts go downwards and breasts go forward" sounds a bit sus
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.
@@codernunk yeah i get it lol, i use unity still toh cz of visual scripting
Wow it not easy I guess as long shown it would either easy and hard at the same time.
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.
...SUBSCRIBE
First!
Welcome!
:LUL:
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. 🤔