3D Rigging is Beautiful, Here's How It Works!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] rigging in 3D may seem complex when you first look at it you've probably seen rigs like this and think what do any of those controls do and how do you even begin to set them up but when you break it all down it's actually not that bad you just need to think of it as three individual components skeletons skins and controls you probably already understand these three concepts just by name I mean it's what humans are made up of you control the skeleton and the skeleton controls the skin it's really as simple as that with that in mind all we need to do is understand how each of these components work individually and then put them all together in the end so let's give it a shot starting with skeletons consider the following let's say you have an action figure and you want to take it apart you could remove its arms and legs but you can still pose those body parts by themselves you can still Flex the arm pose the hand extend the leg it's still an entire arm and leg then you continue to take it apart removing the forearm from the upper arm the thigh from the calf now when it's in pieces like this you you can't pose any of it so that means each body part controls what's attached to it when you put the arm back together the upper arm controls the forearm and the forearm controls the hand and the same goes for the leg the thigh controls the calf the calf controls the foot this creates a hierarchy one part controls another part you can think of it sort of like a chain where moving one part of the chain moves the next one down the chain if you put the arm back in place it'll be controlled by the body if you snap the legs back in then the hips will control the legs and just like the video I did on legs everything starts at the hips so the hips control everything then the body then the arms and head the same is true for skeletons both real and virtual a skeleton is made up of a hierarchy of bones or joints to make things easier we can think of everything at the top of a hierarchy a parent and anything below it as a child a child follows whatever the parent does this parent child hierarchy is the most basic building block of rigging if all you want to do is put solid objects together in a hierarchy you can build basic basically anything you can make robots Vehicles Machinery puppets and uh Action Figures it's all just solid objects in a hierarchy parent objects that control child objects and those child objects are parents to other child objects so when it comes to skeletons what we care about is this the rotation we want to keep in mind two things about the rotation what direction each joint rotates in and where specifically the rotation happens let's think of the action figure again from earlier when it was separated into all of its individual Parts when you take an individual body part like the arm the center would be here right but if we want the action figure to work when we put it back together we actually need to rotate it here for the arm to make sense it's like a ball joint we want the rotation to happen where the arm connects to the body so it rotates the rest of the arm in a way that makes sense think of this as the pivot point and keep in mind that every joint has a pivot point it rotates from as for the directions each joint rotates in computers keep track of rotations in three directions and you want want those rotation directions to make sense you could rotate the forearm joint like this but for arms that doesn't make much sense does it instead we want it to rotate towards the upper arm that's joint orientation and it's good to keep in mind if the joints rotate the way you expect them to when you're setting everything up and that's pretty much the gist of skeletons you know it's actually simple enough that you could even think of skeletons as a bunch of points in space you don't actually need the parts in between just as long as that hierarchy exists the hierarchy and how it rotates is the important part so with all that in mind let's talk about skinning but first um I've got something I need to plug in you're watching this for free with no sponsors so if this video helped you at all consider supporting me on patreon this is my full-time job now so it would mean a lot thanks just like real humans you got to have meat on your bones and the equivalent to your fleshy human meat is your 3D model the skeleton we built earlier lives inside this 3D model and it's used to deform the model and make it move like a human pretty easy to understand but there's a problem previously we were using rigid pieces like an action figure but here it's one whole flushy piece what do you do about Parts like this that intersect which joints influence these parts of the model well the answer is both of them do we just need to figure out how much we want each joint to influence it let's think of it in the simplest way we can and consider one joint at a time just like our skeleton our model is also made up of a bunch of points in space all interconnected together these points in the model are are definitely the upper arm so we want them 100% controlled by the upper arm joint the same goes for these points on the model that are definitely the forearm so we want those 100% controlled by the forearm joint but these points in the middle near the elbow where does the forearm end and the upper arm begin if these points are 100% forearm it creates a sharp edge and doesn't look right but the same happens to the upper arm so we went both joints to share the space since it seems about equal we can have them shared 50/50 it still adds up up to 100% but it's shared half and half between the upper arm and the forearm and as a result both joints share that part of the model equally you can think of the elbow as a transition between both joints creating a nice curve when the arm bends this is called Skin weights every point on a model is weighted towards one or more joints remember the skeleton and the 3D model are completely separate objects by themselves skeletons are a bunch of individual solid objects on a hierarchy while 3D models are one flexible object what we're doing is connecting them together and applying that hierarchy to that 3D model now it may seem a bit complex to do this to every point on a Model but consider this what if you could paint the influences onto that model for example let's say this brush is linked to the upper arm joint and every point we paint with that brush adds 50% to that point if we add it to the same point a second time another 50% is added making it 100% then we switch to a brush for the forearm we can paint the elbow just once for 50% and the model's actual forearm twice so it's 100% influenced by the forearm joint this is called weight painting as we're literally painting the weight of influence each joint has on that part of the model if you don't quite understand what this means which is completely understandable because this is by far the weirdest step of the process think of it this way let's say the entire model was skinned to the upper arm joint this means the arm is only following that joint and posing the forearm and wrist would do nothing so when we switch to the forearm brush and paintt the forearm part of the model with the skeleton still posed notice how the model now matches the way the skeleton is pose for you 3D artists out there if you struggle with weight painting this is the way to do it weight paint the entire model to one joint like the hips pose your skeleton and then focus on Two Joints at a time keep it simple stupid by the way joints don't need to correspond to actual real world human bones you can technically use these to drive basically anything at its core it's just a way of having a point in space control another point in space The Only Exception would be the face and all of its intricate details but that's a video for another day audible wink and onscreen text that says subscribe what do you mean don't read that part out finally we have controls we understand skeletons and we understand how to use those skeletons to drive the skin but you don't usually want to animate the skeleton by itself I mean you could nothing stopping you but you could also just drive the chassis of a car or turn a PC on without its case adding controls on top makes everything much clearer and easier to understand here's the basic idea behind controllers instead of animating the model or the skeleton itself we're creating objects that will instead represent parts of that character and using those to drive the skeleton underneath they can control other stuff but we'll get to that what object you choose is completely up to you you could choose a ring a box an arrow a diamond a gear in theory you can use anything here because all we're doing is using an object object to control another object you could literally use a banana if you wanted I'm not a cop but the important part is that it's clear and easy to understand what controls what which controller controls the arm versus which controller controls the shoulder in my opinion this is the fun part because it becomes a puzzle of figuring out the simplest and clearest way to represent that part of the character you've probably noticed that we're using thin 2D curves for our controls these are actually NBS curves and it actually used to be the primary way of creating 3D stuff like Toy Story and Donkey Kong Country all those are nerb surfaces even though we don't use NS anymore in favor of polygons they're still useful to us as rig controls since they're always the same thickness no matter how close you are to them if you don't understand anything I just said don't worry about it it doesn't really matter just think of them as the objects used for rigs so now that we have our objects in place we want them to actually control what they represent right now we can rotate and move them around but they won't do anything just yet we need to constrain The Joint to the controller constraints are basically tying one object to another if the controller rotated 45° then the object it's constraining will also rotate 45° there's a few ways to do this but they all have the same end result we want the joint to copy what the controller does furthermore we can put the controllers themselves in a parent child hierarchy just like we did earlier with the skeleton since each object now constraints The Joint it represents the controllers should have the same hierarchy the upper arm controller contains the forearm and the hand that's the basics of it One controller for each joint and you can strain each joint to each controller but at this point if the controls do the exact same thing the skeleton does you may be wondering why we don't just animate the skeleton directly by separating our skeleton out from our controls there's a lot of things we can do to those controls that will make our lives easier when we want to animate for example what if we want to rotate the hips without moving the rest of the body this isn't possible with just the skeleton because rotating the hip joint will always rotate the rest of the upper body but our controls can have a more complex higher than the skeleton we can have a bigger control that contains the entire upper body and a controller specifically for the hips the point I'm trying to make is that you can make controls for pretty much anything not just one control for each individual joint and we can also add settings to those controls to change how they function like if you wanted the head to only move with the upper body but not rotate with it you could add a setting that turns off one of the constraints we added earlier one more thing FK versus ik I have a whole video on how to anime FK versus ik but now I want to explain how to actually implement it basically everything I've described so far is an FK setup if your controllers rotate and they're in a hierarchy that's FK this works pretty well for the arms but for legs you'll need ik otherwise your feet will never stick in place usually you have two controls for ik one that controls the foot's position and one that controls where the knee is aiming but there are times where you may want your arms an ik or your legs an FK so we need a way to switch between the two the nitty-gritty setup of this will depend on what 3D program you use and I try not to make these videos too specific to a program so this is going to be a real draw the rest of the owl moment but here's the usual setup use three sets of joints one is FK one is ik and the third set is the one we skinned earlier the FK and ik sets of joints work like normal they're still attached to the character and they have their own sets of controls but only the skin set of joints actually affect our model then we can set up a toggle that can turn on and off when the toggle is off the skin joints rotations match the FK joints rotations when the toggle is on it matches the ik joints rotations you could do this with constraints drivers Expressions set driven Keys whatever works for your 3D program but you just need some way to create a toggle somewhere and have it linked to those three sets of joints we can create a small control next to the arm or leg that holds this toggle and any other settings we need for the arm this is pretty common with a lot of Rigs and is what I meant earlier that controls can be pretty much anything and I mean anything there's way more beyond the scope of this video and it's all just super cool you could have the feet roll automatically or have the spine stretching with press or set up automatic positions for the fingers if you want to go beyond rigging into vehicles or quadrip heads then those have their own unique issues too I I love this stuff it's a little complicated to learn at first but it's all just so satisfying like finally solving a complex puzzle when you're new to it it can all seem confusing and repetitive these three steps skeletons skinning and controls are mostly the same for every character but when you understand those three steps you can eventually do them with your eyes closed and then after that point everything you implement is completely unique to what you want out of that character in a way rigging is its own form of art it combines engineering with animation and UI it can be expressive and creative trying to elegantly condense complicated controls into something that's easy to use and understand or it can be super complex and you can show off your skills with the fanciest ideas and implementations you can make rigs without a single line of code or program entire Auto rigging software to do it all for you it's a massive vast world of possibilities and it's all just to bring characters to life and in a way I just find it all very beautiful and now I hope you do too thanks for [Music] watching [Music] a
Info
Channel: Doodley
Views: 339,154
Rating: undefined out of 5
Keywords:
Id: 3RSwjZLClRc
Channel Id: undefined
Length: 13min 44sec (824 seconds)
Published: Fri Dec 29 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.