View Full Version : js FK/IK back problem
03-01-2004, 12:58 AM
I am working through the FK/IK back solution setup on jason schleifer's "intergrating a ....... production pipeline" dvd but I am running into problems when constraining the root to the hip control. I am getting double translations on the first spine joint (L_4 in on the file). I've go through the tutorial twice but can't seem to get it right. Anyone gone through this and may know where I may be going wrong?
03-01-2004, 08:33 AM
turn off `inheritsTransform` in the transform node of the spline, or whichever node receives the double transformation.
03-01-2004, 01:09 PM
thanks Buexe but didn't work. frome what I can tell, because the spine is parented to the root and the spine is being controlled by clusters, both of which are being controlled by the hipCtrl. I tried unchecking "inherits translations (thanks for that, didn't know it was there, will be very useful) on bot the joints and the clusters but both gave the same result of moving the whole spine and not just the hips. IU can get away with unparenting the spine and the IK curve from the hips and then constraining it to the hipCtrl but I would really like to get this working as outlined in the dvd docs.
03-01-2004, 03:33 PM
Maybe check to see if "Relative" is unchecked on your clusters?
I remember having that exact same problem, but I can't remember how I fixed it...I think it was unchecking relative though.
Try that and let me know if it helps. I'll try to take a look at the set up later today and see what's going on with it.
03-02-2004, 07:36 AM
thanks jHromika I have had problems wiht relative and clusters bfefore but it doesn' t look like it's that this time. When I check relative (normally unchecked) the clusters rigidly move along with the hipCtrl instead of giving it that nice "pelvic thrust" move. When i translate, the clusters stay in the same spot but the IK curve and the joints go wayward. glad to hear that some one else had the same problem and worked it out.
03-02-2004, 07:56 AM
Are your clusters weighted correctly? Do the weights normalize (add up to one)?
03-03-2004, 08:42 PM
How do I check the weights? is it the envelope setting(all currently set to one)?
03-04-2004, 08:40 AM
select the cvs of your curve and go to the component editor, click the weighted deformers tab to see the weighting, imagine you do a skin weighting, so that your weights for the clusters add up to one, like if you have a cv in the middle of the two clusters give each one a weight of 0.5 so that it is always exactly between the two clusters.
But isn`t that described on the DVD?
Anyway good luck!
03-07-2004, 10:27 PM
hmmm, somethign strange just happened. I opened up maya to try out your suggestions but things just seemed to work before I enev started. wierd.
this cluster stuff isn't described on the dvd. Its great but jason was a little pressed for time so he couldn't go into some things. Thanks for your help thoug Buexe.
03-14-2004, 03:53 AM
prut this rigging aside for a shile but now I need some help again. I am creating the "fullBody" control but I cant get my hip controls transforms frozen without the orients going crazy. I am following the outlined proceedures but when I get to typing "setAttr hipCtrlOrientGrp.rx (180-'getAttr torso_1.jointOrientX') i get a syntax error. I have all the required objects and named correctly. does anyone know why I'm getting this error?
03-14-2004, 03:58 AM
I had the same error on that one too. Can't imagine why though, the syntax looked fine.
Maybe try breaking it up into two lines?
float $tempVal = `getAttr torso_1.jointOrientX`;
setAttr hipCtrlOrientGrp.rx (180 - $tempVal);
See if that works. It might just not like having to get a value and then compute with it in the same line for some reason.
If that doesn't work though, just use the channel control to move the jointOrientX attribute over and manually do the math that way. I think that's how I ended up working around it, but try the two line code thing too.
03-14-2004, 11:01 AM
thanks for the suggestion but when I use the script you suggested it does the same as when I do it manually which I don't think is the correct end result. the hip control flips to the front of the character and rotating the hips with it. is this whats supposed to happen? it doesn't seem right.
03-14-2004, 06:00 PM
Hmm...how exactly are you following the pdf? I only say that because when I did it, I used different controllers than a text 's' and 'h' for the shoulders and hips. I used cube shaped curves, so I saw no reason to do the rotate 90 in Y step. This ended up causing me problems when I got to the step you're on though.
So I guess make sure you did rotate the controllers 90 in Y and didn't try to freeze transformations until told to. If that doesn't do it...all I can think of is something you've probably already done five times which is check the math again :hmm:
I'm assuming you oriented the 4 torso joints exactly as he did so that Z points to the rear right?
When I did this, it took me several attempts to build it correctly. When I finally got it, it was because I forced myself to carefully read each step. Apparently I was reading a couple at a time, and then every so often would either add something or forget something, like a freeze transform where it wasn't supposed to be.
Just keep at it, it's all there, it's just really picky since it's such a complex setup.
03-15-2004, 05:40 AM
I'm trying to follow the pdf as accurately as possible, I am changing some of the names though because I am trying to rig one of my own characters. The problem is when I create the curves (letters) for the hip and spine controls. I rotate the group they're created in 90°and if I don't freeze the fransforms the hips turn 90° when I apply the jsConstObj script, also happens when I ungroup the curves. I am also having problems with this script that sometimes I apply it to my skeletons root and it looks like its added the constraints but it doesn't do anything
03-16-2004, 12:05 PM
I have watched through the DVD again and followed jason thgough exactly and am still getting the same trouble. I rotate the text in the groups they were constructed with (which I don't delete) I reposition the text then their pivot points then I parent the clusters and finally select the "hipCtrl" then "Root" and apply jsConstObj and heres where things get screwy. The hips twist 90° around z and 45° around X & Y and are repositioned towards teh 0,0,0 point (but not on). I really need to get this character rigged, can anyone shed some light on this?
I think this may have something to do with the fact that for some reason the root node will not respond to anything except translating it directly. I cant parent or constrain it to anyghing and move it via that. there are no locked transforms, limits put on the joints constraints or even keys set down:argh:. Help please.
03-16-2004, 12:44 PM
I havenīt been following this thread, but did you do that step where you need to set the hipOrientGrp.rotateX to a value of (180 - torso1Joint.jointOrientX)? This is an important one, but Iīm not sure if that is whatīs causing your problem.
03-16-2004, 01:32 PM
make sure that your spine joints are oriented correctly. they have to correspond to the orientation of your controlObjects. keep in mind that jsConstObj creates offset constraints... there also is a problem with this script in case you undo the operation. the offset objects will not be deleted, neither the extra attributes on the constrained object. make sure to remove this stuff manually, or the script will not let you perform a const again.
never had problems with this area... make sure everything is oriented correctly and double check your rotation orders, too.
for constraining the root to the hipCtrlObject you can also use a regular point and orient constraint.
as it was said before, also make sure that your hipCtrl is aligned in globalSpace (that offset calculation thingy).
I could take a look at your scene if you want...
01-17-2006, 03:00 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.