Dependency cycle when all MHX IK options are enabled

Issue #2151 invalid
Calibrator created an issue

Dependency cycle detected:
Genesis8.1/forearm.L/BONE_CONSTRAINTS() depends on
Genesis8.1/hand.fk.L/BONE_DONE() via 'Copy Rotation'
Genesis8.1/hand.fk.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.fk.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/lHand(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/lHand(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/lHand(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/forearm.twist.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.twist.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.twist.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/forearm.twist.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.bend.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.bend.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.bend.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.L/BONE_DONE() via 'Damped Track'
Genesis8.1/hand.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
Genesis8.1/hand.L/BONE_CONSTRAINTS() depends on
Genesis8.1/hand.fk.L/BONE_DONE() via 'Copy Transforms'
Genesis8.1/hand.fk.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.fk.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/lHand(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/lHand(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/lHand(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/forearm.twist.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.twist.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.twist.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/forearm.twist.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.bend.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.bend.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.bend.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.L/BONE_DONE() via 'Damped Track'
Genesis8.1/hand.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
Genesis8.1/forearm.R/BONE_CONSTRAINTS() depends on
Genesis8.1/hand.fk.R/BONE_DONE() via 'Copy Rotation'
Genesis8.1/hand.fk.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.fk.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/rHand(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/rHand(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/rHand(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/forearm.twist.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.twist.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.twist.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/forearm.twist.R/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.bend.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.bend.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.bend.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.R/BONE_DONE() via 'Damped Track'
Genesis8.1/hand.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.R/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
Genesis8.1/hand.R/BONE_CONSTRAINTS() depends on
Genesis8.1/hand.fk.R/BONE_DONE() via 'Copy Transforms'
Genesis8.1/hand.fk.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.fk.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/rHand(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/rHand(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/rHand(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/forearm.twist.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.twist.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.twist.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/forearm.twist.R/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/forearm.bend.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/forearm.bend.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/forearm.bend.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/hand.R/BONE_DONE() via 'Damped Track'
Genesis8.1/hand.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/hand.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
Genesis8.1/shin.L/BONE_CONSTRAINTS() depends on
Genesis8.1/shin.fk.L/BONE_DONE() via 'Copy Transforms'
Genesis8.1/shin.fk.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/shin.fk.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/lShin(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/lShin(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/lShin(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/thigh.twist.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/thigh.twist.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/thigh.twist.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/thigh.twist.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Genesis8.1/thigh.bend.L/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/thigh.bend.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/thigh.bend.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/shin.L/BONE_DONE() via 'Damped Track'
Genesis8.1/shin.L/BONE_READY() via 'Ready -> Done'
Genesis8.1/shin.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
Genesis8.1/thigh.twist.R/BONE_POSE_PARENT() depends on
Genesis8.1/thigh.bend.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/thigh.bend.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/thigh.bend.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/shin.R/BONE_DONE() via 'Damped Track'
Genesis8.1/shin.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/shin.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/shin.fk.R/BONE_DONE() via 'Copy Transforms'
Genesis8.1/shin.fk.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/shin.fk.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/rShin(drv)/BONE_DONE() via 'Copy Transforms'
Genesis8.1/rShin(drv)/BONE_READY() via 'Ready -> Done'
Genesis8.1/rShin(drv)/BONE_POSE_PARENT() via 'Pose -> Ready'
Genesis8.1/thigh.twist.R/BONE_DONE() via 'Parent Bone -> Child Bone'
Genesis8.1/thigh.twist.R/BONE_READY() via 'Ready -> Done'
Genesis8.1/thigh.twist.R/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Genesis8.1/thigh.twist.R/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
Detected 6 dependency cycles

I can’t remember which I selected exactly but I can remember that every IK option was selected when converting, tweaks were enabled and keep old rig was disabled.

Comments (5)

  1. Thomas Larsson repo owner

    That typically happens if you loaded body morphs before converting to mhx. The presence of “rShin(drv)” and “rHand(drv)” in the cycle shows that the shin and hand bones are driven and made posable. You can only import the mhx-compatible body morphs if you intend to convert to mhx.

  2. Calibrator reporter

    Oh, I see, that does make sense. This whole time I thought I’m supposed to load morphs before changing the rig…
    Hmm ok I missed the line about MHX compatible body morphs. I thought it was enabled, but doesn’t matter, I’ll re do it.

  3. Log in to comment