Akin to my character, I decided to create a
basic bipedal character in a T Pose but without hands or feet so that the basic
rig does not take long.
By doing this I learnt of several problems
with my character model, especially with the parts where the joints connect,
details of the changes made are in the Model Development File.
Rather than go into
detail as to how I rigged up the mouse model, instead I will document how I
rigged my main character for the walk cycle.
With both sides of the body ready, I
started my rigging process by creating what will effectively be the spine of my
character. This consists of 3 joints, the main joint, the neck joint and the
head joint. I switched to the front
viewpoint to make sure I knew where the center of my character was selected the
joint tool under the character dropdown menu.
Holding the ctrl button, I clicked where I
wanted the beginning and the end of the main joint to be, In this case fr
om the hips area slightly above the characters crotch to in between where the shoulder blades would exist. From this point I ctrl clicked again upwards to the base of the characters neck to create the head and neck joints.
Having realized my character was symmetrical; I noticed that the joint tool had a setting for symmetry located in the tool options. In order to create the arm joints, I changed the symmetry dropdown to draw
om the hips area slightly above the characters crotch to in between where the shoulder blades would exist. From this point I ctrl clicked again upwards to the base of the characters neck to create the head and neck joints.
Having realized my character was symmetrical; I noticed that the joint tool had a setting for symmetry located in the tool options. In order to create the arm joints, I changed the symmetry dropdown to draw
Once both all the arm joints are in place,
I placed both of the arms inside the neck joint. Due to the nature of how
hierarchy works in Cinema 4D, the arm joints should create another 2 joints in
which they connect to the neck, creating joints similar to collarbones.
Every time a new joint chain is made, it
comes in a null entity so it is more easily moveable and manageable. To create
a functioning rig, I had to remove the joints from the null and delete it.
To create the legs I did the same method
apart from the first joint began slightly off to the side of the main joint. I
named my joints hip, knee and ankle and placed them inside the hinges of my
characters legs. Following this, I created joints for the heel, the foot and
the toe of my character so that I would be able to create a foot roll when
animating my character and positioned them inside the foot. The heel joint
should be at the heel of the character, the foot joint where the toes (if they
existed bend) and the toe at the end of the foot of my character. Once this was
done I placed the heel joint inside the ankle joint to create a full chain of
hierarchy.
At this point I made sure to name the
joints according the their position from the front view, for example if the
knee joint was the one on the right it would be named RKnee.
This step helped significantly when I was
attempting to rig the mouse character and will no doubt help keep other options
for rigging open.
Happy with the basic skeleton rig of my
character at this point, I decided to work on creating controllers for easier
character movement starting with the head as it was easier to select from the
other joints.
To create the shape of the controller itself,
I selected a circular spline, make the object editable and rotated it to a
horizontal position. To ensure that the controller was centred on the head
exactly I temporarily placed the spline inside the head joint. Using the
numerical data at the bottom of the screen, I changed the positional data to 0
and following this, I selected the enable axis modification and changed the
rotational data to 0 aswell. Once this was done, I removed the head controller
from the joint.
After this, I selected the head joint, went
into the character tags menu and create a rotational constraint by ticking the
PSR box and selecting R, which limits the movement of the head to rotation. To
finish the controller I dragged the head controller into the target box.
The controllers for the shoulders are
created in a similar way but rather than having the controller lying flat, It
is at a 90 degree angle. This step is then repeated for the other shoulder to
create another identical controller for the other shoulder.
The process for creating the arm rig is
based around the use of an IK tag, a modifier, which causes each section of the
arm to move together with each joint affecting the above in its hierarchy.
I created a controller in the same way as
before and zeroed it out on the hand joint. Due to the fact that my character
is not in a T pose, the movement of the controller can be predicted to not move
as it would normally and if I was to redo this step I would make sure that my
character was in a pose where the arms are more accessible to manipulate.
Following this step I selected the shoulder
joint and created an IK tag. Selected the tag submenu in the attributes
manager, I dragged the hand joint into the end box and the hand control into
the goal box. When these steps were complete I added poles.
Poles essentially work as constraints to
make sure that the arm does not do anything unusual such as rotate backwards
against the joint. I positioned the poles in a way that would benefit my
character.
After repeating this process on both arms,
I added a constraint to both hand joints and selected the parent box and then
dragged the hand controller into the target field with the rotation box
checked.
Before setting up
the legs I set about creating the necessary requirement for a basic foot roll
as my character is a humanoid being with feet similar to that of a man.
I created 3 null
objects, one for each of the joints inside the foot I created earlier. Naming
the nulls appropriately, I then placed the nulls inside the relevant joint and
zeroed out the coordinates.
Using the movement
arrows for the X and Y positions, I moved the heel null to the back of my
characters foot. This is so the software recognizes that part of the object as
the point of contact when the foot steps forwards.
Then I work on
creating the controller for the foot using splines as with all the other
controllers. Inside this controller I placed the heel null and inside the heel
null I placed the toe and foot nulls.
Unlike previous
joints the constraint used on the heel joint is an Up and Aim constraint. To
ensure the constraint works in the right direction I changed the axis to Z+ and
placed the foot null in the target field.
For the up vector,
I changed the axis to Y- and Z+ and placed the heel null into the target field.
I repeated the
same constraint setting to the foot joint but instead of having the target
field for the aim tab as the foot null, I replaced it with the toe null. This
changes the movement of the foot on a downward trajectory making the movement
appear more natural and easy to animate.
To ensure the movement is
carried through the leg I added an IK tag to the leg joint in a similar fashion
to how I rigged the arms. In this instance the heel joint becomes
the end goal and I added a pole and a goal. The pole this time is moved
outwards in the direction that the knee will be moving.
I then placed the
goal that was created into the relevant foot controller.
The most difficult
part of this part this rig is the foot roll a movement that is based around the
use of Xpresso tags.
First I selected
my foot controller and selected user data and clicked add user data. For
convenience I named the data created foot roll.
I set the
interface to Float Slider and the unit drop down to degree.
I researched
successful data for the minimum and maximum values of rotation and found that the
minimum value of -15 and a maximum value of 30 worked effectively. To lock this
data in place I then checked the slider min and slider max boxes.
In the object
manager I selected the Xpresso Tag modifier. Upon placing this the Xpresso
window appears into which I dragged the foot controller, heel null and foot
null.
Selecting the red
corner of the foot controller box I chose user data and then foot roll.
To amplify the
rotation of the foot I selected the blue corners of the foot null and heel null
boxes and selected coordinates, rotation and then .P.
By right clicking
the Xpresso window I located the range mapper system and inserted two range
mappers. Both range mappers have the input and output ranges set to degree.
Creating one range mapper with the data Clamp
lower with input lower and output lower of 0 but with an input upper and output
upper of 30.
The second range
mapper has the reverse data with clamp upper selected and input lower and
output lower both set to -15. The input upper and output upper values are then
changed to 0.
With this data in place I dragged the small
circle on the side of each box and connected them in this manner.
The foot
controller should now work on a slider that affects the foot to induce a foot
roll.
Unlike the
majority of my peers who modeled their characters heads in a similar way to the
rest of the body, I researched a method which could be used to not only create
the umbrella head, but also the rig.
I created 2
mosplines and adjusted the data so that a disk is made with numerous segments.
To fill the negative space between segments I placed both the mosplines into a
loft nurb which crudely created physical planes between the gaps.
After adjusting
the mospline data to resemble the shape I desired I used an expresso tag on a
null object to create a slider to open and close the umbrella.
With
my character being segmented, the only part left to do with the rig is to
attach the model. I did this simply by dragging the objects into the relevant
joint and creating hierarchies to maintain structural integrity.
No comments:
Post a Comment