Wiggle bones (a jiggle bone implementation for 2.8)

Hey, Love the plugin as it was very fun. I used it before Blender 3.0 came out and would make renders without baking the animation.
but since coming back to blender after 3.0 (running 3.1.2) I’ve run into an issue where I’ll try to render an animation. If I try todo so without baking the wiggle first the following happens

Traceback (most recent call last):
  File "C:\Users\sncla\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\wiggle_bones1_5_b20.py", line 836, in jiggle_post
    if bpy.context.screen.is_animation_playing and curframe and (abs(bpy.context.scene.frame_current - curframe) > 10):
AttributeError: 'NoneType' object has no attribute 'is_animation_playing'

The script stops to work afterwards and I’ll have to remove it and add it again to the project.

Hi, this is an amazing add-on that has saved me loads of time. One problem I’m having is that I am not able animate the viewport visibility. It crashes if you move the timeline after making a keyframe on the visibility.

1 Like

Update: this can be fixed by commenting out this line.

Hey Shteeve, I’m using your add-on for the first time and it’s honestly amazing.

I was wondering, however, since I’m using 3.3, something is wrong with the ability to Bake the Animations even with the general way you do it in Blender without the addon. Like others have said. It either breaks the animations or in my case, it just bakes a bunch of keyframes without taking into account the wiggle physics at all; even with Visual Keying applied.

Is there plans to update this add-on for 3.3? Thanks a bunch!

Hey Dumuz,

I’ve had some time to dust off my wiggle add-on and been working on the new version again!

But in the meantime, using the old version, I want to make sure I’m understanding your issue, as I’m not sure I’m able to replicate all of it in either 3.3 or 3.4.

The add-on bake button definitely has it’s issues, especially when “additive” is enabled, throwing an error. Its a silly little fix - although for some reason when i try to upload the file, the forum here seems to revert it to an older version? I’ll have to look into that.

But using blender’s regular ‘Bake Action’ operator seems to work normally on my tests. When you say it ‘breaks the animations’ do you mean it bakes the wiggle effect but loses all the rest of the character animation? ‘Overwrite current action’ in the bake action setup should allow you to select just the wiggle bones and add their baked animation into the existing action with the rest of the animation (although I normally use nla layers, myself)

I also ask just because if there are other issues I’m not able to replicate in my test cases, I might still be having those issues even in the rewrite i’m working on!

2 Likes

Shteeve! Thanks for replying so quickly.

So I played around it settings more to figure out what’s going on. When using the “Bake Wiggle” Feature you built, I didn’t notice that what it’s doing is creating a whole new Action for just the selected wiggle bones. I see now that I can copy and paste those key frames into any other Action and we’re good to go there. That ones on me if this is the intend outcome. But to clarify: It does not bake the wiggle animation onto an existing action - it creates a whole new Action (At least on my end).

When it comes to Blender’s generic “Bake Action” the problem is that it will bake the keyframes onto the Action, but the entire physics sim is ignored - So for example; if you have only a single pose on the selected bones, it will just be that same pose for every baked keyframe. I did figure out though: This only happens when you set the Bake Action - ‘Frame Step’ attribute above 1, as long the frame step is 1 it bakes just fine.

So, there really is no issue other than the frame steps, but that isn’t a deal breaker, just a minor nuance.

1 Like

for the ‘Bake Wiggle’ feature, yeah I had hard coded it to bake to a new action that could be layered in the NLA. I think i prioritized that approach since if your original animation included input animation for the wiggle bones themselves, overwriting would mean you’d need to redo that animation if you ever needed to update the sim.

Overall I could expose more and more of the ‘Bake Action’ operator, and maybe I ultimately will, but the simple alternative is to just use the blender operator directly and avoid any confusion. Really the main advantage to a specific wiggle bake button is having options like calculating pre-roll on the wiggle for settling or looping, and post-bake actions like auto-disabling the wiggle calculation so the effect isn’t doubled up.

As for frame steps above one breaking the bake, I can see how that might happen. The entire effect is calculated on frame change, so the more frames that skipped the less accurate the bake becomes. Perhaps if you want to reduce keyframes, after baking you could run a decimate filter on the wiggle bone keyframes in the graph editor? Or if you were going for an effect like animating on two’s or something, you could add a ‘stepped interpolation’ fcurve modifier?

1 Like

I’m sorry, my last reply I should have made it clear that I don’t think there is any problem, aside from the frame-step issue, which has its work arounds! So, no worries! It is working for what I need it for! I just had to figure out the step issue was what was breaking the baking. Thank you again for the prompt response. Its refreshing! :grin:

Hi again, Shteeve!

I’m delighted to hear that you might refurbish or update this add-on.
It’s, as far as I know, still the only one on the internet that serves this purpose, so I welcome having it polished and easier to use!
I think my biggest issues with it were the overwritten actions, which made working with procedurally moved bones (noise) difficult, as well as the 60 FPS implementation - or lack of it thereof - where the playback speed set to 60fps would always make the wiggle freeze.

Aside those, and the dreaded unable-to-bake issue, it’s still a flawless must-have. If you think people could improve upon it, you could put it on Git!

hi @shteeve ,
Just discovered this Gem of an addOn ! Thank you for this I love it. :raised_hands: :raised_hands:
Esp the fact that you kept it simple to use AND you allow keyframing underneath the physics, it really allows for good control.

Hi pal, quick question:
Hands down, the best add-on for wiggle simulations/animations using bones that I’ve ever used but…

After a couple days of using it and trying to find some info relationed
with the issue that I’m facing right now I realized that I have no answer and I don’t know how to find a solution to what I’m facing right now that basically is a need to reset the wiggle bones properties/characteristics (I’m not sure if you’re even able to do that with this version) and also how to turn off the sim for some specific bones that I want to turn the wiggle bone off (I’m not sure if there’s an option like that)
tnx in advance

for resetting bones, if you’re talking about default values for things like stiffness and dampening, etc, you can always right click on a value and select ‘Reset to Default Value’. also i made it so selecting multiple bones allows you to set all their values at once, which also applies to resetting them. the only thing missing i guess would be an option to reset all the values to their default states rather than individually.

also worth noting, the wiggle bones have a ‘Reset Physics State’ button which resets all the bones to their resting transformation (without any wiggle applied). that one is useful if the simulation became unstable with extreme deformations.

finally, if i’m understanding correctly, you’re wanting to be able to start and stop wiggle simulation over the course of an animation? for that there is a checkbox called ‘active.’ animating that checkbox allow for this. however when it is inactive, it will snap to its behaviour if no simulation was running at all, versus “freezing” at the point in the sim when it was disabled. i mostly had used that for situations where i wanted to delay the start of a simulation for a particular bone.

hope that helps!

I’ve just been using it for a couple of weeks and it’s fantastic ! Really saves a lot of time for secondary motion things. Thanks again ! :smiley:

Hi there,

Thank you very much for this cool addon.
I have small tip to fix or add:
When I have different bone assigned with copy rotation constraint and target is wiggle bone (which bounces during animation), so it doesnt work to copy rotation for other bones. The bone doestn want to copy rotation. Is steady…

i would recommend trying to bake the wiggle bone first. the way the wiggle effect is evaluated during viewport playback happens after constraints are applied. baking it into keyframes should allow other bone constraints to copy its movement!

Thanks man !

I really love this.
Question for @shteeve : Would it be difficult to make the Wiggle bone properties Library overridable ?
I would love to adjust settings or even turn it off in certain cases, but since I’m Linking my rigs using library override it is currently not possible.
Thanks

1 Like

@shteeve I saw you liked my previous suggestion about library overrides. I appreciate you being so responsive considering the amount of feedback you are getting !

I do have an update RE: Working with library overrides.
TLDR: Baking doesn’t seem to work with a linked Character rig.

I got the wiggles to look the way I want, unfortunately as mentioned before, it comes out Janky with the F12 render AND the Bake doesn’t seem to work on a linked character rig.
I tried with all the different options, it effectively turns off the Simulation once done but no keys are baked on the controls.

I get some pretty nice results in the Viewport renderer however :slight_smile: esp considering how long the pony tail is and I am Keying quite a bit to control the shape throughout. I would love to be able to use this if I can library override on linked rigs.

Thanks again !

Hey Shteeve,

this Addon is awesome and the animation results are amazing, so great job on that and thank you a lot ^^

I just ran into one issue and I’m not sure if this question has been answered already (because this thread has like 700 answers o.o), and it’s urgent 0.0

Is it possible to use this addon on linked armatures? Because it is not possible to activate the Wiggle Armatures Button in the Armature Property Tab. Or even to bake any Animation - unless it is made local or has been appended, which I dont want.

I look forward for your reply.

Highest Regards,
Atkay

PS: I’m using WB version b20 and Blender 3.3.1 LTS

2 Likes

I second this. Compatibility with 3.3 linked libraries would be awesome.

When trying to enable it, you see this error:
image

And from using linked files and custom properties, this is normally how you get around it:
image

But the enable/disable custom property is not editable:
image

And if I control it with a driver (like you would with let’s say materials), the checkbox does enable/disable the driver in the linked file, however the wiggle bone physics do not happen.
image

1 Like