1
$\begingroup$

I am using an armature with the following setup:

-A bone chain that is attached to a Curve with SplineIK constraint

-A free-floating bone that a curve point is attached to with the Hook Modifier.

My console is getting spammed with Dependency Cycle Detected errors. It says the curve is dependent on the Armature through the hook modifier, and the armature depends on the curve through the spline IK.

At the object level, it does look like a dependency cycle. But none of the bones in the splineIK chain are effected by the hook bone, so on the bone level there doesn't seem to be any dependency cycle.

However, I do seem to get behavior where if I move my Hook bone around, the splineIK chain moves with it. But when I reset the hook bone with alt+G, the splineIK chain does not update until I start another transform. This is a typical symptom of a dependency cycle.

What can I do about this? Do I have to have my hook bone be a separate armature?

$\endgroup$
1
  • $\begingroup$ If you have a single hook bone, what happens when you move it to a new armature? $\endgroup$ – atomicbezierslinger Aug 10 '17 at 4:55
3
$\begingroup$

This is one of the key reasons for the dependency graph rewrite, the old blender dependency graph treats an armature as a single node in the graph, dependent on everything any of the bones are dependent on.

The new depsgraph, which is still a bit of a work in progress, should fix this. It can be enabled by passing --enable-new-depsgraph when launching blender, and may help.

For more info see:

https://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ https://code.blender.org/2015/03/more-dependency-graph-tricks/

A separate armature would fix this for now as well.

$\endgroup$
3
  • $\begingroup$ How do I pass a command when launching blender? $\endgroup$ – Ascalon Aug 10 '17 at 22:36
  • $\begingroup$ @Drudge if you are on windows, create a shortcut to blender.exe, then right click and open the properties for that shortcut. and add --enable-new-depsgraph to the end of the target field, it should look something like: "C:\path to my blender\blender.exe" --enable-new-depsgraph $\endgroup$ – Sazerac Aug 11 '17 at 0:18
  • $\begingroup$ Yep that works! $\endgroup$ – Ascalon Aug 11 '17 at 0:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.