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.