PDA

View Full Version : SplineIK: offsets joint rotates


ruediman
11-19-2009, 08:01 PM
Hi there,
when setting up a spline IK on a joint chain (~8 joints) with auto create curve and auto simplify Crv on and number of spans set to 1, it always offsets the corresponding joint rotates. want to stay them at rotate 0 0 0. I realized that the last CV of the IK curve is not on top of the joint pivot. maybe thats the reason?
Anybody an idea for a workaround?
I tried to freeze the joint rotates and re-orient them within the IK chain. but idk if this is smart in the end?!

another issue: when translating the Pivot of an IKRP effector away from itīs IKhandle how can i make the handle follow the effector. i first thought by re-evaluating the solver, but it worked for me only by saving and re-opening the scene...

hope this has not been discussed extensively before and i overlooked that post:blush:

Darksuit
11-19-2009, 08:47 PM
Your spans set to 1 looks to be your chief issue. Since your curve will only be 3 points in total the two at the base/root of the curve and the one at the end of the curve. The top most CV should be located in the End Joint.

If you turn off selection for joint and meshes you should be able to select the Curve then set your selection method to CV and drag select the CV at the end to spot it.


Rotation for a Spline IK is control by the Roll Attribute of the IK chain. With IK, the rotation of the Joints should be a non-issue, if it is an issue you may want to look at a traditional FK setup. Which would allow you complete control over your rotations.

Freeze Transforms on joints really is only good for Scale. Yes it can reset the rotation of a joint to Zero but it is actually offsetting the rotation. You can better off creating the Joints with snap to grid on, in an orthographic view. This will keep everything aligned "Straight" with a zeroed out rotation.

You may also want to go take a look at the tutorial I have on the stretchy spine. As the first part covers IK spine creation.

http://www.darksuit.com/tutorials

ruediman
11-20-2009, 11:18 AM
Hi David,
thanks for the hint! Right now i am combining a FK Spine setup (rotations controlled by expressions) with a Spline IK setup to have more specific control over certain areas.

I doubt Spline IK offsets always rotations on the affected joints regardles of setting span numbers, except in your tutorial where the joints are in a straight line ;-)

the reason why i wanted the joints to stay at rotates 000 is the bind pose. So i would be "on the safe side" when binding the joints.

When creating joints through curves with MEL and using that same curve for the Spline IK setup, everything is fine with the joint rotates and nothing will be offset. the downside is that you have a curve with 7 spans and so with 8 CVs (with a joint chain of 8 joints) and so with less broader control over the curve. even if you create the clusters for every 2nd CV itīs not a satisfying attempt.

Has anyone encountered the same issue and found a way to deal with?

Darksuit
11-20-2009, 03:38 PM
you should always ALWAYS! bind before rigging. It will save you tons of trouble and heartache.

Not sure what you need 8 joint for, You may want to evaluate your joints and make sure that you absolutely need that many joints. For a character the only reason is if you have a circque type character, or a tentacle arm (in which case 8 might be low).

With a IK spline you are using a CV curve to control the actions and movements of the joint chain. If you wind up clustering by every two CVs (since every CV will need a control in some fashion) it will give you less precision than clustering every CV individually.

The reason is the nature of the CV curve itself and how it is set up with every other CV on the opposing side of the curve. In Example, if you look at a CV curve and show CVs, you will see all the CV and if you draw a line beetween them you will get a Zig Zag pattern. This is becuase the curve is placed at the average between three CV Points. (you can read more about this in the Maya Help Docs).

There are a number of techiniques out there for spine creation other than the IK spine. But still I can not stress enough to BIND then RIG. It will save you soo much time and heartache.

ruediman
11-20-2009, 04:25 PM
not sure about that. anyway, appreciate your help. still looking for a solotion about the offset.

mlefevre
11-20-2009, 10:31 PM
Try turning off 'auto simplify curve' to prevent initial rotations on your joint chain.

ruediman
11-22-2009, 01:12 PM
simple enough that i overlooked this.that did the trick, thanks.

CGTalk Moderation
11-22-2009, 01:12 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.