View Full Version : Fullbody IK issue
01 January 2008, 07:02 PM
I've been playing with IK on and off for quite a while, and I've noticed when doing legs and arms with IK in the past (with both 3DS max, and maya) that when I animate them, for example the leg doing the first section of a run cycle, on one plane they always sway off on the perpendicular plane.
I've put some links to some images here to give you an idea of what i mean below. But anyway, i've just got a fullbody IK setup working on a character in Maya, and this problem happens to the arms. I had the body in a T shape when i rigged it, and then moved the arms by the side of the characters body for his standing pose, ready to animate a run cycle. It's when i started moving the arms into their first positions for the run cycle that i noticed the problem. anyway here are the images:
i've circled the IK handles in each image, so you can see what i mean. They stay on the path i would expect the arm to take, and the arm goes off to the side. I only moved it in one plane.
start frame, standing still:
2nd frame, arm begins to go off course:
3rd frame, arm still off course:
final frame, arm back in position i set on the keyframe:
so there it is. I think i followed how to set up FBIK pretty well, and the body moves around wonderfully when i grab different IK handles. I'm just really hoping there's something simple i've missed. but whatever it is, i'll have to get it sorted!
any help is really greatly appreciated!
thanks for reading
01 January 2008, 09:12 AM
nobody any advice? i hope this problem is easily fixable..
01 January 2008, 01:16 PM
Hm...so what your problem in animaton or in unexpectable rig controling?
If first ...check your keys...FBIK don't like Maya's standard keys...May be you can explain more about your problem :)
01 January 2008, 02:38 PM
hi, thanks for the reply! sorry if i've explained the issue badly, i'll try again :)
the problem is in animation, when maya is moving the body parts between keyframes that i have set. I can control the rig in the way i would expect, like dragging the arms moves the body etc, so i think that's all dandy.
the issue is that between keyframes the mesh moves away from the path i would expect it to move on. I've tried to demonstrate that in the pictures i put on my first post, like the way that the mesh isn't in contact with the handles for it's fingers and wrist in the frames between the start and finish frame. I've drawn a diagram to try and illustrate it better, link's below. sorry for the quality of the diagram, but drawing the arm from the front to show what i mean wasn't easy!
what i'm trying to illustrate is that in the side viewport the movement looks fine. I only move the IK handle for the arms in the side view port as well, didn't touch the adjacent axis. but the effect that you see in the front view port is that the elbow (and the whole arm to an extent) splays out to the side, when i never moved it on that axis at all.
so i hope that explains better hehe!
what do you mean about keys?
01 January 2008, 06:58 PM
Im very new with FBIK...so take this as an advice of a newbie. When you set those types of Keys... try to change the reach mode of the key... IK 1, Simple or FK 0 according to the type of animation that you want, and also...i think that from what i see in the images, that is the normal behaviour of the effectors...they are trying to compensate the distance between each other... (according to the Pull settings of the hikHandle that can be modified if you turn on the Expert Mode inside the hikHandle attributes).
update> If u want to mantain the shape of your limbs, modify the Stiffness of the part of the body that are involved. Maybe that could help.
01 January 2008, 09:34 AM
what do you mean about keys, i've not come accross them before (as far as i know!)? where do you change the setting you mentioned about them, are these keys selectable in the scene?
it doesn't make sense to me that the effectors would work in this way.. it's moving the arm in a plane that i didn't alter what so ever. If i move the effector around in the side viewport, and watch the arm in the front view, it doesn't move at all to either side. but yet when you key the mesh, for some reason it does?
if this is really the way IK works, then i think it'd be more akward to animate a run cycle than it would be to just move the model around by its vertices or something! if it's supposed to work like this, you make what seem like logical keyframes, then you constantly have to correct your model moving weirdly..
thanks for your advise though, if you can explain what keys are all about that might be useful?
and i'm still interested in knowing if IK is supposed to work in this way.
01 January 2008, 04:19 PM
I think what you're seeing is the IK solver interpolating between your keyframes. Try opening the Set Full Body IK keys Options and choosing FK key (reach=0). I think that may give you more the tween motion you expect. Remember you can't set normal maya keys, only special fbik keys.
I don't recommend FBIK for other than roughing out poses because working with the data it generates on two skeletons is a nightmare. I watched the Alias FBIK tutorial, and they don't even touch on editing the animation curves.
01 January 2008, 11:24 PM
Ctrl+F to set FBIK keys... and/or modify the Set Key Options to "Set FullBodyIK keys"... that way, pressing the "s" should be the same... anyways, just to be sure, do it always with Ctrl+F that is the default shortcut to set FBIK keys.
About the settings, select an effector. In the Attributes editor, you will see 2 tabs... one of them is the hikHandle, inside you can modify different settings such as the Pull of the limbs, roll attributes, Stiffness, etc. (Including the Kill Pitch Attributes that could be related to your problem) ... as i told u before, im also new with FBIK.. could be a problem on how are u animating, the settings, the setup of the FBIK...etc.
In any case... if you can make a playbast with ur effector and bones moving would be great... and, its true... u will have a lot of keys compared with the traditional way to animate... but it is a different way to animate.
02 February 2008, 10:51 PM
nobody any advice? i hope this problem is easily fixable..
did u solve the problem?
i did a quick rig with FBIK and did the same animation... and.....im having the same problem... hahah. Well, setting the reach mode to FK solves some of those issues, but in the same walking cycle, moving the arms, i still have that IK behaviour.
Ok... i manage...somehow... to make a "clean" rotation of the arm... but maybe with a few more steps that i usually require when i am animating with a standard rig. look at this, try to play with this values... u can find this settings in the channel box as reach translation and reach rotation. If u modify the values in the channel box, (for instance, reach translation is 1 and rotation is 0)... and u set a Keyframe when ur reach mode is on FK or IK, ur values will be override by that reach mode. So... if u want to keep ur reach values intact (the ones that u modified on the channel box), change the reach mode to Simple.
from the Maya Documentation
Specifies the amount of IK for the FBIK effector and controls how much your character’s joints want to reach their associated effector's translation. For example, a Reach Translation of 1 sets that the effector is completely controlled by IK and its joints will try to reach the effector's translation. A Reach Translation of 0 disables the effector’s IK (allowing you to then animate the underlying FK skeleton joints) and its joints ignore the effector's translation. The default Reach Translation values for your hip, hand, and foot FBIK effectors are: 1.0 Foot Translate, 1.0 Hips Translate, and 1.0 Hands Translate.
Specifies the amount of IK for the FBIK effector and controls how much your character’s joints want to reach their associated effector's rotation. For example, a Reach Rotation of 1 determines that the effector’s rotation is completely controlled by IK and a Reach Rotation of 0 disables the effector’s IK (allowing you to then animate the underlying FK skeleton joints) on its rotation channels. The default Reach Rotation values for your hip, hand, and foot FBIK effectors are: 1.0 Foot Rotate, 1.0 Hips Rotate, and 0.0 Hands Rotate.
02 February 2008, 09:43 AM
sorry for the delay in replying, i've not been able to get online for a while.
thanks a lot for your feedback and help! I've tried the things you mentioned, and noticed some improvement when using a different value for the Reach Mode. I also tried playing with the values you mentioned (for the arm effector) and i think i noticed some slight change, but it didn't seem to be much.
I have an update though; i made another model recently, and put FBIK on it (exactly the same set up as my other model, except i didnt use any collar bones) and it works a lot more as i would expect. I'm really puzzled now, as you said you tried it and got the same results i had before, and now i've done it again and it seems better (if not perfect).
i've no idea if this would make a difference, but i just realised that with my previous model (the one with the problems) that i didn't delete it's history before i rigged and skinned. So the history is all still there on the mesh, of every operation i did on it. is that a bad thing?
so a few people are saying FBIK isn't realy the way to go? if you set up a character in another way, can you still get the same level of control and convienience over it as with FBIK? i'm trying to find some tutorials on character setup, so i can experiment with it a different way, but i've not found any yet.
OH.. PS: having a little unrelated issue when using the subdiv proxy smoothing tool. i've done this method of modelling before when doing a face, but i just started doing another face and got weird results. I created an outline polygon (of the head) and then put subdiv proxy smoothing on it, and began extruding the lips, and instead of the smoothed mesh extruding smoothly, it extrudes very angular, like this:
like i say, this didn't happen the last time i tried.. anyone any idea why?
thanks again for all of your help an input :) it's much appreciated!
02 February 2008, 06:51 PM
Nice...is good to know that u solved part of the problem.
yeah... u could have problems if u keep the history...depending on what u are going to do with ur mesh later. A fact is, that ur scene will be heavier and every time u move those vertices with ur bones, Maya will have to go node by node that u left in ur history, to show u the final result.
I dont know if FBIK isn't realy the way to go...is just a different way. With advantages and disadvantages. Is there another type of rigging that could give u the same results? maybe... but will take u a lot of time to set it up with some melscript included.
and about the unrelated issue... take ur mesh, check the normals. Select the polygons involved and "soften edge" if not.. merge the edges and/or vertices that are involved...maybe u have 2 separate edges.
02 February 2008, 09:15 AM
ahhhh, so the history might have made a difference! I'll have to unskin and get rid of the history, see if that changes anything. that's really good to know anyway, thanks!
but you said you rigged up a quick FBIK example, and you noticed the same issue i've been talking about, so clearly the problem exists to some extent anyway?
as i say, i'm getting some tutorials about character rigging, so i'll see what other ways are suggested for rigging an entire character and get back to you. i personally like FBIK, it seems clutter free, and i hope to use it to export some meshs for a game i intend to make.
as for that extruding/smoothing problem, thanks again! turned out it was that it was extruding with 2 edges, instead of merging them. Was as simple as checking the first option in the 'edit mesh' menu (something like extrude with edges joined). So that's all dandy now :)
thanks very very much, alot has been cleared up today :D
02 February 2008, 09:27 PM
Sorry for my reply and my silence then, had some getting online problems.. :rolleyes:
Then I started my character rigging education process I thinked that FBIK must solve all my troubles with it in Maya...I remember how I waited Maya 7 which could have Motion Builder integration...uhh...but as you knew it did'nt happen..so then I brought all forces on character rigging researching..
So now I can say for you that Motion Builder is good program for animation(esspecially for mocap) with good animation controls (FBIK,pining, well Fk/Ik blending, bones floor contact collision,powerful animation blending and etc.) which skeleton can be integrated in Maya...and nothing more(but it is already too much, imho)
For me this pipline didn't works well, so I selected a way there I can have ALL my animation pipeline in one major software package (MAYA)..This way has a lot of advantages: you can create character rig of any creature with any count of bones with any complexity, you can create YOUR OWN control system which will works best only for your animating proccess, you can create a lot of stunning deformation effects and things which can improve everyday animatior's work and so on...
But it has disadvantages too: I already listed them in Motion Builder advantages...if you will choose custom character rigging way then you see a lot of problems in this region in FK/IK blending for example....
Good Character Rigging Tutorials - things which hard to find (even if they video tutorials)
I never see a good one for newbie (may be I bad seeker??) , so are recommend you use for that CGTALK forum - it is great place for Maya Rigging information gathering..you just need to find it..
P.S. Sorry for my poor english ;)
02 February 2008, 09:13 AM
hey there again :)
thanks a lot for your input too, it's interesting to hear another take on the FBIK thing. I've just finished downloaded some tutorials (from digital-tutors) about character setup, so i'm going to see how they advise you do it.
what you said about creating your own controls for the rig sounds really interesting, so hopefully these tutorials will cover that. and if i get stuck, i'll post back on here ;)
thanks again for all your help!
02 February 2008, 09:13 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.