Inverse Kinematics - Blender 2.80 Fundamentals

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
inverse kinematics or ik' is one of the most common bone constraints as it helps make moving limbs and other joints very intuitive and easy to animate but what is I K well inverse kinematics is the opposite or inverse of forward kinematics or FK so let's figure out what FK is first to do this I'm going to demonstrate using a simple arm rig you can find this base arm rig in the same character mesh file available in the description down below in the collection called arm base rig now let's talk about what exactly FK is FK is simply how bone parent chains work by default in other words moving the parent moves the child the reason why it's called forward kinematics is because the transformation of the bones only influences bones that are further forward down the chain of Bones which ways forward well if you pretend the tails of the bones are like arrows then forward down the chain is simply the direction the bones are pointing you can also see that moving the child right now will not affect the parent at all great now we know what forward kinematics is so what is inverse kinematics well we know it's the opposite but what does that mean well instead of influencing bones forward down the chain inverse kinematics allows for the transformation of a bone near the end of a chain to influence bones that are further up the chain of bones basically it's when a child bone has influence over the parent bone in some way to demonstrate this I want to quickly show you the auto IQ option let's open the right hand side menu by pressing N or clicking this arrow here then go to tool and you'll see the auto IQ option this is a simple checkbox blender has that doesn't permanently change your armature at all but rather helps when you want to pose bones very quickly by enabling this you can very easily move bones at the end of chains to influence the transformation of the entire chain itself this is especially handy when animating hands or feet in real life when we raise our hands we don't think oh I'll move my upper are and then extend my forearm quickly so that it allows my hand to travel upwards no we tell our hands to move upwards and our upper arm and forearm act accordingly to accomplish that movement it's this kind of natural thinking that I K allows for animators to do with their rigs with I K by simply telling the hand bone to move upwards the upper arm and forearm bones will automatically determine where they have to be to accomplish that movement likewise it's also very helpful for making sure feet stay glued to the ground when needed great now that we understand what ika is let's figure out how to apply it to our rigs the auto eye Kaffee Chur is nice for quick posing but it doesn't give us full control over the eye K and it doesn't work for animation so instead what we want to do is use the inverse kinematics bone constraint to set it up properly the first step is simple let's go into pose mode select our forearm bone and add the inverse kinematics bone constraint from the bone constraints tab indicated by this wrapped blue bone icon in the properties editor from there you'll notice that we have a few input fields to fill the target object will be the armature itself even though what we really want is to target a specific bone but that's within that armature so let's select armature from the drop-down then we can select the bone we want in the bone input field this works in a similar way to the track - and stretch to constraints where our target bone is where we want our active bone to point to so in this case we'll want to choose the hand bone however when we select our hand bone now and try to move it it doesn't actually seem to do anything in fact it's not translating at all as it's still connected to the forearm bone let's simply go into edit mode and disconnect our hand bone from the forearm bone but keep it parented now as you can see we can translate our hand bone and it influences the forearm bone but it also influences the entire rig this is not what we want we only want the arm to bend so let's go into our inverse kinematics bone constraint and go to our chain line option the default is zero and this simply goes up the entire bone chain the active bone is parented to so in our case it goes all the way down to the bottom of the spine this is indicated by the yellow dotted line here by changing the chain length value our yellow dotted line will show how far up the chain our inverse kinematics will take effect you might see a bit better in wireframe mode however the only bones we want influenced by the inverse kinematics constraint are the forearm and upper arm bones so we want a chain length of two now when we move our hand bone it correctly influences only the forearm and upper arm but I don't think we want it to be freaking out like this it doesn't seem like it's very animatable or stable so what's happening here well quite simply remember in the parenting video when I said you can't form a loop and the parents well we sort of just did here if you think about it the forearm is pointing to the hand but the hand is parented to the forearm this means that when the hand moves the forearm will try to point to the hand but if the forearm moves to point to the hand the hand will have to move because it's parented to the forearm thus moving the hand further which will move the forearm further to point to the hand which will move the hand further because it's parented which will move the forearm to point to the hand etc etc this is called a cyclic dependency and we don't want that so let's go ahead and unparent the hand entirely so that we can move our hand independently from our forearm nice as you can see moving our hand now bends the elbow in a very natural way the only issue we have now is because the hand is no longer connected to the forearm we can now stretch the hand out away from the forearm which isn't ideal so the most common workaround for this is to simply go back into edit mode reparent the hand to the forearm then duplicate the hand bone and unparent the duplicate now we have an independent controller bone that we can point to instead let's call this bone hand underscore I K going back into pose mode we can select our forearm go into the bone constraints tab and change the bone target from hand to hand I K now as we move our hand i ke bone the forearm and upper arm deform nicely and we can move this hand I kake controller out without stretching the hand itself however now to rotate the hand bone itself we would have to switch between animating the hand I K and the original hand bone that's a bit tedious for our animators so let's add a simple copy rotation constraint for the original hand deformation bone to follow the hand I cabe own for easy animation I'm also going to make the hand eye a bone a bit bigger in edit mode so it's easier to differentiate from the original hand bone although giving it a nice custom bone shape is an option as well great now we have a nice basic eye care it except you may notice that sometimes when we move the hand bone around the elbow sort of bends the wrong way this is not ideal and some of you may remember that there is still one more input field in our inverse kinematics constraint let's go back into it and see what it is yes the poll target input field this will be helpful for solving the issue of joints bending the wrong way during inverse kinematics a poll target is simply a reference object or bone that the elbow joint or inverse kinematics joint will try to point to as the bones Bend for this we can simply create a new bone by duplicating the hand I cabe own and moving it behind the elbow I'm going to rotate it so that it points away but it doesn't matter because only its location is actually referenced let's rename this to elbow underscore target now we can go back into our inverse kinematics constraint settings and simply input the armature again for the object field for the bone input we'll want to select elbow underscore target and now as you can see when we move our hand I cabe own the elbow never bends in the wrong direction anymore except that's because the elbow doesn't Bend at all this is because quite simply our were created to straight and it doesn't know which direction to start bending so let's very quickly go into edit mode and just drag our elbow joint slightly backwards now as you can see our elbows Bend just fine except it's still in the wrong direction but don't worry that's because we forgot to set one more value in the inverse kinematics constraint let's go ahead and keep our elbow bent and then select our forearm bone again we can go into the inverse kinematics constraint and click and drag this pull angle value until it points to the pole target correctly and that's it we now have a working inverse kinematics rig in blender
Info
Channel: Blender
Views: 213,797
Rating: 4.9406333 out of 5
Keywords: blender, b3d, blender 3d, 2.8, 2.80, blender 2.8, blender foundation
Id: S-2v_CKmVE8
Channel Id: undefined
Length: 9min 33sec (573 seconds)
Published: Thu Aug 22 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.