I’ve been getting dependency cycle warnings for armatures and I don’t know why. It finds 756 dependency cyles for 18 armatures (42 each). It looks like all of them say Geometry Component/GEOMETRY_EVAL() depends on
…
I can’t interpret the message. I pasted the output of one cycle below:
Dependency cycle detected:
OBHeather/Geometry Component/GEOMETRY_EVAL() depends on
OBHeather.arm/Thumb3.L/BONE_DONE() via 'Armature Modifier'
OBHeather.arm/Thumb3.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/Thumb3.L/BONE_POSE_PARENT() via 'Pose -> Ready'
OBHeather.arm/Thumb2.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/Thumb2.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/Thumb2.L/BONE_POSE_PARENT() via 'Pose -> Ready'
OBHeather.arm/Thumb1.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/Thumb1.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/Thumb1.L/BONE_POSE_PARENT() via 'Pose -> Ready'
OBHeather.arm/Hand.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/Hand.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/Hand.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
OBHeather.arm/Hand.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
OBHeather.arm/LowArmY.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/LowArmY.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/LowArmY.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
OBHeather.arm/LowArmY.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
OBHeather.arm/LowArm.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/LowArm.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/LowArm.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
OBHeather.arm/LowArm.L/BONE_POSE_PARENT() via 'Pose -> Constraints Stack'
OBHeather.arm/UpArmY.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/UpArmY.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/UpArmY.L/BONE_POSE_PARENT() via 'Pose -> Ready'
OBHeather.arm/UpArm.L/BONE_DONE() via 'Parent Bone -> Child Bone'
OBHeather.arm/UpArm.L/BONE_READY() via 'Ready -> Done'
OBHeather.arm/UpArm.L/BONE_CONSTRAINTS() via 'Constraints -> Ready'
OBHeather/Geometry Component/GEOMETRY_EVAL() via 'Damped Track'
Is Geometry Component/GEOMETRY_EVAL()
something specific, or does it cover all transforms (location, rotation, and scale)? The chain in this code goes: Thumb3.L > Thumb2.L > Thumb1.L > Hand.L > LowArmY.L > LowArm.L > UpArmY.L > UpArm.L. All the bones in this chain are parented to the next bone in sequence. I don’t understand Thumb3.L/BONE_DONE() via 'Armature Modifier'
because I didn’t think armatuers had modifiers. I thought modifiers were for meshes. The Thumb3.L bone has no bone constraints.
I have attached my armature. It is complex. The bones are in two different layers. The second layer contains bones that are not meant to be transformed manually, but transform based on bone constraints and drivers. Issues discussed in this thread Armature is distorted in 2.80 but not 2.79 are why I designed the armature the way I did.
armature_20200126.blend (1.0 MB)