Groovy Grease Pencil Cut-Out Character Rigging Tutorial | Intermediate to Advanced Blender

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Do you want to make super groovy 2D characters like this? Today, we’re going to find out how, using the free and open-source Blender Grease Pencil. Hi everyone. In this video, we’re going to make a 2D cutout character using Blender grease pencil. I’ve done what I can to make this video accessible to those who have never rigged anything in Blender before, but there’s a lot to learn for those with more experience as well. If you have any trouble following along, feel free to leave a comment down below, and you’re bound to get a helpful response. Opening up Blender, we can select the 2D animation preset. First, we need a design. I started off drawing three different iterations, and just played around. Eventually, I chose this one. Exiting out of draw mode, by pressing CTRL+TAB, we can create a new object, SHIFT+A, under Grease Pencil, press ‘Blank’. Back in draw mode, on this new object, we can start drawing a sketch in a neutral pose, this makes life easier when we get into rigging. Next, we start drawing the different segments of the character on their own layers, making sure to keep everything in one object. You can find the layers under the ‘data properties’ tab, or this squiggly line icon To make a new layer we can press the plus button, and the minus will remove it A little pro tip, which should be helpful, is if you click the little drop-down menu, and select ‘auto-lock inactive layers’, this will stop you from being able to change anything on layers that aren’t currently selected This will stop you from drawing something on the wrong layer. For this, I just used the default pencil brush and a few simple materials. Ok Here we are We’re ready to start rigging. Before we get started, I want to go over some fundamentals. The one thing all rigs need are bones. For this, we need to add what’s called an Armature object. In object mode, we press SHIFT + A, and select armature, then single bone. This will create a new object, which we can see in the outliner over here. With this new object selected, we can enter edit mode, by selecting it from this drop-down menu, or pressing tab. This way, we can add new bones, without adding new objects to the scene. We can select our bone here, and press G, R or S to move, rotate and scale. Here’s a little tip. To gain more control when scaling, make sure that your cursor is a distance from the selected bone, before pressing S. We can add new bones in a few different ways. First, we could press SHIFT+A and a new bone appears, completely separate from anything we’ve done before, but still in the same object. On the other hand, we could extrude a new bone from the existing bone, here. Just select the end node there and press E, and there we go a new bone. This one is connected and parented to the first. I go over that in a bit. Also, we could split the existing bone, into multiple, by right-clicking and pressing subdivide. In the bottom left of the screen, we can see a little drop-down menu. This contains the options for the last action that we just did. In this case, we subdivided the bone. We can open this up, and choose how many cuts we want to make. The next fundamental principle that we need to understand when rigging is the concept of parenting. When a bone is the child of another bone, it will follow all movements. There are two ways a bone can be a child of another bone. Either connected or disconnected. When we extrude a bone, it’s connected. This means that the top of the parent will always be at the same position as the base of the child. We can select the bone, and press ALT+P, and select disconnect bone. Now we can move this off to the side, but as indicated by this little dotted line, it is still a child. If we press ALT+P again, but this time select ‘clear parent’ the dotted line disappears, and with it goes any connection between the two bones. Equally, we can select one bone, and holding SHIFT, select the other. Now we can press CTRL+P. This will parent the first bone to the second, and we can choose between connected, or keep offset. Ok. We’ve covered object mode and edit mode, let’s touch on pose mode. This is where we will eventually do our animation, but we also use it along the way, when testing our rig. Here we can use the same G R and S to transform our bones, and if you press ALT G, ALT R and ALT S, this will reset the original location, rotation, and scale, to match with edit mode. This is all a bit abstract. So let's apply these fundamentals to our character. So to get started, we add an armature object, ‘SHIFT +A’, armature and single bone. Now that we have the armature in the scene, we’re going to change some settings, just to make it easier to work with. Firstly in the object properties tab, under Viewport Display, We change the ‘Display As’ property to ‘Wire’ This will allow us to see through the bones, which can get rather bulky, as we work. Secondly, under the Armature properties tab, under Viewport Display, we check the ‘In Front’ box. The combination of these two settings means that we are always able to see the bones, while also making sure that they’re not covering anything important. Ok, tabbing into edit mode, I use increment snapping, by holding down ‘CTRL’, to rotate the bone down to one side This will be the root bone of the character This will allow us to move the entire character at once, when animating, so I like to add this first. It’s important to name all the bones correctly, and we’ll start here by pressing F2 and renaming it to ‘root’ Correct naming will be unbelievably helpful throughout this process, from animation to adding constraints You don’t need to follow the same conventions that I do, just make sure you have your own system to follow. For example, I use a bunch of prefixes to label the functionality of each bone, also, I often append .L or .R at the end of a name, if a bone has a left and right version. Once the root is in place, I move forward by adding the deformation rig Essentially this is a group of bones that will directly move the Grease Pencil object This is by far the most intuitive, and easy to understand step. Personally, I like to start from the centre of gravity and move outward, so duplicating the root bone, and moving it into place, we right-clicking and selecting subdivide, we now have the first two bones of the deformation rig Just as always we rename these I tend to give deformation bones the prefix, ‘def-’ this just labels it clearly. Now let’s get the arm set up. We can duplicate this torso bone, and move and rotate it so that it’s in line with the arm. We can parent it to the upper torso bone, and rename it. def-arm.R Finally, we extrude some new bones for the rest of the arm, rename them. I then move on, adding bones for the neck, head, the other arm, legs, anything that will need to move when animating, like the elements of the face. One thing I do to make rigging easier is pressing ‘ALT + Z’ while in solid view mode This makes everything a little transparent I find that this can be helpful when placing bones in the middle of a joint, like the elbow. When adding the arm bones, one thing I tested was, selecting both forearm bones, and rotating them along their local z-axis In pose mode, select both bones and press R for rotate, then Z for the Z-axis I was just making sure that they would move in the same direction. Because Blender is a 3D tool, sometimes bones can get rotated around their poles, or its roll, that just makes animating bones, which should act similarly, a bit more confusing than it needs to be. Testing this can be a lot easier, if under the armature properties tab, under viewport display, we check the ‘axis’ box This just shows the local x y and z direction of each bone. You can see here, the bones were pointing so that you would rotate them around their x-axis, which is fine, but the rest of the bones would rotate around their z-axis So I selected each bone, then under the N panel, under the item tab, under transform, I changed the ‘Roll’ value When I did this I made sure to hold down the Alt key, to make sure that the transformation applied to all the select bones and not just the active one. Once the face bones are added and everything is named well, we’re done with the deformation side of the rig. The next step is to attach the Grease Pencil object, so that the rig controls it. First, we want to select the root bone, then under the bone properties, uncheck the ‘deform’ box This just tells Blender not to use this bone to deform the Grease Pencil object. Then, we enter into object mode, select the Grease Pencil object, then shift select the armature Then we just press CTRL + P and select parent Armature Deform with Empty Groups What this does is automatically adds an armature modifier to the Grease Pencil object, with the armature as a target, and also adds vertex groups One for every bone in the armature named accordingly Now all we need to do is go through each vertex group and assign the vertices or points, that we want to be affected. We can do this in two ways Either enter edit mode, select the vertex group, then select the vertices and press the assign button under the vertex groups panel Or go into weight paint mode, select the vertex group and just start painting. For this style of animation, I tend to use the edit mode method mostly, with a little bit of weight painting when I want a smoother transition between two bones. Let's go through this with the arm. First, we select the upper arm vertex group, then the points that make up the upper arm, then press assign. We move on to the forearm. Select the group, select the points and press assign And we repeat it on the hand. Ok. With that done, we just move on to the rest of the character. Once we’ve tested our vertex weights, by posing our armature in pose mode, And corrected any errors, we’re ready to move on to our first bones that don’t directly affect the Grease Pencil object. Note: The reasons why we need bones apart from the deformation bones, can be a little confusing. So, here is an explanation that I used in a previous video of mine. Essentially, there are a few layers of the rig that we need to create, the most fundamental, and most intuitive, is the deformation layer. These could be compared to the underlying armature of a marionette puppet, connecting all the limbs. This gives our character structure but would be complicated to animate manually. So we make a second set of bones. The mechanism bones. This is where rigging a character, can begin to feel a bit like programming. These build on the structure of the deformation bones, making them easier to control. These are like the strings of our puppet. Finally, we have the control bones. These are the ones that the user will interact with, or animate. These are like the Crossbar of the puppet. To recap, the control bones affect the mechanism bones, these then affect the deformation bones, which finally move our grease pencil character. Lots of flexibility with simple controls. In this instance, I decided that I wanted a bone that would control the entire face at once, between the head bone and all the various face bones To do this I duplicated the nose bone (SHIFT+D), called it mch-face Then we parent all the face bones to this new one, by selecting them, SHIFT selecting the face bone and parenting with CTRL+P and choosing keep offset. The mch prefix on this new bone labels it as a mechanism bone as opposed to a deformation bone. A mechanism bone is a bone that doesn’t affect the drawing directly, but rather adds functionality between the controls and the deformation bones. Ok moving on, we’re going to go through each part of the rig, and get it working as we want Let’s start with the torso. Before we get into how I went about this, I’m just going to show you how I wanted the finished result to look like Right now this bone chain starts from the bottom of the hips and moves up towards the shoulders However, when animating I prefer for everything to pivot closer to the centre of gravity Secondly, while I still want to rotate the upper torso like this, I also want to add some squash and stretch on top of that So how are we going to go from here to there? We start by duplicating the current torso bones and moving them to a new layer. An armature has 32 different layers that can be found in the armature properties, and we can move the bones between these layers by selecting them, pressing M and selecting the layer we want. There are some addons that provide a more… intuitive solution and I would recommend checking those out, but for the sake of this tutorial, I only want to use tools available in Blender, by default. Ok with our duplicated torso bones on another layer, we can now extrude a new bone at the character’s centre of gravity Just select the joint, and press E for extrude I like to call this bone ctrl-cog The cog stands for centre of gravity, and the prefix just labels it as a bone that the animator will control directly. Also, I want to rename the other torso bones, with the prefix ctrl, and get rid of the .001 suffix automatically added to the end of duplicated bones. Ok let’s get started on getting that functionality Firstly, let's get the parenting in order We select the cog bone, and unparent it, as this should be the highest in the hierarchy We press ALT + P and select clear parent. Then we select the upper torso bone and shift select the cog bone, and press CTRL+P to parent it. Before parenting the lower torso bone, we need to flip it around so that it pivots from the middle With the bone selected we can press ALT+F to flip the bone Then we can parent it to either the cog bone or the upper torso bone, depending on how you would prefer it to work Try both and test it out in pose mode. Ok This upper torso bone can rotate, just as we want it to, but if we want to add some stretch and squash, we are going to have to duplicate it, and scale it down, just to differentiate it from the first bone We do this by pressing the key and select individual origins from the pie menu This will make the bone scale from its base Then we just press S, for scale, and drag the mouse until we’re happy. We then name this bone as ‘ctrl-torso-rot’ for rotation and rename the other bone to ‘mch-torso’ This is because we will use the smaller bone to rotate the torso, but the other bone will help with the stretch functionality, but will not be the control for that. Next, we can extrude a new bone from the top of the torso bone, and unparent it. Then we can add a ‘stretch to’ bone constraint on the torso bone We can do this in one of two ways Either, through the bone constraint tab, select the correct bone, add the constraint, and fill out the properties The other option is to select the control bone that we want it to stretch to, SHIFT select the bone we want to apply the constraint to, press CTRL+SHIFT+C and select the stretch to constraint in the popup menu This will automatically create the constraint with all the properties filled out. Now you can see the stretch control can move the bone around just as we want. In order to have both the default rotation functionality as well as the stretching, all we need to do is parent the stretch control to the rotation control You may want to hide the torso bone that stretches to the control in edit mode, when doing this Press H to hide selected bones. And there we go Just like we had planned Isn’t that cool. Ok, now we want to make the deformation bones follow these control and mechanism bones Let’s start with the lower torso, because it’s the most tricky, as the deformation bone is facing the other way from the control bone. The way I went about doing this was first adding a copy location constraint Then selecting the armature, and the control bone as the target This shifted the bone up to the centre of gravity, which is not where we want it So I slid the head or tail slider to 1. This means that the base of the deformation bone will always be at the end of the control bone. Then we need to set the rotation, by adding a stretch to constraint, after the copy location. We set the target as the armature and the same, control torso bone, and boom It works just like we want. For the top half of the torso, we can simply add a copy transform constraint to the deformation bone, targeting the torso mechanism bone This just copies the transforms for the mechanism bone, and applies it to the deformation bone We just select the deformation bone, add a copy transform constraint, set the target to the armature, and the mechanism torso bone. Now it seems to work, except one thing I don’t want the head to scale with the torso like that So how do we fix this? If we unparent the neck bone from the torso, then it doesn’t scale, just like we want, but now it doesn’t follow the location either, which we do want. So let’s extrude a new bone at the base of the neck called mch-neck-attachment, and just like the neck, we’ll unparent it This will just act as a buffer between the torso and the neck Now we just parent the neck bone to the buffer. Next, we add a copy location constraint to the neck attachment bone, by selecting the torso, shift selecting the attachment, and pressing CTRL+SHIFT+C, and selecting copy location. We then add a copy rotation constraint in the same way, and this happens Which is not what we want We’re going to need to change some of the properties in those constraints. On the copy location constraint, we just slide the head/tail slider up to 1, and now it’s not moving the bone to the bottom of the torso bone, but the top. Right now the copy rotation constraint, points them in the same direction, in world space That’s why the head is sticking out to the side If we change the constraint to use local space, then it goes back to how we want it. And seemingly it’s working now One thing I’m going to do before we finish is add a copy scale constraint to the attachment bone, but instead of targeting the torso bone, like the others, we target the rotation control This way, if we scale the entire character, for whatever reason, then the head will follow with that. Next, we’re going to get the head going The first step, just like before, we duplicate the deformation bone, and move it to the second layer. After renaming this to ctrl-head and parenting it to the neck control bone, It’s working fine There is one thing that I would like to change At the moment when we rotate the neck or the body, the head rotates too And that’s not bad Sometimes that’s exactly what I want But other times, I want the character to lean forward, and the head stays upright, without needing to counter animate it like this. If I unparent the head bone, and add a copy location constraint, targeting the neck, with the head/tail property set to 1, then it works the other way But as I said I want to switch between these two methods. So what we’re going to do is extrude a bone at the base of the head called mch-head-follow-1, then duplicate this, change the name from follow-1 to follow-2, and scale it down, with the pivot point set to individual origins. Then we parent the little one to the neck bone, and we unparent the big one Finally with the head bone parented to the bigger bone, we just add a copy location, scale and rotation constraints to the bigger bone, targeting the small bone We seem to have come full circle, the head is following the rotation just like before Except now on the larger following bone, if we change the influence slider on the copy rotation constraint, we effectively switch between the two methods Later on, we’ll attach the value of this slider to a more animator accessible control, but for now, I’m happy. The arms of this character are going to be a little more complicated Similarly to the head, I want to be able to switch between two kinds of rigs depending on the context of the animation In this case, sometimes I want to be able to rotate each segment of the limb individually, working from the shoulder out This is known as FK or forward kinematics Other times I want to be able to move a control at the wrist, and the rotation of the arm segments update automatically like this This is known as IK, or inverse kinematics. The way I like to do this is to duplicate the deformation bones and move them along like this, before moving them to a new layer This chain of bones will be the FK rig, and we’ll rename them to reflect that. We can do that by selecting all of them, pressing F3 and searching for ‘Batch Rename’ Using Find and replace, we find ‘def’ and replace with ‘ctrl’, or control, then making sure we change it from Objects to Bones, we can press OK and the change will be made. Now we can do this again, and this time search for .001 and replace with nothing. At this point, I changed to the Layout workspace I find that it’s easier to see the bones, and I really should have done this earlier. Just like the head rotation thing, I want the same on the FK arms So, just like the head, we extrude two bones. We add copy location and rotation constraints on the larger bone, targeting the smaller bone Then a copy scale bone targeting the torso rotation control. Then the arm is parented to the bigger bone, and the little bone is parented to the torso bone. After moving the bones back into place, I like to scale the control bones down, just to more easily differentiate them from the deformation bones, while they’re all still visible. Ok, now I will add some copy transform constraints to the deformation bones, targeting the FK controls To do this we just select the control bone, shift select the deformation bone, press CTRL+SHIFT+C and select ‘copy transforms’. Then I duplicated and moved the deformation bones again and renamed them These ones will be for the Inverse Kinematics or IK. Because we duplicated the deformation bones after adding the FK constraints to them, these new bones also have them, so we’ll have to go ahead and delete those Go into the constraints panel in pose mode, and with a bone selected, hover over the constraint and press X. Ok For Ik, I like to add a shoulder control This isn’t strictly necessary, but I find that it’s a cleaner way to work. Then we add a wrist control. Ok, so next, we select the forearm bone and in the bone constraints tab, we add an Inverse Kinematics constraint Then in the Target field, we select the armature, then in the wrist control for the Bone Finally, we set the chain length to 2, so that it doesn’t go up all the way to the base of the torso. Now we can see that it works as we want it One thing that I like to do, is to have the rotation of the hand dependent on the rotation of the IK control So what we can do is, in edit mode, select the hand and parent it to the wrist control Now it seems to work like we want, unless the control moves too far away, and we cut off our character’s hand Oops So to fix this we just add a copy location constraint on the hand, targeting the forearm, this will snap its location to the elbow So in the constraint, we slide the head/tail slider to 1, and now it’s not locked to the elbow, but the wrist. Finally, we need to apply a second set of copy transform constraints to the deformation bones, this time targeting the IK rig. Ok now that’s done We just have to do it all again for the other arm. We duplicate everything twice, shifting them along, renaming them along the way. Add that following mechanism Big bone, little bone The arm is a child of the big bone, the big bone is attached through constraints to the little bone, the little bone is a child of the torso bone. We add the shoulder IK bone parented to the torso bone, along with the wrist, parented to the root bone We then add the IK constraint and attach the hand Parent it to the wrist control, and constrain its location to the end of the forearm bone. Finally, we constrain each of the deformation bones to their FK counterparts, and then repeat it for the IK. And to finish it all off, we simply move the FK bones, and IK bones, back in line with the drawing, pressing ‘M’ to move them to a new layer, just to keep everything separated. Now we have the ability to control the arms using IK, or FK, and to switch between the two Next, we’re going to do the same on the legs, this is very similar, but there are some key differences. The first difference is how we set up the FK system Based on how I wanted to use this character, I decided that I didn’t need the same following functionality as the arms and head, so essentially we can move on, without touching it. In contrast, the IK system is a lot more complicated than it was for the arms. After adding the hip control at the top of the chain, we add another bone at the ankle, like the one at the wrist of the arms, but this one is just a mechanism bone, rather than a control The animator will never touch this one Instead, this will be the target, of the IK constraint, but a child of the actual control bone. Moving on, the foot bone, has a slight offset from the end of the shin bone This makes life a little challenging, regarding how constraints work For example, we can’t add a copy location constraint, without it snapping to the end of the bone We can fix this by adding a buffer bone I called this “mch_foot_base_ik.R” So now, this new bone can be a child of the shin bone, and the foot bone a child of the new bone Now if we add a copy rotation constraint to the new bone, targeting the Ik bone this will function exactly the same as the arm rig The foot rotates with the IK bone, but stays attached to the leg. All of this may sound a bit confusing, but just think of it as a way to separate the different parts of the rig, making it more modular, and easier to work with This concept is very powerful It’s the same concept that we used with the big bone little bone set up, to help with the FK arms and the head. The next thing I want to add is a really cool, foot rolling mechanism, as shown here To do this we’re going to need two bones One that pivots from the ball of the foot, and the other that pivots from the heel The heel roll bone will be a child of the toe roll bone Finally, the Ik bone is a child of the heel roll bone Now, no matter which bone is rotated, the entire foot goes with it. Also, we’ll quickly add a control bone for the entire foot IK. Next, we’re going to make sure that the toe doesn’t rotate, when the foot rolls forward To do this we just add a copy rotation constraint to the toe bone This will target the toe roll bone Then we set it to use Local space, instead of global space Finally, we set it to only affect the z-axis, and also invert the z-axis The effect of this is that when the foot rolls forward, the toe rotates in the opposite direction, cancelling the motion, so it remains horizontal. This two bone system isn’t the most intuitive way of controlling this, so we’ll extrude a new bone from the heel This will control both bones at once. Ok, to do this, we add a copy rotation constraint to the heel roll bone, targeting the new control bone. We set it to use local space At the moment, the rotation works the wrong way We could fix this by inverting the rotation on the constraint, but I chose to do this, by entering edit mode, and selecting the control bone, and then adding 180 degrees to the roll property Now, back in pose mode, when we rotate the bone, it works as expected. Unless we rotate it forwards. We don’t want that So on the heel roll bone, we’re going to add another constraint A limit rotation constraint. Using this, we limit the z-axis, with 0 as the minimum and we’ll put the max to 90 degrees for now With this, when we rotate the control bone, the foot doesn’t roll back more than 90 degrees and doesn’t roll forwards at all. Also, I chose to add a limit rotation constraint to the actual control bone. Make sure that this control bone is parented to the IK foot control. We then repeat the same process for the toe roll bone Adding 180 degrees to the roll property, because it rotates the wrong way by default. Make sure that this control bone is parented to the IK foot control If it’s parented to the wrong bone, then this happens. Ok We’ll move them onto their own layers, and move them back in line with the drawing Finally, we just add copy transform constraints to the deformation bones to each of the FK bones and then the IK bones, just like we did for the arms. Select the control bone, shift select the deformation bone, press CTRL+SHIFT+C and select copy transforms. That was a lot of work, so it’s lucky that, instead of repeating this entire process again for the other leg, we can just duplicate all the bones, and shift them over. This will mess up their names, so we use the batch rename tool to find .R.001, and replace it with .L There is one issue with this, in that, the deformation bones don’t line up exactly with the control bones, and they really need to So to fix this, I snapped the various mechanism bones and control bones, to the deformation bones, by selecting the various joints making up the deformation bones, pressing SHIFT+S and selecting Cursor to selected This snaps the 3D cursor to the selected joints. Then we just select the bone we want to snap to it Next, we press SHIFT+S and select selection to cursor This snaps the bone to the cursor position If we repeat this at every joint, then the bones line up again, and everything works once more. Now, we can duplicate all the face deformation bones, move them on to their own layer, and rename them as control bones. Then we just add copy transform constraints to the deformation bones. Next, we need to test our rig Mainly that we can scale, move and rotate the entire character, using the root control This means parenting and IK control to the root, also making sure that everything scales correctly is quite difficult Here, for example, everything below the waist stays at the same scale, even when we scale the root This is because the lower torso deformation bone copies the location of the control bone, and then stretches to that This covers location and rotation, but not scale, so we just add a copy scale constraint to it, targeting the control bone. Finally, cleaning up our rig, we’ll move all of the control bones onto their own layers Blender’s layer system has two segments, by default, and I tend to keep all the bones that the animator doesn’t need to worry about over on the left, and all the control bones on the right. Ok, the actual rig is pretty much done, but there are some quality of life changes I would like to make Starting with custom bone shapes. Essentially this works by modelling a mesh, and telling a bone that it should like that mesh. To do this, we create a new container, called WGT or widget This will contain the meshes that will dictate the shapes of the bones. First, we create a plane mesh, then tabbing into edit mode we rotate it along its x-axis by 90 degrees so that we can see it properly Then, back in object mode, we rename this mesh, to ‘wgt - root’ This will be the bone shape for the root control In edit mode, we make the plane surround the character, then press X, and select only faces This will delete the face, but leave the edges around the character. Ok, moving this off to the side, in object mode, we select the armature object, and in pose mode, select the root bone, then under the bone properties tab, under viewport display, under custom shape, we select the shape. Now the root bone looks like the mesh, but it points in the wrong direction To fix this, we select the mesh, rotate it by 90 degrees on the z-axis, and apply that rotation, by pressing CTRL+A and selecting rotation This takes the transformation on the object, and applies it directly to the vertices that make up that object Otherwise, the transformation wouldn’t apply to the bone. Ok still pointing in the wrong direction, but getting better Now we rotate it along the Z-axis and apply that transformation. Finally, it’s a little small so in edit mode, we can scale the mesh up so that the bone looks as we want it. It’s a finicky process, but it makes animating a lot easier So, for every control bone, we go through and add a new mesh, and apply it to the bone. One thing I want to mention is sometimes we can use a multipurpose custom mesh, and tweak it using these transformation properties, under ‘custom shape’ for each bone I did this with the Forward kinematic limbs, and I also used a generic circle shape, which was used for everything from the IK controls to the face The sizes were usually way off, so I simply corrected them using these properties A neat trick, when doing this, is if you want to change the transforms of multiple shapes, you can select several bones, and while holding ALT, change the values This will then apply to all of the selected bones. Ok Technically, everything we need is there However, we really should make it easier to switch between IK and FK We would need to show the deformation bone layer, select each bone in the limb and slide the influence of the copy transform constraint Animating this would be… complicated. This is where Drivers come in. Drivers are essentially tools that allow us to control any value in Blender, with another value. In this case, we can create a custom value, that controls the influence of all of these constraints at once, and now we just have to animate one value, in the same place as the rest of our control bones. We’ll also use this idea to polish up some of the other functionality that we’ve already set up, like whether or not the arms and head, follow the rotation of the torso, like this. To achieve this we can add a new bone, at the end of the limb Then, in pose mode, under the bone properties, we add a custom property We’ll call this FK>IK switch, also check ‘is library overridable’ This just helps, if you want to import your character into another blender file. I also set it to use an Integer, rather than a float It’s up to you though. Now, in the N-panel, we can right-click on this new property and select ‘Copy as new driver’ A driver just uses one value, to control another Now, we can go to the deformation layer, like we would if we were animating the transition manually Then we select one bone at a time, and hovering over the influence of the constraint, we right-click and paste the driver Repeat this for the other bones in the limb, and we can now control the transition between IK and FK, with just one value, on a property bone. We can then repeat this with new property bones for each limb, and new custom properties. We can do the same thing to control whether or not the FK arms follow the rotation of the torso We just add a new property, called, arm_follow Copy as new driver, and paste on the copy rotation constraint of these bones. I also add a bone above the head for general controls, like controlling whether the head follows or not. Ok, replacing the shape with this cog, we could call it quits here, but I’m just going to add one more feature I’m going to add different poses for the hands, and control it with the property bones. Getting back into object mode, we can select the grease pencil object and hide the influence of the armature modifier and then in draw mode, with the timeline open and the hand layer selected, we draw a new pose on the second frame You can add as many poses as you want, each on their own frame, but for this example, I’ll just do these two. With that done, we add a time offset modifier to the object, set to Fixed Frame mode Then we set the influence to only affect the hand layer. Now, on the armature, on the arm property bone, we add a new custom property using an integer, and we copy this as a new driver Then back on the grease pencil object, we paste the driver onto the Frame value Done We can do this on the other hand On the mouth of the character, if we want him to talk On anything. One important thing is that any new drawings won’t be attached to the rig through the vertex groups, so make sure you assign the new frames to the correct vertex groups. With the rig finished, we need to consider a few things, around how we’re going to animate this character By default, bones rotate using ‘quartonian’ rotation Essentially, this helps to avoid something called Gimbal lock, when rotating in 3D space Unfortunately, this adds a W component to the rotation, and since we’re working in 2D, this does nothing except add unnecessary keyframes to our animation. To fix this, we activate all the layers of our rig, select all the bones and under the N-pannel, we can alt-click on the drop-down menu under the Rotation property, and select X,Y,Z Euler. Awesome Now, in preparation for animating this character, we’re going to add what’s called a keying set Here we essentially insert a keyframe for every bone, for every property that we want to be animated. We make a new action called Keying set, and start adding keyframes If you want to add keyframes to the location, for example, you can hover over the location property, and press ‘I’ This will add a keyframe to x y and z If you want to add a keyframe just to one axis, then you can right-click, and press ‘insert single keyframe’ This process is a bit tedious, but we just make our way through and add all the keyframes we want to animate Make sure you insert a keyframe for each custom property. In order to make this keying set useful, open up the keying drop down, on the timeline window, and under active keying set, search for ‘Available’ Now turn on auto keying and under the dropdown, check, ‘only active keying set’ Now, we can use auto keying without worrying about our timeline getting cluttered with useless keyframes. Groovy, now we just animate it Here’s my test walk cycle. Thank you all for watching This was a really long video, so if you’re still here, and you’ve followed along, thank you It really means a lot Hopefully, I will see you around.
Info
Channel: Sketchy Squirrel
Views: 61,192
Rating: undefined out of 5
Keywords: Blender, Grease Pencil, Cut-out Animation, Rigging, B2D, Greasepencil
Id: hcTb07V2Zgk
Channel Id: undefined
Length: 50min 50sec (3050 seconds)
Published: Mon May 16 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.