Wiggle 2 is a complete rewrite of the original wiggle bones add-on for Blender, offering improved features and stability. It is far from perfect, but it definitely gets the job done!
This project is a fork of the original blender-wiggle-2 by Steve Miller. Modifications have been made to fix compatibility issues with newer Blender versions, new features for bone collision, along with code cleanup and an updated README.
I have minimal experience in Blender, I was asked by a friend to fix this add-on. So everything else is extra and I am by no means an expert in this. If anyone wants to continue/improve it, be my guest (◕‿◕).
For a detailed list of changes, refer to the notice in wiggle_2.py.
- Wiggling now simulates more realistic movements, particularly for ropes or chains.
- By applying a damped track constraint on a wiggling bone, you can pin it to its target, allowing other bones to respond accordingly.
- Bones can interact with specified meshes or collections, with options for friction, bouncing, or stickiness.
- Wiggle 2 supports library-linked assets, allowing for overrides that let you fine-tune your wiggle per scene.
- A one-click bake feature converts visible wiggle bones into keyframes. Preroll options enable the simulation to settle, and the timeline looping option helps create seamless animations.
- Manage everything from a single panel in the 3D animation view for a streamlined, fullscreen workflow.
This feature pairs bones and together with full collision detection generates an invisible plane between them, is then used for collissions.
Please note that this implementation is still experimental and might not work perfectly since it's a bit challenging to test and refine. You can explore the current code on the Bone Pairs branch.
-
Install and Enable the Addon
-
Enable Wiggle on the Bone
-
Configure Bone Physics
-
Set Up Collision
- Select a collision object or collection to enable interactions, providing additional tuning options for collision behavior.
- all bone collisions option
- Full Bone Collision Option:
- You can enable collision detection for the entire length of the bone by checking the Enable Full Bone Collision option in the Global Wiggle Utilities. This allows for more accurate collision interactions along the entire bone rather than just at the head or tail.
- Adjust the Steps setting to define how many interpolation points are used for the collision detection along the bone.
- Set the Collision Threshold to determine the minimum movement distance considered for a collision, and the Dot Threshold for sensitivity during the collision check.
- Select a collision object or collection to enable interactions, providing additional tuning options for collision behavior.
-
Utilize Global Utilities
- The global utilities section offers functions like resetting physics, selecting all wiggling bones, and copying settings between bones.
- Note: You can adjust individual settings on multiple selected bones at once.
- 'Loop physics' prevents the physics from resetting during timeline loops, while 'Quality' sets the number of iterations of the constraint solver, enhancing rope simulations.
-
Bake Wiggle
- The Bake Wiggle sub-utility converts live physics simulations into keyframes, affecting all visible wiggle bones in the viewport.
- Overwrite merges keyframes into the armature's current action or creates a new one. Preroll runs the simulation for a specified number of frames, allowing it to settle, and works in tandem with 'Loop physics' for clean animated loops.
Wiggle 2 is licensed under the GNU General Public License, Version 3.
Individual files may have different, but compatible licenses.