Skip to main content
2 of 2
added alternative download location
B-and-P
  • 135
  • 1
  • 6

Blender 2.79 Rigging - Dependency cycle help

I've read all I could find on dependency cycle issues in Blender, tried everything suggested in related posts: enabled new dependency graph, unchecked stretch in IK setting, checked Extra Object Update and Extra Data Update on IK controls and bones. Nothing seem to work, still getting a lag in animation and the following console output:

Default dependency graph:

Dependency cycle detected:
WristMarker depends on Armature through Bone Parent.
indexIKpole.L depends on WristMarker through Parent.
Armature depends on indexIKpole.L through IK.

New dependency graph:

  Dependency cycle detected:
  'OBindexIKgoal.L.TRANSFORM_LOCAL()' depends on 'OBWristMarker.TRANSFORM_FINAL()' through 'Parent'
  'OBWristMarker.TRANSFORM_FINAL()' depends on 'OBWristMarker.OBJECT_UBEREVAL()' through 'Temp Ubereval'
  'OBWristMarker.OBJECT_UBEREVAL()' depends on 'OBWristMarker.TRANSFORM_PARENT()' through 'Temp Ubereval'
  'OBWristMarker.TRANSFORM_PARENT()' depends on 'OBWristMarker.TRANSFORM_LOCAL()' through '[ObLocal -> ObParent]'
  'OBWristMarker.TRANSFORM_LOCAL()' depends on 'OBArmature.wrist.L.BONE_DONE()' through 'Bone Parent'
  'OBArmature.wrist.L.BONE_DONE()' depends on 'OBArmature.wrist.L.BONE_READY()' through 'Ready -> Done'
  'OBArmature.wrist.L.BONE_READY()' depends on 'OBArmature.wrist.L.BONE_POSE_PARENT()' through 'Pose -> Ready'
  'OBArmature.wrist.L.BONE_POSE_PARENT()' depends on 'OBArmature.forearm.L.BONE_DONE()' through '[Parent Bone -> Child
 Bone]'
  'OBArmature.forearm.L.BONE_DONE()' depends on 'OBArmature.POSE_IK_SOLVER()' through 'IK Solver Result'
  'OBArmature.POSE_IK_SOLVER()' depends on 'OBArmature.arm.L.BONE_READY()' through 'IK Chain Parent'
  'OBArmature.arm.L.BONE_READY()' depends on 'OBArmature.arm.L.BONE_POSE_PARENT()' through 'Pose -> Ready'
  'OBArmature.arm.L.BONE_POSE_PARENT()' depends on 'OBArmature.arm.L.BONE_LOCAL()' through 'Bone Local - PoseSpace Lin
k'
  'OBArmature.arm.L.BONE_LOCAL()' depends on 'OBArmature.POSE_INIT()' through 'PoseEval Source-Bone Link'
  'OBArmature.POSE_INIT()' depends on 'OBindexIKgoal.L.TRANSFORM_FINAL()' through 'IK'
  'OBindexIKgoal.L.TRANSFORM_FINAL()' depends on 'OBindexIKgoal.L.OBJECT_UBEREVAL()' through 'Temp Ubereval'
  'OBindexIKgoal.L.OBJECT_UBEREVAL()' depends on 'OBindexIKgoal.L.TRANSFORM_PARENT()' through 'Temp Ubereval'
  'OBindexIKgoal.L.TRANSFORM_PARENT()' depends on 'OBindexIKgoal.L.TRANSFORM_LOCAL()' through '[ObLocal -> ObParent]'

Maybe there is something fundamentally wrong with my rig? I haven't rigged in a long time in Blender or any other program for that matter. In the past I did some rigs in Maya and Cinema4D and, as far as I can recall, I used similar parenting technique without issues.

I have an arm rig for this test. I have one IK chain from forearm to shoulder, another one from index finger tip to index finger base. I have an empty called wristmarker parented to wrist bone. I have indexIKgoal and indexIKpole parented to the wristMarker, so that when the whole arm moves, finger position stays relative to the wrist.

Appreciate any help.

enter image description here

blend file:

https://ufile.io/pgafy
http://s000.tinyupload.com/index.php?file_id=44699481485193911373

B-and-P
  • 135
  • 1
  • 6