Maybe a Cyclic Dependencies ?!?

Hi i try for the first time to use Constraint in Blender, until i add a Copy Rotation to the Shoulder, all the bones work fine… but now something weird happens… i don t know if is only a small bug and if i can go on and try to make same animation or if i have to fix this :

PS. if i change beetween pose mode and Edit mode, few times, the armature go back in the right position
i hope is the right place where ask for help… and Thank you guys

That definitely sounds like a dependency. From what you’re showing, I’d suspect you’re trying to parent upper arm to shoulder, and having shoulder copy rotation from upper arm. That’s your loop, what you can’t do. The rotation of upper arm depends on its position, because of the IK constraint-- as its head moves, the rotation changes. But its position depends on the rotation of the shoulder.

If you suspect a loop but aren’t sure, open a console view (window menu, toggle system console) and look for warnings.

Thank you for your answer Bandages, you described my case exactly. Also thank you i was ignoring the system console :sweat_smile: , i remove the constraint from both shoulder and the cycle dependencies are disappeared. Is sad because the movements of the arms were so natural, any tip for emulate natural movement on the arms? i watch same tutorial about using a driver, but i can t find it in blender 2,90… thank you for your time

You might consider running two different IK chains, using the same target and the same pole. You can have the first run off of an arm parented to the spine rather than the shoulder, then use its rotation as a copy rotation target for your shoulder. Because it’s not parented to the shoulder, there’s no dependency issue. Then your second IK chain, parented to the shoulder, actually deforms the arm. I’m not sure how well it will work, but if you’re happy with the behavior you (sometimes) have, that’s the closest it’ll ever get. (You’ll also be able to see how the rotation of the second IK will sometimes be different than the rotation of the first IK, making your original dependency more obvious.)

I don’t know if is wise or if is the right way, but:

  • I add a new bone ( a.L / a.R ) parent and connect to the spine. (No Deform bone)
  • Parent the shoulder with ( a.L) the new bone and disconnect it from it.
  • Remove the parent between the shoulder and the upper arm.
  • Add the parent between the new bone and the upper arm.
  • Keep the rotation from the upper arm to the shoulder.

Keeping the natural movement and without any dependency… what do you think?

Ps. One day soon I will understand better what you told me before :grin:, but for now I lack knowledge :sweat_smile:

PPs. But need same tweak , fix the weight , move same bones in edit mode and probably a pole target for make the shoulder pointing down ( 0.o ) ?!

No, that’s not what I was saying. But if you are happy, then that’s fine.

Start with Spine, Shoulder, UppArm, LowArm (parented in order); and IK Target, IK Pole (unparented.) LowArm has 2-chain IK. Duplicate LowArm + UppArm to LowArm2 and UppArm2. Disable deform on LowArm2 and UppArm2. Parent UppArm2 to Spine, keep offset. Give copy rotation constraint to Shoulder targeting UppArm2.

1 Like

I don’t even know what I wrote before, I was hoping it made sense to you lol
Wow, thank you so much for your time !! I try it now :slight_smile:

Ps. Yes finally is working and i understand a bit more of constraint, THANK YOU!! :cowboy_hat_face: