Rigging and Skinning my Character

Here I have documented the process of rigging my character, this is including adding the joints, joint orientation, adding the IK handles, skinning, adding controls, weight painting and having to do some problem solving too. I used the skills that I had learnt previously in the module from the lab tutorials to help me rig my character as I am a beginner to this. I knew from the start that I would find it quite challenging and it did end up taking me a lot longer than I expected, as I did run into quite a lot of issues when doing the rigging. However, doing the rigging from scratch instead of using the ‘auto-rig’ feature and running into the problems has actually helped me to gain a much better understanding of rigging now…

Character Joints

I began by adding in the joints to my character. I made sure to view my character in wireframe form, and by switching between the front, side and perspective view because this was much easier to position the joints in accurately. I also found that I could alter the size of the joints as at first they appeared too big for my characters body and looked too confusing. I also ensured to rename the joints as I was going along, this is mainly to help distinguish each joint in the Maya outliner, but this also proved really helpful when mirroring a joint like in fig 1 which shows me mirroring the leg joint – this is achieved by starting the left leg joints’ names with ‘L_’ Maya then looks for this when mirroring and replaces them with ‘R_’. Another thing which made adding the joints to my character easier for me was that luckily my character does’t have individual fingers so I didn’t have to spend ages duplicating and positioning each one. I found adding the character joints fairly easy, however at one point I had keep undoing some steps as somewhere along the line the spine joint moved down and so the head and neck joints were in the incorrect position.

fig 1 – mirroring the leg joint

Joint Orientation

I learnt how the joint orientation is important when it comes to how they move. It is ‘critical when preparing characters for animation, and especially so when developing animations for game development.’ (Xiong, 2010). So, even though my character joints appeared okay after the initial adding the joints process, if I didn’t do the joint orientation process, further down the line in the animation process, for example, I may run into lots of problems, as ‘the animations will not transition correctly (most likely horribly) between key frame poses’ (Xiong, 2010). I learnt that the X axis needs to always follow the direction of the joint, and sometimes it takes a few tries when altering each joint to get this right, as seen in fig 2. 

fig 2 – altering the joint orientation

IK handles and Skinning

 Adding the IK handles was really straightforward, again, I ensured to give them a relevant name so I could tell them all apart. After adding the IK handles for the arms and legs, I then tested them out. Some of them seemed to work okay but some appeared to distort other parts of the body, as seen in fig 3. I hoped at this stage that this would be fixed when doing the paint weights. I also did have to re-do some of the joints because they didn’t bend in the correct way. I sorted this by positioning the joint that would be bending slightly at an angle, whereas before it was probably too straight or I did the bend from the wrong perspective. 

fig 3 – testing out my ik handles

Adding Control Handles

I created some control handles by using curves in a basic circle shape. I made sure to snap them correctly to the joints that I wanted them to control. I then changed the constraints so that the handles were connected to the joints in the correct way, I mainly used the ‘point’ and ‘orient’ constraints for these. It was also important to go into the connection editor (fig 4) on some of them to basically tell that certain handle how to behave. 

fig 4 – altering the connection editor for a control handle 

Weight Painting

I had noticed some problems earlier on in the rigging process in how parts of my character moved. I went onto the ‘Paint Skin Weights’ tool and clicked on each joint to see what parts of the mesh would be effected – and if there was a part that shouldn’t move, I made sure to paint it black on the mesh which signifies a part of the mesh that wouldn’t be effected. After doing this, her main body would move well but when I added the other parts of my character back to the mesh such as the hair and dress, these just didn’t seem to move right at all. I then bound these to my character and then when back onto the paint weights to try and sort these problems, as seen below in fig 5. Here, you can see how the hair would move significantly when the arm joint was moved, I also had similar problems with her dress. I tried to alter the paint weights for everything, but my character still didn’t seem to move correctly. I then attempted to do various things to try and sort it out, such as re-doing the joints, and re-binding the mesh to the joints but nothing would work at all. I decided that I wanted to go back and make some alterations onto my model.

fig 5 – trying to sort out the paint weights 

Problem Solving

I first started sorting out the hair on my original character model as this seemed to be the biggest issue. I decided to significantly simplify all aspects of my character, and for the hair, instead of having lots of long, separate strands, I decided to make it into one block instead (fig 6) I actually ended up preferring how this hair looked. I then decided to simplify the dress too and I ended up actually changing her clothing entirely to have her wearing a t-shirt and trousers instead, I did this in a very simple way – by selecting the faces of the mesh on her body and assigning new materials and colours to it because I knew her main body earlier did move correctly. 

Next, I repeated the entire rigging process which was slightly annoying as it took so much time previously, however, as I had already done it a few times, I knew what I was doing this time. After doing the rigging, I went onto the paint weights tool again (fig 7) this time, it was much more straightforward to sort out. And finally, fig 8 shows my simplified but improved rigged character.  

fig 6 – re-modelling the hair

fig 7 – re-doing the paint weights

fig 8 – after the rigging

Eye Controllers and Blend Shapes

My next stage of rigging my character was to start giving her face some movement, first I did the eye controllers which were surprisingly much more straightforward to do than I thought. I just created some controllers out of curves like I had done previously and then just paired them up to each specific eye using the ‘aim’ constraint. I also did a master eye controller which would then control both eyes at once. I then created some blend shapes by duplicating my mesh and then using the vertexes, I adapted each new mesh to show a different emotion. I then created these into a blend shape in the menu and tested them out.

fig 9 – doing the eye controllers

fig 10 – sorting out the eyelids ready to create the ‘blinking’ blend shape

References:

Xiong, S (2010) The importance of joint orientation. Available online: http://scottxiong.com/the-importance-of-joint-orientation/ [Accessed 28/03/21].

Leave a Reply

Your email address will not be published. Required fields are marked *