Complex Issue with Spline IK (am I doing it right)

So – I have a snake-like character

I have a rig

a 40-bone chain that is the tail deformer – it has a spline IK setup controlled by a curve

the curve is controlled by a set of hooks – each hook is a control bone in the original rig

The curve is a child of the rig (at object level)


It seems like the tail is always a frame behind – it isn’t refreshing correctly (which wouldn’t surprise me – the control bones deform the curve, the curve then deforms the spline IK)

Is this a known issue? Is there a trick to preventing cyclic dependencies?

attached is the rig if you like…

splineIK.blend (1.89 MB)

To prevent these kinds of problems, you’ll need to split up your rig so that all of the deform bones are in one armature, and all of the controls in another.

This is an unfortunate limitation in Blender right now. Blender considers an Armature to be a single object with respect to dependencies. Thus Armature -> Spline -> Armature is a cyclic dependency.

You can work around this by using two armatures, one that controls the spline, and one that is controlled by the spline. E.g.: Armature.01 -> Spline -> Armature.02

This isn’t ideal, obviously, but it’s a necessary work-around until Blender’s depgraph gets an overhaul.

Thanks men –
actually, that solution isn’t soo bad – all I need to do is disjoin the deformer chain. Two-second fix (though, as has been said – it’s not ideal) I never look at the deformer chain anyway.

I have heard about the overhaul of the dependencies – Is that on schedule? What time frame? And the most important question – does it mean we’ll have to go through every rig and fix it after the overhaul?