Rigging the character was quite a challenging aspect to this project. One of the main reasons for this is that they're is a lot of different processes which are quite difficult to keep track of. Despite being a complicated process it is quite rewarding, and even an enjoyable thing to learn to do. My main point of reference whilst rigging the 'smart pig' character was the collection of tutorial videos that Mat made in order to learn how to rig a character. It was relatively easy following the guides in the respect that they were informative and easy to follow but since I had never done anything like it before there was an element of doing something for the first time which made it a little more difficult. However, the challenge came when adjusting the principles of rigging a character and adapting it to suit the characters we had made. For example, our characters' proportions are much different to the proportions of the character that we used as an example. Our pig characters had short limbs by comparison, so much so that we didn't need to rig a forearm for the actual character. It also made the distribution of the skeleton hard to nail down because the joints are a lot closer together. This section wasn't too difficult however. Below is an image illustrating the different viewpoints when creating the skeleton for one of our characters and using the different view points made it a lot easier to position the joints. I started with the left side of the body and mirrored the skeleton, similar to the method Mat showed us with the demo model. The process begins with the left leg, then the left arm, then the main body including the neck, chest, back and hip, ending with the head and eyes.
The process for creating the controls once the skeleton was complete involved using something I had never used before when it came to shapes - we used NURBS circle and square. These shapes are flat outlines of shapes that in turn can be used to create the majority of the controls, even if they require some some manipulation to create the eyes for example. In others areas such as the neck, chest and back, a simple circle was also created. However for the knee joints, feet, hands and the master control, a different approach was taken in order to create a control in the shape of that specific body part. For example, a mitten was created using the CV curve tool and adjusting the vertices of the curve to accommodate the shape of the characters hand. Once all of the controls were completed they had to be coloured in order to differentiate between the right and left side of the body. This is done for number or reasons, firstly so that when controls cross over during the animation process the left controls are easily distinguishable from the right controls and vies versa. Also, it allows for the same principle to be used if different characters are together in close quarters, making different characters joints and controls clearer to distinguish, avoiding confusion in the process. They were coloured using the association of blue for the left and red for the right. A much more complicated process to me at least during the whole rigging process was the parenting and constraining of the skeleton to the mesh and furthermore creating the controller hierarchy. This was due to again the simple unfamiliarity with the process I was undertaking. It was helped quite a lot however by using the 'hypergraph' window to view the inputs and outputs in relation to the controls and the skeleton. The functions that helped with this task were predominantly the Constrain > Parent which 'constrains both the rotational and translation values of an object (follower) to another object (leader) and Constrain > Orient which contains all of the rotation values to the object it is contained to. Overall, I would say that this was the most difficult part of the rigging processes but in the future I'd be more confident as I have had some previous experience now.
A step that was quite easy to complete but tedious at the same time was creating the controllers, and following this the IK handles for the legs. I actually found this process on the whole fairly easy, however there were a couple of instances where I thought I had done something wrong and forgot where I was up to when constraining various sections of the model. Another thing that created some confusion a couple of times is that I wasn't sure if something had completed on been constrained properly after I had done it. In other words, occasionally I had forgotten what I had done. However, with some checking I was able to regather myself and continue the process without too much trouble. The rigging experience was probably one of the most technical aspects when it came to the development of the characters on this particular project, but it was exciting knowing that this was the process that was going to allow them to move, and so I wanted to make sure I did it as well as I could. Not having done this before in Maya, I was concerned that the character's movement would be insufficient to move and create the types of movement that I wanted from them. This would have been more of a problem to tackle in the production and design of the characters so I just had to go with it and hope for the best at this point. There were a number of functions and tools in Maya that made the entire process a lot easier, firstly of course the ability to view the character from the front and side view helped tremendously in being able to view what was going on from a good viewpoint, rather than having it distorted in the perspective view. Another was the 'x-ray on joins', 'x-ray' and 'wireframe on shaded' options that helped a lot when trying to compose the skeleton and the joints, as well as view the inner workings of the model. Without these functions the task would have been a lot harder and prolonged.
One of the final steps of the rigging process involved creating the orient groups. These essentially clean up all of the different controller and assemble them into a type of hierarchical group. When the controllers are grouped like this it means that you can select the orient group and control that area of the model. For example, if 'root_orientgrp' was selected then the controls linked to the root would be selected and free to move as you wanted them to. This is a good way to work the controllers, and is also a neat way to organise them.
The final stage of the process when the model was complete and attached to the controllers was to do the weighting. This is relatively straight forward and it involves painting influence onto the model in order to determine where the joint is affecting the geometry. The influence is determined by the colour that is painted, with white being 100% influence and black being 0%. This is the kind of process where it's relatively easy to pick up and get used to after you've spent a little time doing it. After this stage is complete and the influences have been accurately added to the model, the character is fully completed and ready to be animated.
No comments:
Post a Comment