How to control roll/twist in spline IK rig ? (=> turns out it's impossible)

Hello all,

I’m trying out the spline IK constraint these days, it is AWESOME, but I’m running into some problems. First, I wonder how to control the twisting in my constrained bone chain. The spline points are hooked to a few control bones, the rotation of which don’t seem to affect the curve at all. I also tried driving the “tilt” property of the curve points with the control bone’s roll… no luck. I can use rotation constraints on the entirety of the bone chain, starting from the top and gradually decreasing in influence… but this is a chore, is there another way ?

Then : I tried using a nurbs curve, but to have it curve smoothly I apparently have to set a U Order of 3 (inside the curve properties), however that shortens the curve and the contrained bone chain along with it, which makes it unusable. So I’m using a bézier, which works fine so far - apart from the twisting issue. I was just wondering. If someone could light my bulb. Thank you !

Hadrien

I have discovered that checking “Endpoints” stretches the nurbs curve, so problem n°2 is solved. :slight_smile:
Still no clue how to twist my rig. :frowning:

Bump. I might be missing something obvious. Hmmm…

The spline points are hooked to a few control bones, the rotation of which don’t seem to affect the curve at all. I also tried driving the “tilt” property of the curve points with the control bone’s roll… no luck.

Are saying that you are controlling your IK with a curve? need more explanation here, please some images or .blend

I’m using a spline IK constraint (see manual for explanation and set-up instructions). It is a technique commonly used when one needs a smooth deformation along a bone chain. Using a bézier curve in place of a NURBS curve also allows to manipulate the curve point’s handles, affecting the curve interpolation (just like f-curves in animation).

My bad! Sorry i didn’t read it your first post right.

One last bump… just in case !

Joshua Leung (developer of the spline IK constraint) told me there was no roll for the IK spline, and none planned in the foreseeable future, too. So I guess I gotta do with the curved b-bones !

Hi, This message is from future and splineIK cannot be twisted. I would like to know how solved the strech problem. Right now everything seems to work but body stretched instead of moving alone the curve. Please help :pensive:

Unfortunately it still can’t, but there are ways to work around that. You mention a ‘stretch problem’ - what is it exactly ? That doesn’t sound like the issue I was having (twisting). You can open a new thread with your question and a .blend file, and tag me so I’m notified.

Hi, Unfortunately I can’t share the file. may i will replicate the stuff on my pc and then will share it with you. But for now, I can share the link of my thread.


Thanks!!

It can, it’s just a chore. (I’d locked track curve-deformed verts with individual vertex groups.) Could be automated with an add-on.

Just use “bone original” in Y stretch for the constraint:

Here is my file. Everything seems to be working normally. I switched the y stretch to none and its working. Is it also needed to parent the curve to armature?
SnakeSplineIK.blend (702.2 KB)

1 Like

So that’s what you want? You’re happy?

It depends on what you want to do with it. Typically, you’d either parent the curve to a bone in the armature, or give it a hook for all control points (as you did in the linked file.) They can have slightly different effects for other uses of the curve, but for a spline IK, they’re the same thing.

Yes,I am happy now. I usually parent the curve to the bone which is moving the IK chain.