#RiggingInMaya | Part 03 | Skeleton Building

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello again so now you should have a good understanding of joints and some of the key areas you need to be aware of as you build your skeleton and that's what we are going to do next really quick question for you now how would you like to help support the future of this channel and keep these videos free well there are a few options one would be to simply treat me to a coffee at my coffee page as a quick and easy thank you you could also grab something from the ant cgi store or one of my other online stores like cubebrush and gumroad this is where you will also find the course files that go with this course so you can download them and follow along however for as little as 99p a month you could join the ant cgi club there are a few ways you can join you could head over to my patreon or coffee pages or or alternatively simply hit that join button below this video in short the more support i get the more time i can dedicate to creating more high quality content just for you to get more information on how you can help follow the link on the screen or in the description below okay now that's out of the way let's get on with the video here we have our creature model and as you can see i've adjusted the pose slightly so that when his arms are lowered he will be in a more relaxed pose we also have the topology updates too so he is pretty much ready to start working with with that said there may be areas on the model where we need to add in the extra edge loop or two to help with the deformation but we will come to those as we work our way around before we create our first joint let's take a moment to think about the sort of skeleton we want we know this is going to be a game model and that comes with its own set of rules we also know that this will eventually be used in the unreal game engine so what i've done is export the default mannequin from unreal so we can take a look at that and use it as a guide now you don't necessarily need to follow it exactly but sometimes it makes things easier if you intend on using existing animations for example you can quite happily ignore the joint names and orientations and use your own setup if you prefer which is what i usually do so here he is and we can see his skeleton here so this is pretty much how we want our creatures skeleton to be it has all the main joints we need so the engine can use it without any issues we will use roughly the same joint count although i do like to add a few extra joints in to help with deformation and make the character more flexible we will also use the same names where we will stray from this skeleton is with the joint orientations and we discussed these in the previous video as you can see the unreal mannequin uses x as its primary axis which points to the next joint what we are going to do is use y instead and there are a couple of reasons behind this choice firstly when it comes to moving around in maya x and z are seen more as the positional axes whereas y refers more to height so it makes sense to replicate this in our rig the second reason is that there has been research done on this subject and y was found to have fewer issues when exported to unreal particularly with euler flipping this is when joints have a wide range of movement and the rotations go above 360 or below -360 which can cause them to flip you can sometimes correct these using mei's euler filter found in the graph editor so this is the skeleton and we also have twist joints which will help when we come to rig the upper and lower arms and the legs okay let's hide the parts of the model we don't need so the clothing mainly oh we need to keep the head and let's turn off the texture and let's use default lighting let's also hide the floor plane for now we also need to see the wireframe so that will help guide joint placement let's open the create joint tool options so as mentioned we do need y to be the primary axis so let's set this to y and change secondary axis world orientation to z because we want our z-axis to point forwards now these can easily be changed so it's not essential you set these here but it could save a bit of time let's also enable projected centering so may can help place each joint in the middle of the model let's move the outliner and hide the mannequin i'm going to include him in the source files too so feel free to take a look at him later if needed okay let's start with the left arm and place the clavicle joint first and then the shoulder elbow and wrist as you can see maya has helped by estimating the middle of the model and placing the joints for us so to use the last tool you can press g so we can quickly jump back into the joint tool and create the thumb we are looking for the main knuckle area or the points where each section would pivot around now the main finger so the knuckle looks like it should be here and remember we added the extra edge loops here so we can get a nicer bend in this area so this can also help guide us with joint placement and then we need another at the end of the finger the claws don't bend so we don't need a joint in those if you're not sure about where the best place is to put your joints then refer to some skeleton reference there's plenty available online okay the last finger now done i'm wondering whether to add another joint further up the hand i'll leave that for this rig it's only going to be a basic skeleton so we don't need the metacarpal movement another thing to be aware of with any game skeleton is the joint count each extra joint you add will impact on the engine so the more you add the more chances you have of slowing the game down so it pays to be frugal this obviously depends on the target platform so to be safe get a rough joint count limit from the team lead or your client okay we will leave the hand like this for now let's create the leg next we want the first joint to be here at the crease of his hip the next at the first knee and another here let's check the texture for a second okay i was wondering how far the toes could spread but it looks like they could be limited to the base of the foot okay let's add a foot joint here now for the toes one here and another here now these joint placements aren't final we will be coming back and tweaking them later we could probably do with an extra edge loop here where the tool bends i'll just quickly add one and make sure i enable symmetry 2 so it adds this to the opposite toe remember to bring up this marking menu hold down shift and control and then click with your right mouse button that's good the edges are blue which means they are symmetrical i'll just select this edge ring and go to connect components there we have it added to the other side too we can also remove this edge here to collapse that triangle we can do this one too there are lots of areas of this model that need fixing but i'm going to try to focus more on the rigging i could possibly follow this up with a modeling course of my own if you're interested that's a bit better we just need to soften the edges now there we go distraction over okay let's get back to the skeleton so that's the leg and you will notice that i'm only working on the left side this is because we can simply copy these over to create the right side when we are finished with them now let's add the spine i'll switch to the front view we need to start at his core this is the point where he would pivot if he bends over so this could change depending on the character maybe around here we then need four more joints ending at the base of his neck let's double check with the unreal skeleton we have the pelvis and then three spine joints before the neck so five in total just like us remember that you can have more in your skeleton if you need them the spine joints need to be dead center so we need to check those i'm going to hold down x which will snap to the grid and then move them across the x-axis there it moved a small amount but this is important if we plan to mirror anything in the future let's fix the other joints and another option instead of using the snap tool you can simply set the translate x attribute of each joint to zero each joint's translation attributes are simply an offset value so it's the distance from its parent joint so setting these to zero moves them back to the middle of the grid right let's adjust the spine we just want to move these so they are more in the middle of the model as a general rule it's good to have a joint just under the rib cage as this is a main pivot point the upper torso is more rigid but it helps to have a little flexibility for when the torso is twisting that's why we have this extra joint above it here you will see that if i move a joint all the others above it in the hierarchy move too which can be frustrating when placing joints an easy way around this is to press insert this frees that joint's movement making it more independent so we have more freedom when adjusting these let's just move these back this joint will control the neck so it looks like it needs to be higher let's adjust this too so it's more evenly spaced okay let's move on to the arm the clavicle is all the way over here so that needs moving let's press insert again so i don't move the whole arm and this needs to be closer to the front at the base of the neck adjust the shoulder slightly onto the elbow and the wrist now let's adjust the fingers these are small changes but it's good to have the joints lying on edge loops rather than between them it just means that they will deform better let's move this knuckle this needs to be in between these edge loops now the other finger okay good now the leg this needs to be closer to that edge loop and more in the middle okay switch the view for this one you have to think where the best pivot point would be that should work now this joint finally the foot let's maybe raise this so it's more like an ankle now to adjust the toes okay so that's the main joints positioned let's add the head and eyes next for the head we can simply duplicate the neck joint just select it and press ctrl and d and move this up to where the base of the skull would be or the top of the spine on a human model this is usually just behind the ears we need this to be parented to the neck joint so select it and then press p now duplicate the head joint and move it over to the eye a quick way to get the joint into the exact center of the eye is to select the eye model and then the joint now go to constrain point this will attach the joint to the model using a constraint if we have maintained offset disabled the joint will move i'm not going into too much detail on constraints at this point but if you want to know more please check out my video on connections and constraints over on my youtube channel this has moved the joint for us but it's also connected it too so if we move the eye model the joint would follow what we need to do now is remove this connection if we go back into the outliner and find that joint you will see it has a point constraint node attached simply delete this to free the joint another alternative to using a point constraint would be to use maya's match transformations tool you can find this in the modify menu just one thing to note if your eye model isn't completely spherical like in this example this method will only constrain it to the middle of the geometry not the actual sphere in that instance simply move the joint back once the constraint is deleted or you have positioned the joint all we need to do now is parent this eye joint to the head joint so the eye will move with the head now we have the main joint in place so next is the fun part renaming let's bring back the unreal mannequin so all we are going to do is rename our joints so they match the unreal skeleton i'll speed this part of the video up but if you are unsure please refer to the source files when it comes to the extra joints like the eye just give it an obvious name but use the same naming conventions as the rest of the skeleton it's so important to stay on top of your names it means your scene and rig are better organized plus it prevents names clashing something which will throw up an error when exporting into unreal engine now let's look at adding some of the extra joints we need the first is the root joint the root is essentially a locator so the engine knows where the character is in virtual space it can also be used to effectively pull the animation back to the world root something which is essential with game animations so if the character is animated moving away from the world root unreal can pull it back and then it can position it itself so that the character can more accurately interact with world objects you can read more about how it works in unreal by following the link on the screen okay let's bring back the grid and we just want to create a single joint but we need it with the default settings so the orientation matches the world's orientation i'm going to just hold x and snap this joint to the grid and that's it let's rename this to root nice and easy now duplicate the root joint and holding v snap that to the pelvis joint call this one cog which is short for center of gravity and parent that to the root joint now parent the pelvis joint to the cog joint actually we will skip that for now and come back to it once the limbs are finished so next we need to add the twist joints you can see one here on the unreal skeleton let's copy that name for now duplicate the lower arm joint and delete its children so there is nothing parented to it we need this joint to be exactly halfway between the lower arm and hand joints the quickest way to do this is to use another constraint select the hand and the lower arm joints and add the new lower arm underscore l1 joint to the selection you add this one last because this is the joint being constrained now go to constrain point just as we did earlier so just like we did with the eye we need to maintain offset disabled so the joint moves you can see that it's now moved between the other joints now it's in position we can delete the constraint and parent that to the lower arm joint so it moves with the lower arm also we need to remember to rename the new joint so let's paste the name we copied earlier so it matches the unreal skeleton that's the lower arm done let's move to the upper arm and we are going to treat this area a little differently to the unreal mannequin so as before duplicate the upper arm joint and delete its children let's find the name of the twist joint here it is let's rename our new joint before we move on there we go with this first joint we're going to leave it here we need this to help with how the shoulder rotates and deforms if you rotate your own shoulder forwards and backwards up and down the shoulder moves with it however if you twist your arm the shoulder doesn't twist instead your arm twists around the bicep area so we will use this joint later to help replicate this movement now we need a second twist joint this will sit in the middle of the arm so duplicate the first and change the number to two just like with the lower arm we will use a constraint to position it so select the lower arm and upper arm joints and then the second twist joint and create a point constraint that's moved so we can now delete the constraint and parent the joint to the upper arm so that all moves together that's the extra arm joints added so let's now add them to the leg and it's exactly the same process let's copy the name from the unreal skeleton so with the thigh we are going to use the same setup as the upper arm so we can get the correct deformation meaning the upper thigh doesn't twist as much as the lower duplicate the thigh and delete everything underneath it now rename it just paste the name you copied previously duplicate that twist joint and change the number from one to two and use another point constraint to update its position remember to delete the constraint node oh and i'll fix that name okay that's better now parent it to the thigh joint the first twist joint needs parenting to it too good actually i'll update the upper arm too moving the first twist joint so it's parented to it right next section so copy the name we need to do this lower section because this is the calf duplicate the calf and then delete its children oh that sounds so harsh delete your children rename it to twist one now update its position with a point constraint and then delete the constraint and parent the joint to the calf now let's do the knee section so copy the knee delete the other joints beneath it that way of putting it sounds better update the name so we know it's a twist joint point constrain it to the calf and knee joints actually you may be wondering why i use a point constraint and not a parent constraint let me quickly demonstrate the difference if i use a parent constraint instead we can tell it to use the translations and rotations applying that moves the joint but it also rotates it too so as you can see the joint's orientation has changed whereas we need it to remain the same this is because it's trying to find an in-between point from the orientation of the first joint and the orientation of the second joint this is why i prefer to use a point constraint in this instant the orientation is kept the same as the knee joint okay let's delete that and parent the twist joint to the knee okay all done so that's the main joints we need at this stage all we need to do now is parent these so they form a single skeleton this is essential when exporting to a game engine you need to be able to have a single hierarchy for the character now we can parent the pelvis joint to the cog it may seem strange having these two joints here but we need them to separate the upper and lower bodies giving the animator more freedom you can't really see it here let's parent the thigh to the cog so if i move the cog everything follows if i move the pelvis now just the upper body follows okay next parent the clavicle to the upper spine joint which is spine three the fingers can now be parented to the hand and the toes to the foot joint so there we have a single hierarchy the problem is the joints are different sizes this is purely a cosmetic thing though and doesn't affect the rig but i like to make sure they're all even so select the root joint and go to select hierarchy now update the radius attribute in the channel box let's maybe set it to 1.5 that's better they're all the same radius now okay so that's the skeleton built well half of it anyway let's take a break here and in the next video we will look at updating the joint orientations rotation orders and create the opposite side okay that's another video over thanks for watching right to the end and make sure you also check out some of the other free videos and courses that i have available you can find links to all these on the screen now and in the description below remember to help support future content and keep these videos free visit the ant cgi store or join the ant cgi club alternatively if you would just like to show your appreciation for these videos why not treat me to a coffee at my coffee page again the link is on the screen now and in the description below thanks again for watching this is ant cgi signing off and i will see you on the next one you
Info
Channel: antCGi
Views: 1,576
Rating: undefined out of 5
Keywords: rigging, maya, autodesk, maya3d, rigging in maya, rig, gamedev, game art, game development, game rig, game rigging, how do I, maya 2020, quadruped, model, patreon, joints, skeleton, rotate order, rotational axis, pole vector, ik handle, set prefered angle, projected centering, orient joint, joint orientation, gimbal lock, xyz, 2022, maya 2022, unreal, ue4, ue5, mannequin, alien, creature, base skeleton, game skeleton
Id: fGacyVzJGIU
Channel Id: undefined
Length: 28min 11sec (1691 seconds)
Published: Fri Nov 26 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.