Multi-point constrained rig with 3-DOF axis (need new eyes on it)

Hey all, I’m trying to emulate a method for making a scapulothoracic joint I’ve seen in several studies that constrains the scapula to an ellipsoid while retaining it’s 3-DOF at the AC joint (clavicle connection)

At the moment, this is the best I have.
The scap bone (which is what the scapula mesh is parented to) is on a single IK chain to the TS anchor, which is using a Shrinkwrap constraint targeting the normal projection to adhere to the ellipsoid.
Same deal with the AI anchor for ellipsoid connection.

Coming down from the scap bone is scap2 which allows the AI (scapula bottom tip) to tilt down onto the ellipsoid by using a 2 chain IK chain.

The little bone coming off the clavicle bone was an attempt at giving the anchor bones a way to tilt with the scapula origin but wasn’t very effective. Atm I’m fiddling with Children constraints on the anchors so I can use the clavicle to drive their transformations but adjust the influence.

I’m not very good at mechanical rigging, so is my rig superfluous? Is there a smarter way to have the scapula origin stay at the AC joint but have it’s tilt be constrained to the anchors?
BTW, it needs to remain bones only so I can later use it in a character rig, so I can’t do any rigid body sims

Thanks in advance

I’m trying to read and re-read this but I somehow can’t understand. maybe you could share your file and maybe animate it and use grease pencil annotation to draw where you’d like the scapula to be at a certain frame while your rig gives another result

1 Like

Sorry about that, I know it’s a lot of anatomy terms to throw into one post.

It’s less about rig results and more about the rig concept itself. I know I’ll be able to figure out the right settings (whether it be ellipsoid shape, constraint distance or anchor parenting) eventually.

I’m asking if using two anchors and my IK chains is the most optimal way to constrain those two points of the scapula while still retaining the clavicle end as a rotational origin.

An example from one of the studies I’m looking at:

It doesn’t help that these studies are using a program that allows them to create custom constraint properties, and I’m not math-headed enough to try converting one of kinematic formulas over into some kind of custom driver property.

Oh! I think I’m understanding. so ultimately, and I’ll deform your example to make it simple…
ultimately, you want a triangle with a pivot point sitting on one of it’s vertices. and you want the two other vertices so lay on a surface while keeping the triangle completely rigid and undeformed right ?

Correct, except it can only be done with armature :smiley:
(Now I’m wondering if I should have started just with the study example and saved everyone a headache…)

Well, actually a perfect match would require some complex geometric computation and to this extent it’s not currently possible in blender. I dunno if it’s interesting but here’s how it would work if you could basically do whatever you want:
1 generate a sphere with the clavicle end as center and radius being the length of the first edge,
2 extract an intersection curve between your sphere and the ellipsoid
3 choose on point on this curve to put your second vertex on it.
4 generate a circe with the center on the second vertex and the radius being the second edge and the circle being perpendicular to the first edge.
5 extract the intersection points between this circe and the ellipsoid, choose the most relevant one and put your third vertex on it.

Kinda complex. but you can have some good approximation actually. the first step is to have a good pre-rig for your scapula that’ll position it approximately where it was to lay on the ellipsoid. I guess you can have some descent results with aim constraint from the back of your ribcage to the scapula, then use the shrinkwrap you used for the first bone. then make a second skrinkwrap for the tip of the scapula just like you did but in addition, use a locked track on your first edge (your scap 1) and aim for the tip with the wrinkwrap.
the locked track allow you to track on a single axis so in this case the y axis of scap 1.

It’s pretty much the same as you did but you remove the scap2, leave just the tip anchor with shrinkwrap constraint on it, then use the locked track on scap 1. but pay attention! since your scap 1 is the parent of your Al anchor, you’ll have a cyclic dependency. so double your scap 1.

Damn I should do a video about that, that’s interesting .

1 Like

Interesting stuff!
I’ll definitely try it out, thanks for lending your brain :smiley:

1 Like