Any tips for acquiring twist (roll) for spline IK?

I’m currently experimenting with spline IK for eyelids. It looks great so far. I want to use spline IK for more stuff too.

However, spline IK doesn’t end up paying any attention to the twist of the curve it follows. It would be great if I could use my hooks to affect the bones’ rolls via the curve’s twist.

I imagine this is possible some way or another. Anyoe with some experience with this who has any good advice?

This is how you can access the tilt value of a curve control point:


1: Create a custom property anywhere (possibly on the curve or armature).
2: Add a driver to it
3: Set up driver as shown in image: var is the tilt value of the first point of the first spline of a curve object
4: If it’s not a bezier curve, change “bezier_points” to “points”
5: Change the index of the points to access further points
6: Now the custom property shows the tilt of a curve control point

Attachments


Thanks. It seems like the problem with that is that there is unlikely to be a 1:1 correspondence between armature and control points, requiring manual calculation of interpolation (possible, although I wouldn’t know how to do anything except linear), and more importantly, that depending on manipulations of mid-curve-handles, a handle won’t necessarily correspond with any specific bone in the armature.

What I just tested out was pushing a curve modified, offset, vertex-grouped set of vertices through the same curve (set to stretch and bounds clamp) and then locked tracking to its vertex groups. (Looks like I need drivers to get the hook controls to affect tilt as well.) This seems to work, although it’s more cumbersome than I’d prefer-- it means I now have a control armature, a deform armature, a curve, and a twist-measure-mesh just to get this done. So still interested in better options.

OMG @helluvamesh thanks for the tip. o_o I’ve been looking for ways to access this for some time… :smiley: