I’m currently rigging a snake with the spline IK constraint. A Cyclic Dependency occurs because I added Hook modifiers on the curve controlled by bones in the main armature (which also contains the spline ik). So the curve depends on the armature because of the hooks and the armature depends on the curve because of the spline IK constraint. We cannot let a cyclic dependency happen because it produces a lag. I saw other threads where they advise having 2 armatures but that’s a real pain, especially for the weightpaint, and it’s not very efficient. Moreover, in our production, snakes to be linked in our other files according to our pipeline so having two armatures is not a good idea for the proxys.
For now I have a basic FK rig but it’s not animation friendly.
I’ve not myself tried working with running Blender with the new Depsgraph properly yet. But I went through a smilier process of trial and error a little while back.
From experience there are two reliable solutions I personally know for this right now.
You could use the two armature system I’ve been using a lot. This actually works absolutely fine for instancing/library linking. It’s really not bad and I’ve found it to be very robust.
You only proxy the second armature. The control one. As that is the one that is actually animated and that you save and copy animation actions to. The deformation armature stays locked in to the referenced group.
Also there is no complication at all with weight painting on this set up. In fact it even simplifies things a bit as the second armature is purely made up of the control bones. You would skin your character only to the first armature and that would be the deformation bones only. So very simple and tidy.
I would always want a clear separation with my deformation bones and mechanism and control bones/objects anyway while working in other softwares’s Maya, Max etc… so this wasn’t too much of a big deal for me in Blender. And it tends to be the norm anyway for game engine export.
Otherwise there is the dependency graph hack feature that Kent Trammell used in the Piero rig on the CG Cookie short film course.
Objects Settings/ Relations Extras/ … Extra Object Update… Extra Data Update. Apparently you should tick both.
But the problem with that is there is still a bit of a lag with moving the armature in the viewport even though it updates correctly, which I find distracting. Also it can’t be used with referencing so you can’t library link any of the rigs. He needed to keep the original armature in the scene and could only library link to the sets and props.
I need to look at Vanderhorst’s scene file and method as well though. It looks really interesting.