Jiggle Physics is a fork of the Wiggle 2 addon, by shteeve3d, with a variety of improvements.
Uses the same solver as Unity Jiggle Physics!
Easily accessible overlays allows you to see the system's detected rest pose (in green), and the simulation (in red).
You can use this to visualize collision radius of bones:
Enable the scene's jiggle by clicking the closed eyeball.
Enable a pose bone's jiggle by selecting a bone in pose mode and checking the "Jiggle Bone" checkbox.
i
key on the bones to set the "rest" pose of the jiggle.Keep an eye out for warning buttons in the panel, they will detect most issues and describe how to solve them automatically!
This is by design, you must "bake" the jiggles before rendering them.
This is because Blender can render frames out of order by design. To prevent unintended jiggles, jiggle physics always disables itself during render. This also makes the addon "safe" to add to render farms.
Without a position and rotation keyframe, Jiggle Physics doesn't know what the "rest" pose should be! Double check your dope sheet to ensure that the jiggle bones have position and rotation keyframes. If they don't, reset their position and rotation with alt+g and alt+r, then add a keyframe with i.
The jiggle parameters can be keyframed into animations and actions. There's a handy button to delete all jiggle parameter keys for all selected bones called "Clear Parameter Keyframes" which will attempt to delete them for you. If your keyframes are in an action, make sure that you're tweaking the action first!
Jiggle Physics needs to predict the relationship between bones, and it uses standard parenting to try to understand.
Some more complex rigs might use constraints, bendy bones, or special parenting rules (like ignoring parent positioning) and they aren't supported well.
Try only jiggling deform bones!
"Connected" bones cannot be translated. This prevents jiggle physics from stretching them. If your armature is linked in as an asset then you might need to edit the source file.
That's the neat part, you don't! Instead you can set the Blend value to 0.5
, which will force the final pose to never be more than 90 degrees from the rest pose! Though with more effort it should be possible to find an Angle Elasticity and Length Elasticity that will exhibit the desired jiggle.
Unfortunately meshes only work okay with bones that have a large radius. Flat planes are infinitely thin. Instead you should try to build your colliders out of scaled empties (preferably Empty->Spheres). One way to get a flat floor is to make a planetary-sized collider below the feet.
This extension does not require special permissions.