Hello, I was theoretizing about making a shoulder rig where the shoulder bone’s twist (Y) rotation is aligned to the chest facing direction, instead of following upper arm rotation. *.GIF provided to illustrate what I want. Generally, using Locked Track performs well, but results in flipping when the upper arm points in a direction which matches the direction towards the “look target” bone. What can I do about the flipping? I guess some kind of driver to switch between different targets. But I have no idea what parameters to use for this driver
More specific, if the arm points towards front, and the Locked Track’s target is also in front (lets assume it will be parented to chest), the shoulder flips
And this is desired rotation of the shoulder (simulated with the Locked Track constraint pointing to another target). Would be great to be able to only activate this second Locked Track only at angles which result in flipping
In a different situation (say, game engine) I’d compare the directions of an arm and Locked Track’s vector using Dot product and choose targets based on it. But with Blender drivers, I have no idea how to integrate vector math
I’m afraid I don’t know how to do dot product in drivers either (it is possible). However, you can do it without a dot product, by comparing the rotational difference between a locked track bone and a bone without the locked track.
However, here, the shoulder shouldn’t ever point directly forward anyways; that’s not how people work. Their shoulders have a limited range of motion.
Beyond that, a locked track is always going to have a pole like this, but you can adjust exactly where that pole is. Here, the locked track will spin:
Thank you, just moving the target away havent crossed my mind. I’ll try this variant as well. To be honest, I do not entrirely understand yet what the perfect behavior for this shoulder bone should be. So I’ll need to try many variants of the rig