#RiggingInMaya | Part 8 | Basics | Spine, Head, Eye & Eyelids

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
we are now in the final stages of building this basic brick as you can see I now have the limbs created and rigged on both sides of the character we have full foot control including the foot bank and the foot rolls plus both arms rigged and ready to go what we need to do now is create a spine rig and connect the limbs to it in addition to this we also need some basic controls for the head eyes and jaw now remember that the idea behind these initial videos is to get you up to speed with the very fundamentals of recreation yes this rig is very basic and when we come to attach the model to it and paint the skin weights in the next video you will start to see some of its limitations we will however address these in future videos go to skeleton create joints hold down X to snap the joints placement to the grid and create one Otherworld route let's just change the radius to make it a little bigger and we will call it COG which stands for center of gravity let's move this into position maybe hide the limbs for now too this needs to be right at the core of the character duplicate this joint and let's move this to just below the ribcage also make sure is in the center of the model let's call this one sternum duplicate this one a movie to the shoulders and let's rename that too now we need another joint for the neck so duplicate the shoulder joint and move it to the base of the neck you next let's add one for the head this should be just behind the ear and down a little bit to now we aren't going to be building a full facial rig I'll save that for another video but even with this basic rig we will need the ability to open and close the mouth and position the eyes so create another joint now and move it to where the hinge of the jaw should be and rename that we're going to create another joint now which will be for the end of the jaw this is purely visual and will help with the jaw setup but it won't be skinned if you want to be able to manipulate the chin however you could also use this as a chin joint position this outside the chin and call it chin underscore end again adding the end to indicate it's an end joint we now need some joints for the eyes so let's hide the main model for now so we can see the eye geometry duplicate the chin and joint and switch to the side view we need to see the wireframe so we can find the center of the eye model if we zoom in we can see the edge loops and can easily work out the central point it's important when building eye models to keep them straight so they can be rigged correctly so that's about right now let's switch to the front view and do the same switch to wireframe and then move the joints to the middle of the eye that's done so let's rename it to L underscore I next duplicate this twice these will control the eyelids and allow the character to blink rename them to L underscore eyelid underscore upper for the upper eyelid and L underscore highlight underscore lower for the lower eyelid what we're also going to do is reposition these slightly just moving them above and below the main a joint this will help later when we come to mirror skin weights having the joints overlapping can confuse Maya so the weights end up being transferred onto the wrong joints plus just parent a few of these joints now so we can start to see the hierarchy parent the chin underscore end joint to the jar and the jaw to the head now parent the eye joints and the island joints to the head - with these now parented the head acts as a central point meaning to create the right eye in eyelids we can use the mirror joints tool go to skeleton mirror joints and open the options mirror across should be said to Y Zed so it copies across the correct plane ignore the mirror function for now as we will be fixing the orientations later make sure you've set search for 2l underscore and replace with two are underscore this will rename the joints for you when they're married across so if it finds an L underscore it will replace it with our underscore now you can only do this one joint at a time so select the left eye and click apply now do the same for the upper and lower eyelids like I say the orientations aren't what we need but that doesn't matter at this stage as you can see those new joints now have a heart underscore prefix instead of L underscore so let's build the rest of the hierarchy parent the head to the neck the neck to the shoulders and the shoulders to the sternum looking at the abdomen I think we need more flexibility so let's add another joint duplicate the COG joint and move this up in between the cog and the sternum try and keep a nice even curve in there too rename that to abdomen and pair it to the and parent the sternum to the new abdomen joint so there we have the main spine joints typically of the chest area doesn't deform much but if you need extra flexibility you could add another joint between the sternum and the shoulders we have the joints so let's have a look at the rotational axes select the cop joint and go to select hierarchy now go to display transform display local rotational axes let's hide the models for now as we can see the axes are all in the default position so they need fixing so that the correct axis is pointing down the bone let's bring back the limb joints and look at how they're was set up it looks like we need Y to point down the bone and the z-axis to point forwards the joint orientations for the right side were inverted on creation purely to make them more user-friendly for the animator go to skeleton or enjoins and open the options let's just reset this so we need primary access to be Y and the secondary axis to be Zed the secondary axis needs to point forwards so if we look at the world axis Z is the direction we need we also want to affect the child joints click apply and those are now nicely aligned with the head joint we need that to be reset back to copy the world axis to do this we first need to unparent it from the hierarchy let's just drag that out for now the orientation for the jar looks good so let's preserve that by own parenting that too if we select the head and set the Orient joint tool to orient joints to world we can instantly reset the head and eye joints now we just need to rebuild a hierarchy so parent the jaw back to the head and the head to the neck let's also just reset the chin joint to so they rotate nicely and the spine looks good too let's select the hierarchy again and hide those rotational axes you so that's the spine and head joints done let's move the cog into the base skeleton group to keep things tightly we have the joint so let's build some controls now this is going to be a basic spine so we are going to add anything fancy like I care or even spline i key for this type of rig a basic FK spine will be more than enough first we need a main control which will move the entire torso so rather than build something new let's use an existing control icon like the ones on the I care arm this will work well in this area with the four points duplicate the left arm icon and move it out of the hierarchy let's delete that extra I care handle - previously we lots and hit the scale attributes so let's bring those back so we have full control go to windows general editors channel control with this window we can control what is locked and hidden away under the lock tab select the scale attribute and move them over to the non locked side now go to the cable tab and scroll down the non cabled hidden section to find the scale attributes moving them back over to the cable section brings them back into the channel box let's just reset those attributes I'm going to snap this now to the joint and scale it so it's more visible even with its scale there are still parts which intersect the model which is fine but I prefer it to all sit outside so I'm going to just edit that slightly I'm going to select the control vertices in the middle and scale amount yeah that looks better let's move it down a touch this is going to be more of a global control so it's not going to directly affect any single joint with that in place we can freeze a transforms to clean it up and let's rename it to cog underscore ctrl two indicates our control let's also give it a unique color so we can see this is a control for the middle of the rig maybe yellow so that's one control so let's create ones for the rest of the joints for these I'm just going to use basic NURBS circles but feel free to use whatever you like just snap that to the abdomen joint and scale it down create an offset group and I'll remember to Center that pivot for this group this time we'll give that a name and rename the offset group to so just duplicate the offset group and snap it to the sternum joint and rename those [Music] you and then repeat that for the shoulder control you so those are the main spying controls let's just quickly update the colors you before we move on I'm going to add one more control duplicate the abdomen control rename it to spine you and snapless to the cop joint now this spine is going to be an FK spine so we need to update the hierarchy so it works as we would expect so apparently up to control offset group to the spine control the sternum offset group to the abdomen and the shoulder offset group to the sternum control I'll just check the pivots are all in the right place looks like the spine offset group needs snapping back to the cop joint just press insert and then hold V to quickly fix that now all the others seem fine we now need to make sure the controls match the orientations of the joints so we need to go through each offset group and parent constrain it to the joint select the COG joint and the spine offset group and go to constrain parent and open the options disable maintain offset and click Pat now select the abdomen joint and then the abdomen offset group and press G this will repeat the last command which was the parent constraint repeat for the sternum to correct the offset group and finally the shoulders those all look good they're all aligned nicely now remove the parent constrain nodes as these were just temporary let's move the spine offset group so it's parented to the control okay let's bring back the model now and see how the controls look they're maybe a bit too big but we can edit those now so they fit the model a little better with them selected I can press f8 to go into component mode and then just select the Seavey's and scale them down I'm editing the Seavey's because if we scale the control it will affect all the ones beneath it in the hierarchy this way we are only editing that one control those a lot better although I think we need to scale them along the z-axis a bit too you great those fit much better now so let's make the controls drive the spine joints and to do this we can just use parent constraints again select the spying control and then the cog joint and go to constrain parent which will make the joint to follow the control repeat this for the other spine controls remembering you can just press G to repeat the parent constraint command we can now use the control suppose the spine with the control moving everything although you're probably wondering what the difference is between the code control and the spine control as they look like they do the same thing well we have some more things to add to this spine setup duplicate a spy control offset group to give us another control delete everything beneath the new spine control and rename it and the group changing spine to waste you I'm going to remove that rotation value to plan out this control I'm also going to scale it up to make it a bit more obvious you it looks like some of the controls have values on so let's clean those up before we move on I'm going to freeze the transforms but we need to disable the rotate option the offset groups need to retain that rotation value or the orientations will be reset that's better I'll clean now the waste control still has values but we will clean those once we have finished working on it let's lower it a bit more and maybe change the shape a touch to make it more unique you now I'm going to press insert and change this controls pivot point holding V and dragging with my middle mouse button I'm going to snap it to the abdomen joint now we can freeze the transforms I'm actually going to delete the parent constraint nerd we added to the COG joint because I want the waist control to affect it instead select the waste control and the joint and go to constrain parent oops this time we need maintain offset active we can now rotate the cog joint without affecting the rest of the spine you to see the full effect of this we now need to connect the legs to the torso you so let's create four empty groups and rename those two laughs like right like left arm and right now the I K and F care joints for the limbs are going to sit under these groups and this isn't essential but I prefer to have the groups positioned and orientated correctly so I'm just going to use some more temporary pair and constrain joints to do that now so the light groups match the femur joints and the armed groups match the humerus joints you and delete those constrained notes we now need to parent the AI K and FK skeletons to the appropriate groups so again the femur joints go into the leg groups and the humerus I care and FK joints go into the armed groups what we now need is for the light groups to follow the waste control remember that the IQ and FK joints control the position of the base skeleton so where there go it goes select the waste control and then the left leg group and apply parent constraint okay undo that and do it again with maintain offset enabled repeat that for the right leg so now as you can see the waste control gives us a nice little hip wiggle let's also parent the main femur joints to the COG joint - this is essential if this is a game development rig but not so much with a prediction rig so there we go we can now adjust the pelvis without it affecting the rest of the rig we can now control the whole torso with just the control whereas the spine control now on affects the upper body you let's look at the arms now and get those to move with the spine parrot the clavicle joints to the shoulder joint first just to make the skeleton whole in order to control the arms we first need to add some clavicle controls again I'm just going to use an existing control rather than building a new one maybe one of the finger controls duplicate a finger control doesn't matter which one and move out of the hierarchy delete everything beneath that as we only want the one icon now step it to the shoulder joint it's a bit small so let's scale it but the scale is locked so just like with the control we need to reactivate the scale attributes so do that next with the channel control tool we can now make that bigger and let's reset the rotations to fly me out okay so where are you [Music] now that you are so let's just rotate that so we can see it and snap it back to the shoulder joint and let's freeze the transforms to clean it up I'm going to rename this now so we know it's a clavicle control let's also give it an offset group and fix a pivot you renaming it too you even though this control is at the shoulder position we need it to affect the clavicle first let's make sure the offset group matches the orientation of the clavicle joint again we can do this quickly with a parent constraint you with that done we can now snap the roll back to the shoulder but we want the controls pivot to be back at the clavicle control so we can now select the control and it rotates from the clavicle you let's just rotate this control you I'm at the end a little smaller you we want the clavicle control to follow the shoulder control so parent the clavicle offset group to the shoulder control there we go if you go back to the armed group we created earlier you can see that as we move it it also affects the rest of the arm so if you parent constrain the left down group to the new clavicle control the arm will follow that and also move with the shoulder control as a final step we also need to make sure the clavicle control is actually manipulating the clavicle joint so parent constrain those two looks good you now we need to create the right clavicle control duplicate the left clavicle control and rename it for the right side you we can use another parent constraint to make sure the new offset group matches the position and orientation of the right clavicle now the control is in the wrong place if we scale it we might be able to fix that you there we go you let's freeze the transforms now to just need to change the icon we'll just hide the joints for now so we don't select them just rotate that so it matches the opposite side that's about right you as we did before let's use a parent constraints of the control drives the right clavicle and the clavicle control also moves the right arm group so they're the arms now follow the shoulder control you we can also adjust the spine and the arms follow with the spine done let's now look at setting up the head jaw and eyes I'm just going to use a NURBS circle again you and snap that to the net joint and scale it down you let's rename that to neck under scar control and give it an offset group to making sure to Center its pivot and rename it correctly I'm going to duplicate that and snap it to the head joint and rename those to head so the head control can be anything you want really but I'm going to rotate this one you I want to change the shape now but first I'll disable joint selection up here rather than hiding the joints you let's just maybe curve this around the back of the head you something like that and freeze the transforms you I'm going to duplicate the net control offset group again and this time we name it - JA you okay so let's enable drink so again and select the jaw joint and also the jaw control offset group and parent constrain it but disable maintain offset good that's orientated correctly now just delete that constraint nerd so let's edit that control so it fits around this guy's jaw you something like that we can now rotate that and see it pivots correctly let's also edit the net control so it fits a little better you and also update the color let's make this yellow to maybe made the jar a different color how about blue now we have those controls let's update the hierarchy so they sit nicely inside each other and then parent the neck control offset group to the shoulder control so it follows it you all we need to do now is use my parent constraints to make each joint follow the appropriate control you so there we go the head neck and jaw all animated nicely time to look at rigging the eyes and I think this time we'll make a proper eye control icon first create yes you guessed it another NURBS circle let's scale that down a little and then duplicate it now let's edit the copy to roughly represent the outer eye so just adjust those series you [Music] to get something like that you ice to placate this circle again and scale it down to give us a pupil and freeze the transforms on all those let's also rename them left eye control left pupil and left iris okay so as we've covered previously we now want these three curves to become one so right click in the outliner and enable shapes in the menu we want the pupil and the iris shape nodes to sit under the I transform to do this we just need a simple bit of mel script parent - s - r select the pupil shape node and then the i transform and run the code repeat this for the iris shave node and then delete the empty iris and pupil transform nodes with that done you can now disable shapes in the outliner and that gives us the one control now we have the eye control let's just rotate out and freeze the transforms and let's hide the models so we're just going to snap this to the eye joint to quickly get it into position using my favorite tool apparent constraint as if I select them the right way around better just delete that just change a color to indicate it's a left-hand side control so make it read scale it down now so give it an offset group but sent to that pivot and also rename it you let's also duplicate that now so we can create the right eye control we can just set scale X 2-1 to quickly flip it and then freeze the transforms and constrain it to the right high joint to match the position and rename it you the controls are ready now but so we can see them working on the joints let's just display the rotational axes let's also just update the color of the right eye control to there we go the eye controls need to be in front of the eyes so I'm just going to bring the model back and move the offset groups out in front and then freeze the transforms you the idea is as we move the I control the I joint will follow it always looking at it and to do this will we use a name constraint select the left eye control and the left eye joint and go to constrain in and open the options we want the access which the eye will look towards to be the z-axis so we need to change the aim vector from X which it is set to now to Zed so put one in the third column and set the first column to zero because the columns are laid out as X Y Z the OP vector is fine as it's already set to Y and everything else can be left at the default values for now click apply now let's apply the same to the right eye select the right eye control and the right eye joint and click apply now as we move the eye controls around the eye joints will always follow them you just going to fix that out color on the eyes iris let's have a look at what's going on Wow looks like that had its own color set that's fixed it the cool thing is you can also move the head and the eyes will still look at the eye controls let's now add a box around the eye controls which the animator can select an animate rather than having to do each eye individually I just want a basic box shape so we can use the Edit point curve tool to make this just making sure curve degree is set to linear which will mean I can have straight lines I'm just going to hold X to snap each point to the grid and create a basic rectangle shape quickly sent to the pivot and rotate it you and move it to the world route I'll serve freeze the transforms and I just want to move it so it frames the eye controls you that's about right let's freeze the transforms again to clean it up and parent the I control offset groups to it let's give it a name something like look at controlled so the animator can now move the one control to animate both eyes let's give that an offset group too you and move it to the base controls group with the rest of the controls we just have a few more joints to rig and those are the eyelids as usual we need to build some controls for these and I'm starting with yep another NURBS circle and to use them a lot but you can get some really nice shapes out of them quickly and easily I'm just going to edit this one to give me a rough half circle type of idolan shape you something like this will do just recenter the pivot and quickly get it to the I control position using a parent constraint you so let's rotate out and scale it down let's move it to the side too so we can see it clearly and let's duplicate that for the lower lid and of course freezer transforms although I should have done that later as I need to flip the lower lid control and move it let's just move these a little bit more to represent the eyelids being opened and freezers transforms again we will rename these now to left eyelid upper control and left eyelid lower control you and also update the colors say they're both red as we did with the I Jones we need to be able to visualize what the joints are doing and as we don't have the models skinned yet who will need to display the rotational axes let's hide the ones on the ice first ensure the eyelid once just left for now we don't need to see the models so we'll hide those two to make the eyelid controls control the eyelid joints we are going to use the same technique we adopted for the metacarpal joints in the hand so we want the translation of the control to drive the rotation of the joint what we're also going to do is look into adding some simple eyelid automation so they rotate automatically as the eyeball looks around but first things first go to windows node editor let's just reposition this bring the upper eyelid control in and remove the shape nerd and the upper eyelid joint let's also add the lower eyelid control and joint to just to open these up you it looks like we need a wide translation to effect the X rotation on the eyelid joint let's connect those and see what happens so the eyelid joint is moving but the why translation value is so small it's only rotating a tiny amount I should remove that connection so press tab and start to type multiply selecting multiply divide when it pops up we can use this to multiply the translate Y value increasing it to a point where we can see the eyelid rotating we'll just rename this first left underscore eyelid underscore Multi Connect translate y to import 1x and output to rule 2x on the eyelid joint we now need to change the input to x value as this is how much the input will be x let's set it to 50 and save that's enough we can now see movement but it's the wrong axis okay this needs to be connected to rotate X not rotate Y that's better but it's moving in the wrong direction we can quickly fix that by inverting the multiplier value so let's change this to minus 50 instead or maybe minus 100 to get more movement that's working better let's maybe increase this to 200 or 250 instead yeah that's much better let's connect the lower lid now and we can use the same multiply divide node because it has three separate inputs and outputs Connect translate Y to input one Y and then output Y to rotate X on the lower eyelid joint that's connected now so we just need to update the multiplier value you that works and we can move both controls now to animate the eyelids we could leave the eyelids here the animator can move the eyes and has control over the eyelids but they are separate if you yourself look around you'll notice as your eyeballs rotate your eyelids move too so why don't we expand upon what we have now to include this in our rig think of this as a bonus section to the video the other joints move with the eyelid controls but we also need to add in movement from the eyeballs too so we essentially need to add birth values together so we can still control the eyelids independently but we also have another influence from the eyes to help us do this we can use another node and this time is the plus minus average node with this node we can add values together and then output them to the eyelid joints this means we can have multiple controls affecting the eyelids press tab and start to type + - until + minus average pops up select it to create one bring the look at control into the node editor - we will use this to control the eyelid movement as the eyes move connect me translate attribute on the look at control to the input 3d0 attribute on the plus minus average node we're using the full attributes not just a separate XY Z because we want to take in the values from all the axes at once next connect the translate attribute from the eyelid or put control to the input 3d one attribute I hate it when it moves everything around it's so disorienting I did find the option to stop this doing this a while ago I'll have to have a look around and see if I can find it again ok let's move these back so those controls are both going into the plus minus average node you so the translate values will be added together to give us a single output value we still need to multiply the output to make this a larger value so connects the output 3d attributes to the input one on the Left I lead to multiply node let's rename that because this node will now only work with the upper eyelid and let's make sure the multiply values are all the same seeing as we are now using all three axes finally let's connect the output attribute from the multiply divide node to the upper eyelid joints rotate attribute let's see if that worked looks like the axes are all mixed up just reset everything delete these connections and reconnect looks like we just need to flip the X&Y attributes you so let's try that why is fine but verted but again we can quickly fix that in the multiply divide node all we need to do is invert the input to y-value that's it the eyelid follows the control which is just what we need if I move the lookout control now you will see that the eyelid follows that - we can see the axes moving as well as the eyeball joint the problem we have now is that the eyelid is moving too much with the look at control this will just make it look like the eyelid stuck to the eyeball delete the connection between the lookout control and the plus minus average node what we are going to do is use another multiply divide node here which will allow us to dictate how much the eyelid moves create another multiply divide node and call this left eye tract multi you connect the lookout controls their attributes to the input one attribute on the itraq multiply divide node now connect the output one attribute into the plus minus average nodes input 3d0 attribute so the eyelid is still moving too much when we move the look at control but by default the multiplier value is set to one so we're just getting the same results let's change the inputs to values on the x node to something like not point five you can see that the eyelids aren't moving as much now in fact they are moving half the original amount even with a look at control in a different position we can still control the eyelids with the eyelid controls so we get the best of both worlds now this setup isn't perfect because the automatic eyelid movement relies on the lookup control being moved if you move an eye control nothing happens we didn't use the eye control because this system works off the translate values so if the animator moves the lookout control the eye controls translate values will remain at zero meaning nothing would happen there are ways around this but for this basics video I just wanted to get the concepts across and we can investigate the other approaches when we come to build a full facial rig let's rename this so we know what it's used for left eyelid offset and we'll just say PMA at the end to indicate it's a plus minus average node so let's now set up the lower lid for this we can reuse the left eye track multiply divide node but we will need to duplicate the left eyelid offset plus minus average node and the left eyelid or / multiply divide nodes open those and let's rename them so change the open to lower here you and let's add a lower into the plus/minus originals name we should add upper into the other one too just for clarity connect the output attribute from the left eye track multi-node to the inputs 3d0 attributes on the left eyelid lower PMA node connect the translate attribute on the lower eyelid control to the input 3d1 attribute and major balls everything up again so annoying let's just reorganize this mess so connect the output 3d attribute to the input one attribute on the left eyelid lower multi node now we need to connect these the right way so connect output Z to rotate Z then output X to rotate Y and output Y to rotate X you that works nice one let's just go another step further and add an attribute so the animator can control how much the auto eyelid controls affect the actual eyelid joints go to modify add attribute let's add a divider first set data type to enum and call this eye controls maybe have this in capitals so it stands out more delete the blue attribute and rename green to a series of dashes to form a line add this to the lookup control and then add a floor attribute called eyelid underscore follow also LA khomeini I controls attribute on cable we can now connect this to the input to attributes on the Left I track multiply divide node by default the attribute was set to zero so if we move the lookup control now it has no influence of the eyelids let's add some influence now maybe change the eyelid follow attribute to 0.25 now the eyelids move we can even set this to something like five and now the eyelids move too much obviously but we have more flexibility now let's set that back you okay let's turn on the rotational axis for the eye joint again so you can see the difference in movement you can see now that the I joint is locked on to the look at control while the eyelids are following but only just slightly as I said before this is easier to visualize when you have a model attached so I hope you can see the difference here you will be able to clearly see it once we have skinned the character which is what we'll be doing in the next video as parently eyelid controls to the lookup control so they stay with the eyes so that's left eye setup all we need to do now is repeat the process for the right eye now I'm just going to speed through this but if you're not sure just rewind the video and follow along again but work on the other eye you there we go both I set up and they also have eyelid control and automatic eyelid control all that's left to do now is some cleanup first I'll change the color of the lookout control to yellow you now I'm going to select all the new controls and then lock and hide the scale attributes you we also don't need the rotation attributes on the eye controls actually we might do if the head is real tating okay I like those back in layer delete that bit of history from the eye controls you the job control has translate values we should have cleaned these up earlier we can just freeze the transforms now but just on the translate values you there are some values on the neck too you I think I'll move the head from the hierarchy before I freeze the transforms just to make sure I don't accidentally affect the head or jaw that's better you we can select those offset groups now and lock and hide all the attributes so they don't accidentally get selected and animated so there we have it a full rig yes it is a very basic rig but the point of these early tutorials is to get you used to the basics and the systems before we move on to more advanced systems later on all that's left to do now is connect the model to the skeleton so it will move and deform with the rig and that's what we'll do in the next video I hope you've 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'd 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 aunt c GI signing off and i will see you on the next one [Music] you
Info
Channel: antCGi
Views: 40,593
Rating: undefined out of 5
Keywords: rigging, maya, autodesk, maya3d, rigging in maya, utility nodes, connections, rig, node editor, nodes, Build Controls, Contraints, 2019, maya 2019, Spine, Head, Jaw, Eye, Eyes, Eyelids, Automatic Eyelids, Multiply Divide Node, Plus Minus Average Node, Pelvis, Waist, Abdomen, Sternum, Shoulders, Chest, Torso, gamedev, game art, game development, game rig
Id: NBFz3wZgjbI
Channel Id: undefined
Length: 70min 57sec (4257 seconds)
Published: Thu Aug 29 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.