Hello, this is Eun-Yong Lim from Anijak Co., Ltd
This time, in the general process of creating animation,
we'll look at how character modeling is done,
and how to rig the character after modeling is finished
Let's take a look at the basic process
Character Modeling
Before we actually get to the modeling part there is something you have to prepare
It's the design materials
Also known as design sheets,
These contain very detailed information about
the front and side views,
and the back views of a character
And any accessories
that is necessary to model the character
They usually consist of
drawings from 3 different points of view
So usually modeling is done based off of these materials
Now let's look at
the final model made from this sheet
I had loaded it here in advance
This is a model
of a TV series protagonist
And if you compare it to the initial sheet
You can see a lot of differences
Especially the hair, which was completely changed
Though the basic concepts, such as gender
approximate age, or color schemes are similar
Changes in detail like this
always happens during the modeling process
The arms got slightly longer
And the head got smaller
Change at this scale can happen any time
That is why, even if you download a design sheet like this
and use it to create your own model
I cannot recommend modeling
by simply tracing the sheet
When you are working on something
Especially if it's a group project
The directors, modelers and animators
have to all cooperate with each other
I'm sure everyone has experienced this
It's always like that
Good ideas pop up later
And you keep spotting things you want to fix
That's not uncommon at all
Which is why you have to always put into consideration
that changes to the model might occur
And why I do not recommend
putting all of your skill and effort
into making the model perfect
and rather recommend first creating
a more temporary initial model like this
Now I'll introduce to you
how to create a temporary model
based on a design sheet
Take a look at this clown girl character
This is the design sheet
which I will now take
and use as material for our temporary model
The temporary model stage is where you
create an approximate version of the model in a short amount of time
The purpose of this is to
create a 3D render of the image in your head
as efficiently and quickly as possible
before you begin the actual modeling part
So how you create the temporary model
does not matter as long as it doesn't take too long
You can recycle a previous work
Or because AI can now generate models too
you could use an AI model generator
Personally, especially for cartoonish characters like this one
I make the body out of basic solid figures
that most modeling tools provide
Then give that model color
to get a feel of what it would look like
Here's a quick demonstration
The foot part of this character
as you can see, requires a lot of detail
Right now we can ignore that
and just use this lump instead
The arm is also just a placeholder
So there's no need to spend time on making the fingers
The only thing you should put some effort into is getting the proportions right
So now we have the approximate shape
I recommend doing some coloring and shading
along with the shape
for a better preview of the actual model
So at about this stage
it will be more efficient to try posing the model than working on it further
And see if the body proportions are done right
such as the length or thickness of the arms and legs
This is the complete temporary model
This is where you should get some opinions from other staff or clients
Of course, if it's a solo project, your own feedback is important too
You can find and fix a lot of flaws
that you couldn't check through 2D designs
And temporary modeling also gives the model
some solid structure before you get to the main modeling process
Minor tweaks or design changes aren't as much of a problem in this stage, either
Even in the worst case scenario, it's much easier to start over
What I will show you now is a more refined model
that I put in the neutral pose, or T-pose
So it can be properly modeled
Now let's get to the main modeling
In the main modeling stage
the temporary model should be put on a separate layer
So you can easily hide and show it
Putting it in reference mode keeps you from accidentally selecting it
Here you can see some triangles
You also might sometimes find some pentagonal or hexagonal polygons
Whenever you see any non-tetragonal polygons
you should get rid of them right away You can do this process at the end
but I recommend fixing any one that you see as you go
Right now I'm trying to fix the wireframe a bit
So that the wires in the area around the eyes are curved
Fix that up quickly
And that creates some undesired polygons
you can merge them to get rid of them
So the entire process is going to take a long time
The part I just showed you was the head modeling
And what is on screen right now
is the finished model
with some basic textures on it
The finishing process for any model
is the cleanup, nothing special
The cleanup is important because
no matter how clean the model looks in this viewport
In the animating process
this model is going to be rendered
And any messy polygons that you didn't take care of in the renderer
is going to cause a variety of problems
It might not be that bad with a couple of characters
But if multiple flawed characters, along with the background
keep interacting during production
In the end these problems will accumulate
and the renderer might refuse to work
So a lot of bad things can be caused by not cleaning up properly
So in order to prevent that from happening
Every time a model is finished
you should always use the Cleanup Options tool
to see if there's anything wrong with the polygons
And tidy up the model
Here are some options you can use for that
There are Cleanup matching polygons
in which Maya does the cleanup for you
Then there's Select matching polygons
where you have to select the polygons yourself
Personally I prefer
just fixing the polygons myself
I think it would be better
to hide the main model for now
The model I made has been cleaned up already
So I'll just quickly create a bad model
You can tick on Apply to Selected Object
to apply these options on just the selected object
Or you could apply them to all of the polygons in this scene
So you can use the option you need
The important part is the options down here
In Fix by Tesselation
There aren't many instances to use 4-sided faces
because 4-sided polygons are ideal for rendering
Faces with more than 4 sides
So if there was an extra vertex here
Maya would notice that
You can see that now
this polygon has 5 sides
so Maya will find and fix it
And a concave face means that even if the polygon is a quadrangle
its sides could go inwards like this
Which causes overlap like you can see right now
the overlapping part will flicker darkly
So selecting Concave faces will take care of that
You should get rid of that because it will cause problems while rendering
Then there's Faces with holes
This literally means that if there's a hole in the plane
Maya will catch that
Next is Laminar faces in Remove Geometry
Lamina faces means two completely overlapping faces
What that means is that while modeling
something like this happened
You duplicated an object
erased some polygons, and kept modeling
Some of the remaining polygons
would exist in the exact same place
as the original
Like these two planes
You can see that there are two in the sidebar
Imagine that they were combined in this state
Even experienced modelers might not be able to catch something like this
Because there are actually two planes here, with their own edges
if you merge them in this state
they will become impossible to find
But our cleanup tool
can find those for us
So overlapping faces like this can also be removed using this tool
Next, what is Nonmanifold geometry for?
The ideal flow for wireframe models is neat quadrangles like this plane
But while modeling, something like this could happen
If you take an edge
and extrude it like this
The renderer will have now way of knowing which should come in front
There are some other instances that could happen as well
for example if the normals are flipped
or if vertices meet in a single spot
With this option, you can remove geometry that the renderer cannot understand
So like this extrusion
The tool will remove imperfections like these
So eventually you can get a perfect plane, like how it originally was
Let's try selecting this object, and set it to Select matching polygons
Now in the script editor
There's a message that says No items found to clean up
A state like this, where the program can't find anything to fix
would be the best And after the cleanup there will be a lot of history stacks
I should probably delete them
So that part was to tell you
how important it is that the model you worked so hard on
does not run into any problems in the rendering process
Character Rigging
Before I get to rigging
there's something important I have not told you yet
and that is about the concept of Nodes
The same thing is called Mesh in other software
I just created a sphere in Maya, you can see in the outliner it's called a sphere
If you take a closer look
You can see it actually consists of the dots, lines, and planes
that make up the sphere, called vertices, edges, and faces
And then the transform node, the thing above the sphere in the outliner
is what adjusts the translation, rotation, and scaling
of the object in the viewport
The node and shape together make up a single model
And then there is BlendShape, which you may have heard of
If there is more than one shape
the model will shift between them
It's called BlendShape because it blends the components to become another shape
I went off on a bit of a tangent there
Anyway, if you take a rigging tutorial
you will see that in Maya's rigging tools is options like
Constrain, Deform, Skin, and Skeleton
There are quite a few, so you might get overwhelmed at first
But most Constrain tools form relationships with each other using transform nodes
Let's create a cube here
If we set the sphere to be the parent of this cube
You can see it's marked blue here which means that the transform node is constrained
Now if we move the sphere
The cube will move along with it But the shape of the cube will not change
So there's no problem with changing the cube's shape
You can see that the relationship between the sphere and the cube is unchanged
because the cube's transform node is still constrained
Let me take a different approach now
Here's the sphere
I could animate it
by using the transform node
to change its x, y, and z values and make a key animation
But
the shape node, so vertices
can also be moved to give the same effect
Then, technically I'm moving the sphere without touching its transform node
So you can create the same movement
by giving changes to different components
Right now I'm moving the sphere through the vertex
And now I'm animating using the transform node
Then this is an option
you will use often while rigging
You create a joint
Then you select the joint
and add it to the sphere's skin
Now the joint is moving
and moving the joint
is the same effect as moving the vertices of the sphere
Then where is the sphere's transform node?
The moment the joint was bound, it was fixed to the origin point
So now you can use the joint's transform node
to animate the sphere
I'll give it a key
a key
through which the sphere can be animated
But what you're actually doing is changing the sphere shape through the joint
And the transform node stays here
If you really get into rigging, it's extremely complicated
You need a lot of math knowledge
And there are so many rigging tools
that it might overwhelm you
But by distinguishing these two first, you can approach it more easily, so I wanted to mention this first
Another important concept in rigging is the node history
Node history is a bit of a mouthful
So I will now show you what that is step by step
We have a new sphere here
and for this example I'll wipe the previous history
I'll call this Sphere 1
So name it Sphere01
Next, copy and paste it
to create an object
that will become a target for Sphere01
and change its modeling a bit
If you know about rigging, you will already know what I'm going to show you
I'm trying to show you what BlendShape can do
So what did I just do?
I took a sphere, copied and pasted it,
so that the two spheres have the exact same number of vertices, edges, and faces
then I modeled the new sphere to look a bit different
So what is this new sphere for?
If I change the translate value
to be (0, 0, 0), the location of this sphere
will become the origin, the same as the original sphere
Remember that what I just did was using the transform node
Now I will set up BlendShape using these two spheres
So in the rigging options
BlendShape is in the Deform menu
The BlendShape node has been updated to have many functions
but for now I'll use the default setting
Name this mode TestBLS, and
I would want the Check topology option rather than In-between since the two models have the same number of components
Set Deformation order to Automatic
So now I have
a basic BlendShape
So now Sphere01
can change shape through the BlendShape deformer
BlendShape is used mostly for facial expressions
like the character closing their eyes or raising an eyebrow or even lip sync
can be done using BlendShape
With this sphere, I have just created a very basic mouth movement
Let's put this back at the origin
And now I'm going to give this
a simple joint
so bind it to this spot
And now let's pretend this is a body rig
select these two joints
and select Bind Skin
You can either bind to the joint hierarchy or just the selected joints
Allowing multiple bind ports isn't necessary right now, because there's just two joints
So now this "character" has a basic skin
though it's not that amazing
now the character can move within the world using its joints
And it can even make
facial expressions, kind of
What I'm trying to say is, from the perspective of the vertex
how the process goes is, first I created a facial expression
using the BlendShape TestBLS
Then I used a skin cluster, so a joint to move the character here
Right?
Sphere 1's shape was blended, then the SkinCluster was added
What would happen if this process was reversed?
This might cause an error, but let's test it out anyway
If you select Inputs and All Inputs, there is an old Maya function that lets you change the order around
Let's make the Skin Cluster go in front of BlendShape
You can do that by middle clicking
So now the order is
Skin Cluster joint comes first
and BlendShape comes after that
So now I'll try the same animation as before
and move the joint
to get this sphere character on this side of the world
What would happen
if I now change its expression?
It returns to the coordinates that is targeted by BlendShape
Why does this happen?
Because BlendShape was processed last
So whatever happened before it
BlendShape is structured so that
it follows the shape of the target object
So whatever pose the character was in before
BlendShape will change it to become that of the target object
From the vertices' perspective, of course that would happen
The joint had sent them over there
But BlendShape is set to put them in this state
So even with the same two nodes
You can get different results depending on the order they're in
The first thing you learn about rigging is what joints are
So now let's learn about what FK and IK are
and how to switch the joints
between FK and IK
First let's create an FK joint
by clicking on Create Joint
To make it easy to see them, set the Radius to 0.5
The Radius value has no actual function
It just lets you see the joint in the viewport
And to make it easy to differentiate the joints
I'll also name them, like fk_jnt01
and 02, 03
So now there's a hierarchy of FK joints
And this is how FK works, it stands for Forward Kinematics
which simply means that if you move the parent
the child joint moves along with it
Now I'll copy and paste these FK joints and create some IK ones
IK stands for Invert Kinematics
It literally means that the operation is reversed
which might sound complicated, but let's try it out ourselves
This is a copy of the joints I just created
So that I won't confuse it with the FK ones
I'll put the Radius at 0.2 and hide the FK
So now, the thing about IK is
In Maya, there's something called a Preferred Angle
the IK solver will calculate the flexure using this value
If I bend it like this, the rotation is about -30 degrees
The exact value doesn't matter right now
I have given the IK solver
orders about how to bend the joints
And now I will create
an IK handle
This is the operator, called an IK solver
Right now we should use the most basic solver
which is the Rotate Plane Solver
And add it to all of the joints
Now you can see an IK handle in the Outliner
So the animator can use either FK or IK depending on the situation
If you wanted to animate the character waving goodbye, for instance
FK would be better for that job
In contrast, IK would be better for when
the character is doing push-ups, or picking up an object
or is leaning against a wall
But to put these two systems in one character
people usually create a set of joints that can switch between systems
then use FK for one type of motion
and use IK for other motions
So you can switch between them as necessary
So now let's create a set
of three switching joints
We'll name them, for example
Skin
I'll name these joints Skin Joint
since these three joints will actually
be bound to the object skin
Change the Radius value for differentiation
Now bind the FK joints and IK joints
to these Skin joints
There are a lot of ways to do the binding as well
But I'll use the most basic option that I mentioned before
which is through Constrain>Parent Constrain
So ik_jnt01 is now Parent Constrained
to skin_jnt01
Number 02 to number 02
and number 03 is constrained to skin_jnt03
Then bind the FK joints to the Skin joints the same way
Now you can see that these two values are at 1
and because they are pulling with the same value
the actual movement will be exactly halfway between them
We'll see how that looks a bit later
So now
FK and IK
we bound IK first, by the way
So IK and FK are using the same method
to constrain the skin joint
So they're pulling on it
Now let's see how that looks
Now it's moving by FK
Wait, that's not true
If you move the FK joint
the movement of the Skin joint
will be the intermediate
of the IK and FK joints' movement
So if
one of the Constrain values
was set to 0
For example, if I set the FK value to 0
the Skin joints will follow the IK joints
Which is why usually
you add a controller
So now
let's erase the history
And for controllers you would most commonly use a NURBS curve
So I'll add a switch
and name it
IKFK_switch
Now for its properties
I'm going to add a controller
enter the name ikfk_switch here
And once you add the properties you can select the data type here
and Vector means the three values that indicate direction and location
Integer is just that, String is a text string, and Float
is a real number that can have a decimal, Boolean is true/false
And lastly Enum stands for enumeration
We are going to add a numeric attribute property
that has a maximum of 1 and minimum of 0
Now let's continue working
So now we have the controller
And now that the controller is created
let's try setting the value to 1 Now the joint will follow IK when set to 1, and FK when set to 0
So, go to Connection Editor
There are a lot of editors in Maya, but for rigging Connection Editor comes in handy
ikfk_switch is currently set to 1
Now let's connect the initial IK value to it
which is 1
So it's easy to set when IK is 1
But at the same time
the FK value has to be 0
There are a lot of ways to do this, such as using key animation
But right now I'll use nodes that riggers often use
From the perspective of the controller, as you can see
ikfk_switch is now connected to these 3 constraints through the Connection Editor
and it's set so that all three values become 1 when this is set to 1
But one value has to be reverse
so I'll type in 'createNode reverse'
which will reverse the value Here is the Connection Editor we used before
this operator, reverse1, will reverse the value
And you can get by default three values, x, y, and z
We'll connect to the first one, x It doesn't actually matter which one you connect
So this operator has now reversed the value 1
And this reverse node will again connect to a constraint
this time to the FK value
So now this value can move between 0 and 1
and the animator can animate in the way they need
So in this first class we took a look at the various modeling techniques that I experienced firsthand during production
and through that also looked at some things you need to know about rigging, and what IK and FK is
Next time we will look at another function of IK, Spline IK And how a character using that function is completed
And also, how all of the backgrounds and props should be rigged in preparation of production
1. Character Modeling Temporary Modeling
Giving 3D shape to the character as efficiently and quickly as possible in order to get a feel of the character
Focus on creating large chunks using basic 3D shapes and coloring Supplement details that are hard to check in 2D
Makes it possible to begin main modeling process with a sense of 3D shape Easy to modify or reproduce
Main Modeling Polygons that are not quadrangles should be removed using Merge as soon as they are found
Use Cleanup Options tool to clean up polygons as overlooked polygons may cause rendering problems
2. Character Rigging Types of Nodes
Shape Node: Information about vertices, edges, and faces Transform Node: Adjusts translator rotation & scale
Blend Shape Moves between two or more shapes
Used often for closing eyes, raising eyebrows, lipsync, etc. Use joints to move character within world and use BlendShape to create expressions
Joint fk_joint to raise or wave arms
ik_joint for push ups, picking up objects, leaning on walls, etc. Switching joint sets allows changing between IK and FK as necessary