#RiggingInMaya | Part 6 | Basics | Hand Rigging

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
we have now started to build our basic rig it has two limbs both with eye care and FK functionality and the ability to blend between the two stakes if you want to see how these were built then please check out the previous video in this series even though we can pause the hand and the foot we can't do anything else with them so it makes sense for us to now look into rigging those so in this video we will look at adding controls to the fingers and also the metacarpal joints we added previously to give the hand much more flexibility let's start by adding the main finger controls we want to give the animator the ability to pose the fingers but as mentioned previously we don't want them to have access to the base skeleton let's hide the model for now we only really need it as a guide for joint placement and as we already have the joints built we don't need to see at this stage so let's build a control which we can duplicate and use for each segment of the finger I'm going to go to create NURBS primitives circle to begin with now I'm not going to just use a circle instead I want a lollipop kind of shape so we have a stick coming from the joint but with a head on it which will make it easier to see and select so for the stick part I'm going to use the Edit point curve tool and make sure the curve degree is set to linear this will mean I can create a straight line with just two points I'm going to hold down X which will restrict the point placement to the grid add two points and press ENTER to finish this gives us two curves but we only really want one but we can easily combine them as I showed you previously using a bit of Mel right click in the outliner and select shapes so we can see the shape nodes now open the script editor select the curve shape one node and then the NURBS circle one curve anews parent - s - R this will parent the stick shared node to the circles transform node combining them you can now delete the curve one transform node as it's no longer needed as you can see both shape nodes are now under the same transform essentially making just one icon let's rename all these now and to keep things cleaned we will just call them lollipop for now as a name will change as we start to add them to the rig you we don't need to see the shape nerds anymore so let's hide them again at the moment that pivot is at the world root which is in the center of the circle we need it to be at the base of the stick so press insert which will allow you to edit the pivot point and then hold in X snap it to the grid point at the end of the stick [Music] now that's done we can scale it down you and holding V this time stop it to the first of the index finger let's group it now as I do with all my controls to give it an offset group and let's rename those I'm using the same name as a joint but adding underscore ctrl for the ctrl and then underscore offset to the group this again keeps things tidy and allows you to quickly identify them all we need to do now is make sure the control much is the orientation of the joint so select the offset group and go to constrain pairen just reset the settings we don't want to maintain the offset so let's disable that and click apply okay where is it gone I know what's happened I didn't update the pivot point on the offset group so let's undo that and select the offset group press insert and holding V snap it to the joint if we apply the constraint again yep that works now don't worry if your control isn't rotated the right way the main thing is that the offset group now has the correct orientation so you can correct the control without worrying about any rotation values being added you can do this a couple of ways you can select the curve points and then rotate them around the base pivot if you hold J it will snap the rotation so you can get more precise angles you or an easy way to do it is to just rotate the control again holding J to snap the rotation in fact this is probably a quicker way to be honest let's scale this down that looks about right and then freeze the transforms because we have the offset group the transforms can be reset without affecting the overall orientation that's one controlled on so let's duplicate that and snap it to the other joints in the index finger you let's also rename those you because we want this to work in FK forward kinematics let's parent the lower controls to the others or should I say a parent the lower controls offset groups to the other controls just to create the the correct hierarchy and again we'll use a parent constraint to make sure the offset groups are orientated and positioned correctly to match each of the joints you will see that some have become misaligned so doing this just ensures everything is where it should be so that's the index finger controls done and as you can see you can rotate them and they were nicely before we move on let's also change the color we will be duplicating these controls for other digits so doing it now just means that we won't have to go through and manually change them all later so I'm just going to drawing overrides and selecting enable overrides let's make it green now the child objects will automatically inherit the same color but I'm just going to go through and update them anyway this just means that if I need to unparent one later and use it for something else it will still have the same color [Music] I'm just going to bring back the model to make sure the controls are visible and not hidden inside the geometry yeah that looks okay we now have one finger setup with the controls so let's duplicate those and snap them to the base of the other fingers you and then quickly rename them you with that done all we need to do is just use more parent constraints to make sure each offset group is orientated correctly we only need two controls for the thumb so let's get rid of number three and those parent constraint notes to remember to delete them once the orientation has been corrected because they're no longer used I'll just repeat that for the other fingers adding and then removing the parent constraints to get the correct positions and orientations remember you can press G to repeat the last command so in this case it will quickly apply the parent constraint for you [Music] now all the controls are in the right positions we can use more para constraints but this time to make the controls drive the joints so these won't be deleted so this time round selects each control and then the joint and then apply a parent constraint as you can see we can now use the controls to rotate and pose the finger joints even though the finger controls are in now and working we need them to follow the hand position a present if we use the arm control to move the arm the fingers would just stay where they are so let's select all of the finger offset groups and group them now press insert and holding v snap the pivot point to the wrist joint actually that won't work because we need to make sure the new group has the same orientation as a wrist joint so let's just go back [Music] let's create an empty group this time and simply pair and constrain it to the rest undelete the parent constraint node that's better let's now rename that to l underscore hamd to indicate the left hand and then parent the finger controls to that as you can see the finger controls will now rotate around the wrist which is exactly what we want we just need to make sure the left hand group follows the wrist so we can use another parent constraint to achieve that so now we can use the left arm eye care control to rotate and position the hand and the finger controls will follow it because we parry constrain their left hand group to the wrist joint we can also blend between I K and FK and the hand controls will follow you let's just move the hand group now into the base controls group again to keep things tight so that's the finger controls done so let's now take a look at setting up the metacarpal join us yes you could just use the same process we used on the fingers and add an extra FK control for the metacarpal joints but instead let's look at a more intuitive approach so rather than relying on rotations and adding it another control for the anime is to use why don't we use the base finger controls translations to drive the metacarpal joints this sounds simple enough and if we move the control now it looks like this is already happening right let's display the local rotational axes and take a closer look at what's happening as you can see when I move the control up the connection between the joints is maintained but the metacarpal joint isn't actually rotated the rotational axis isn't affected what this means is once the model is skinned moving these controls up will have no effect on the model at the base of the hand and we won't deform correctly so we need to find a way to make the metacarpal joint rotate when the base finger controls are translated when I was originally looking for a solution into this I used I K handles to make sure the joints always pointed to the base of the fingers however after testing I found that this was unstable and the IKEA tended to flip in certain positions so instead I opted to use trusty old utility nerds to get the job done these were a lot more stable so let's open the node editor you and at the metacarpal joint and the first index finger control let's open these up so we can see that translate attributes on the control and the rotate attributes on the joint you so we know we want the translations to control the rotations so in this instance we need the y translation to adjust the Z rotation on the joint we could connect these directly and it would work but if I move the control the joint doesn't appear to be rotating as you can see the y-axis should stay pointing towards a root joint this is because the translate value is so small it's only affecting the rotation in a tiny way we need a way to increase that value press tab and then start to type the word multiply and then select multiply divided from the drop-down box as you've seen previously this can be used to multiply one value by another and then you can connect the results to an attribute Connect translate X to input 1x and then output X to rotate Z at the moment is just multiplying the value by one so we are just getting the same output you if we're just that value we can see the giant starting to rotate you let's round that off to around - 640 so let's hide the other rotational axes for now so we can concentrate on just this one as you can see now as I just to control the metacarpal rotates and follows correctly you it looks like we need to make the Z translation drive the extra rotation so connect translate X to import one Z and then output 1 Z to rotate X again we need to adjust the input value to set how much the translate should be multiplied by let's copy the first value but instead we'll remove the - I know that for this to work the value needs to be positive yeah that works well [Music] we have one more attribute we can work with and that's a Y rotation of the metacarpal joint but it would make sense for that to mimic the rotation of the control rather than the translation so connect rotate Y to input one wide and output Y to rotate why we haven't opted for a direct connection this time because as you can see when I rotate the control the metacarpal rotates at the same amount and for this joint it's far too much so using the multiply divide node again gives us a flexibility to reduce the amount it rotates this time let's set it something like point two five now as it rotates the joint is affected but only slightly now this may not be completely realistic but it's another option you can give the animator especially if they are working on a cartoon character where they need more flexibility if the animator doesn't need this they can simply set to the input to y-value to zero with that in mind you don't want the animator to be digging around in the rig so what we can do is take these values and connect them to a custom attribute which can be edited and even animated on a per character basis let's add some to the left arm control as this is a global control or alternatively if you want these on a per finger basis you could add them to the first controls on each finger go to modify add attribute first let's add a divider which helps to section out the attributes omit the channel box easier to read let's call this matter underscore offset now set this as an enum which gives you a drop-down box select blue and delete the name which will remove that option and then rename green to be a series of underscores to create a line of the attribute and then right-click on it and lock it and also make it non keyable to so there we have sorts of a heading if you like [Music] now let's add the attributes we need and these can just be flows let's add X underscore translate Z underscore translate and Y underscore rotate you need to add underscores in the name because it won't accept a space I'm just going to transfer those attributes across you and let's bring the left arm control into the northern tutu we now need to connect those new attributes to the multiply divide node so we have easier access to those values Connect X translate 2 input 2x why rotate to input 2y and Zent translate to input to z those are now connected and we can then edit the metacarpal values for all the fingers with just these three values you let's just rename this before we move on so we know what it's being used for maybe left hand meta offset or control control is better you although thinking about it this is only going to affect the index finger so let's update the name to reflect that we're going to need a multiply divide node per finger anyway so it seems silly to call it hand so that's one finger setup now we just need to repeat the process for all the others I'll just speed up the video here you now when it comes to the thumb it looks like the values we used for the fingers won't work so let's have more attributes just to control the thumb metacarpal you so following exactly the same process add a divider attribute called thumb on the scale matter you make sure you lock it and make it on cable too now add the three main attributes as before but this time add an underscore to the end of each name you can't have two attributes of the same name on the same note but adding an underscore gets around this you oops maiya crushed thankfully I had an autosave enabled okay let's connect these new attributes up first just be sure to select the right ones because they now look the same the easy way to spot them is they are the ones with no current connections connect ex translate to the input to X attribute on the thumb meta multiply divide node the Y rotate to input to y and z translates to input to Z now those are connected let's copy the main values across as a starting point we can now work on the thumb independently of the fingers you can see when I move the control of the y-axis is way off so I'm just going to reduce the X translate value to line it up you and I'll copy that value to the zet translator as we did with the fingers but remove the minus you that's much better you so there we now have full control of the metacarpal joints and we can also oppose the fingers you time to just do some cleanup we don't need the scale attributes on the controls so let's select and then lock and hide those obviously if you're working on a rig where you do need to scale the fingers then don't get rid of the scale attributes and let's also get rid of those rotational axes at the moment we have a good basic hand rig the animator composer fingers and some quite easily the problem is to create a fist can take a while especially if you need to do it over and over again what we're going to do next is use set driven keys to create a simple attributes driven pose meaning the animator can achieve a fist in the blink of an eye you to access the set driven Keys window you need to be in the animation menu set and then go to key set driven keys and open the options now set driven keys add keyframes onto the nodes so creating them directly onto the controls won't work we need to keep them as clean as possible the same can be said of the offset groups they have a job to do and adding keys unto them will just make the rig unstable so let's add another layer of groups between the controls and the offset groups these will only be driven by the set driven keys keeping them separated from the rest of the rig select each control for the index finger and group it because these groups lie beneath the offset groups they automatically inherit the correct orientations press insert and while holding V snap the groups pivot to the joint you now let's rename these groups let's add pause to the end as these are used to pose the fingers you okay let's now repeat that for all the other fingers and the thumb you with those added select all the new pose groups and click load driven in the set driven key window [Music] select all the groups in the left side and in the right select the rotate attributes as they are the ones which will be keyed so we now need something to drive these atoms and it makes sense to add the attribute to the left arm control just as we did with the metacarpal controls first let's create another divider just as we did before open the attribute window and set the data type to enum let's call this one pose as it will have all the poses we define beneath it and get rid of the blue option and rename the green so it looks like a line [Music] now we can add a basic float attribute let's make this one the fists control this time we are also defining a minimum and maximum value too so the animator can scrub between the fist being active or not one being active zero being not now click the lure driver in the set driven key window and select the fist attribute so we know that when the fist attribute is zero we want the hand to be relaxed as it is now so let's star this pose by clicking key as you can see the pose groups rotation attributes are now tagged as having keys we now need to work on the fist pause but first change the fist attribute to one you don't want to accidentally set the first fingers at zero now this is really important you don't want to edit the actual controls you have to work on just the pose groups an easy way to work is to select the controls and then press the up arrow on the keyboard which will pick walk up the hierarchy and select the pose groups for you so we just need to adjust the pose of the fingers and this could be done once the character has been skinned so you get a better fit for the fist although on setup you can go back and adjust the keys in the graph editor you just do the thumb now you yeah that looks okay so to stall that pause we just hit key again now we can adjust the fist attribute and the hand enemy is for us the issue now is everything folds in at the same time so you may end up with the thumb passing through the fingers let's close the SDK window and open the graph editor so if we select the pause groups for the thumb we can see the keys associated with the first attribute what we can do is select the keys at zero and give them an offset maybe just not point one so the thumb won't start to move until the fist attribute hits not point one giving the fingers chance to get ahead [Music] so if we try that you will see there is now a very slight delay it's maybe a bit too subtle though less adjust the pinky now to again selecting the poor's groups first and adding a slight offset to the start of the animation [Music] you okay let's try something a lot more drastic and interesting so maybe the fingers curling in all at different times so let's set these three fingers to not point one [Music] you now the two outer fingers - maybe no point one five and the pinkie to nor point to so that's a bit more interesting as we're getting more of a wave as a fingers curl out let's adjust the thumb again [Music] so that's better there's more of a delay now so the thumb can curling on top of the fingers now the beauty of this setup is because we added the set driven keys to the pause groups you can use the fist attribute but then continue to tweak the fingers with the controls you finally we just need to clean up the rig and lock off any attributes we don't want the animator to touch you in the outliner type pearls into the search bar we can then easily select all the pose groups you now let's select all the attributes and right-click and go to lock and hide selected if the animator now accidentally pick walks up they won't be able to edit or add keys to the pause groups let's now do the same with the offset groups oops quickly fix that name so again select all the offset groups and lock and hide them [Music] now the animator only has access to the controls [Music] and there we have the basic hundred-plus you have control over the metacarpal joints and the ability to quickly pose it using your fist attribute and obviously you could now add as many poses as you like maybe a point or a thumbs up whatever your character is the most you so that's the hand rig done next we will take a look at adding a rig to the foot and this will include all the basics like a foot roll tourist foot bank and so on I hope you enjoyed this video if you have please let me know in the comments below also let me know if you have any questions and also tell me what future videos you would like to see as always remember to like this tutorial and subscribe to my channel to keep up to date with future videos this is antsy GI signing off and I will see you on the next one [Music] you
Info
Channel: antCGi
Views: 55,688
Rating: undefined out of 5
Keywords: rigging, maya, autodesk, maya3d, rigging in maya, utility nodes, connections, rig, finger, multiply divide, node editor, nodes, Arm Rig, Leg Rig, Axis, Build Controls, EP Curve Tool, Contraints, Hand Rig, Finger, Metacarpal, SDK, Set Driven Keys, Finger Controls, Fist, Curl, 2019, maya 2019, gamedev, game art, game development, game rig, game rigging
Id: 3vJxXLw16Ak
Channel Id: undefined
Length: 40min 15sec (2415 seconds)
Published: Sat Aug 10 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.