PDA

View Full Version : Non-zero rotations sneaking in


stardial
07-03-2008, 02:15 AM
All right then,
after some classes and a few Gnomon tutorials, I thought I had joint creation down, but I seem to be missing something. I have a rig in progress, and I drew the joints out in various orthagonal views, and got them as clean and oriented as I know how (freeze transform on the root joint, got all rotations zeroed out, and massaged the local rotation axes so they all conformed.

My character's arms are built at a 45ish degree angle, with a slight bend in Z at the elbow. I suspect this is my problem. I thought it was allowable to draw out the skeleton at any angle to conform to the mesh, as long as I did the adjustments to the joints as I said above.

The joints looked clean and all rotations were 0,0,0. I could put on rpsolver ik handles on the arms and they would stay 0,0,0. But when I added the pole vector constraint, it threw the rotations into -14, 1, 3. Here are two pics that show the shape of the arm rig with the mesh.


The legs are fine, again due I think to their ik alignment being orthagonal. Is there a way for me to make a stable ik arm rig with the angles I have built into the base joint chain?

ZedM0nster
07-03-2008, 03:44 AM
IK shouldn’t freak out too much if your preferred angle is set, pole vectors are definitely going to freak out because it's basically acting as an aim constraint, so unless your controllers you are aiming (pole vector constraining) to are on the right axis (aligned with the solver plane) they're going to twist. One trick I've found to work out pretty well is to create FK controls first and have all of those aligned and zeroed before creating your IK handles, then if anything freaks out while creating IK you can just set ikBlend to zero and it will conform to your FK controls which will be set in your bind pose (provided they're zeroed out).

Hope this helped.

CGTalk Moderation
07-03-2008, 03:44 AM
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.