The classic Bone Constraint Refresh problem on render?

Hi there! Me again!

I have a little problem with my latest rig.

I used a few bone constrincts in this and, when I try to render it, I have a refresh problem. Actually, some parts of the rig are refreshed after the render.

I know that it is a known issue with Blender and that there is a few work around. I did tried to check the extra object update and the extra data update options in both of the mesh and the armature, but it didn’t changed anything to my problem…

Any one has an idea of how I could correct it?

BobbyTheBag_Bug.blend (1.49 MB)

Hm. This doesn’t work with Blender’s old depsgraph, you’ll need to use two armatures, one deform armature which has the spline IK chain, and a separate armature for the control part to avoid circular dependencies.
I was in the hope the new depsgraph had fixed this, because dependencies now seem to be checked on bone but object level in many cases. In fact it does in many cases, but not all of them obviously: if you launch blender from command line with the --eanble-new-depsgraph switch, it will print the detected cycles. I just tried with a mininal spline IK setup using a single armature, and the problem persists. So, unfortunately, you’ll have to use the two-armature-solution.
I hope this will be unnecessary soon, however.

Btw. you could also consider to drop spline IK and use the new, extended bendy bone capabilities instead. This will work with a single armature, and provides nice, smooth deformations with good control either.

Have you tried switching your drivers to transform space?
https://developer.blender.org/T39393

I think Helmut’s solution should work.

Thanks for the information Helmut, but I have a few questions…How do I launch Blender from command line with the -eanble-new-depsgraph switch? I never eard about it! Also, I never eared about the two armature-solution… Do you have any info about it?

Stilltrying : Thanks for the link, but my drivers don’t have any refresh problem. It is realy the bone constrincts that causes the problem…

On the other hand, I would like to try the bendy bones spine, but I didn’t find any good tutorial about a spine with this technic… There is alway some problems when I tried… :frowning:

Edit : I may have an idea of a work around thought… If I was able to run a script before each frames to add a short delay befor render, it might let time to Blender to refresh the constrincts… Or I could run a script that refresh the constrincts, but I don’t know how to do it… :-S

I think the pseudo dependency issue will not get resolved that quick. The manual is still recommending two armatures on the spline ik. I gave up using that spline IK for that reason. Sorry I didn’t realize that was the issue you were having.

On Windows:

<path to your blender installation directory>\blender --enable-new-depsgraph

On Linux/Unix:

<path to your blender installation>/blender --enable-new-depsgraph

I never eard about it! Also, I never eared about the two armature-solution… Do you have any info about it?[quote]

Here’s a sample: http://www.thalion-graphics.de/download/splineik-twoarmatures.blend

What gets Blender confused initially is the fact that the spline is controlled by the armature, and the armature controlled by the spline - looks like an infinite loop to Blende.
The idea here is to avoid that (fake) circular dependency, by moving the bones used to control the spline into a separate armature, so instead of something like curve <-> armature you’ll have armature1->curve->armature2. Hope that helps.

[quote]
Edit : I may have an idea of a work around thought… If I was able to run a script before each frames to add a short delay befor render, it might let time to Blender to refresh the constrincts… Or I could run a script that refresh the constrincts, but I don’t know how to do it… :-S

Ugh, that sounds really hacky. I guess I’d rather not go down that road any further. Using 2 armatures will definitely lead to a more predictable result. :wink: