Skip to content

Labhatorian/blender-wiggle-2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wiggle 2

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!

Fork Notice

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.

Features

New Physics Logic

  • Wiggling now simulates more realistic movements, particularly for ropes or chains.

Pinning

  • By applying a damped track constraint on a wiggling bone, you can pin it to its target, allowing other bones to respond accordingly. Pinning

Collision Support

  • Bones can interact with specified meshes or collections, with options for friction, bouncing, or stickiness. Collision

Linking and Library Overrides

  • Wiggle 2 supports library-linked assets, allowing for overrides that let you fine-tune your wiggle per scene.

Baking Refinements

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

Refreshed Interface

  • Manage everything from a single panel in the 3D animation view for a streamlined, fullscreen workflow.

(Work in Progress) Bone Pairs

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.

Usage

  1. Install and Enable the Addon

    • Enable wiggle in your scene via the properties panel of the 3D viewport under the Animation tab.
      Enable Scene
  2. Select an Armature Object
    Select Armature

  3. Enable Wiggle on the Armature
    Enable Armature

  4. Select a Pose Bone
    Select Pose Bone

  5. Enable Wiggle on the Bone

    • Choose to enable wiggle on the head or tail of the bone. Note: If the bone is connected to its parent, the head option will be unavailable.
      Enable Bone
  6. Configure Bone Physics

    • Adjust the bone's physics settings via the dropdowns for the head and tail.
      Configure Bone
  7. Set Up Collision

    • Select a collision object or collection to enable interactions, providing additional tuning options for collision behavior.
      Configure Collision
    • all bone collisions option
    • Full Bone Collision Option:
      Full Bone Collision Settings
      • 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.
  8. 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.
      Utilities
  9. 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.
      Bake

License

Wiggle 2 is licensed under the GNU General Public License, Version 3.
Individual files may have different, but compatible licenses.

About

Rewrite of blender-wiggle with new features and physics, fixed for 4.3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%