Rig
After I received the first model of our character, I began rigging by following Mike’s old and new lectures and YouTube videos on how to parent joints to make a skeleton. As our character had noodle-like arms, I looked at Gravity Falls characters, SpongeBob and Oswald the lucky rabbit as references for arms which can bend anywhere along the arm, rather than limiting them to one elbow, as I wanted to push the exaggeration of the arm movements both for the stylised character and so the movements can be seen more clearly on the CCTV cameras. I looked at rigging tutorials for snakes and tentacles as I felt these were the closest movements to what I wanted to achieve in my rig.
CCTV:
I created bends in the arms, torso, and legs by adding joints to edge loops so the bends in these areas would function properly, and created a joint in the heel, ball, and toe of the foot, allowing me to create rotations for these areas. I only created a skeleton for half of the character, so I could mirror the joints to the other side. I found orientating the joints difficult, therefore it took me a few tries to find the right orientation for the axis I was on as the settings were different from the tutorials I was following.
I used NURBS curves for controls and changed the ‘Normal Y’ value to 0 in the inputs section of the channel box, so when I matched transformations, the control would have the correct rotation around the joint. I created a shortcut (CTRL + A) using the hotkey editor so I could easily match transformations of a control to the joint. I added each control to a group allowing me to move the controls and 0 them out again without any issues. For every control, I used an Orient Constraint for rotations, and a Point Constraint on the hips, and also the shoulders, so I could translate them in case there was a need for upward and downward movements when breathing during the idle pose. Looking back, I feel I should have added a Point Constraint to the torso also, to allow a better illusion of breathing.
When I was testing the rotations after adding constraints, I noticed the knuckles were rotating at the control above the mesh, rather than at the joint. I thought at first it might be the shape of the controls, but after creating new circles, I realized I needed to change the pivot point of the controls to match the joint.
I created FK controls for the upper body, and IK for the legs by creating an IK handle from the hip joint to the ankle and setting a preferred angle for the knees before creating a pole vector for each knee.
I followed a tutorial from Alec to make a reverse foot rig. I created locators for the heel, ball, and toe and snapped them to each foot joint. Before creating IK handles, I changed the settings to Single-Chain Solver then created 3 IK handles for each part of the foot. I parented the joints to the locators in a hierarchy that gave me more control over how the feet could be rotated.
After I checked the foot was rotating properly, I added attributes to the ankle control and used the connection editor to assign the attributes to the correct rotations of the locators. This meant I could animate the heel, ball, and toe rotations without needing to select the locators.
I had only tried skin weights once before this year, which is one reason why I chose the role that I did. I was comfortable with animating, however, found rigging (especially skin weights) quite confusing. I felt more confident with skin weights after going back and old skin weight videos on blackboard before trying again this year.
Rather than painting the skin weights like last year, I highlighted the faces around the selected joint, clicked Select then inverse so all other faces were selected instead, then flooded these areas with a 0 value so they weren’t influenced when the joint was rotated. In areas where volume would be lost when bent, I selected Add instead of Replace in the skin weights settings, then added a low value gradually to fix these areas, such as the elbows.
I made the mistake of doing the FK/IK switch after the other parts of the rig were finished which made it much harder as the controls were already made and orientated to the skeleton. I decided to create one anyways as, at that time, we weren’t completely sure how the character would carry the basket and I felt having an IK option would make setting down/picking up the basket a little easier. I followed a YouTube tutorial and some of Mike’s tutorials to create the switch.
I had to unbind the skin from the skeleton on the arm before duplicating the arm joints. I then only needed to create IK controls as I had already created FK ones previously. I made another circle and added FK and IK attributes to it and used the connection editor to assign the FK attribute to the FK constraints and the IK attribute to the IK constraints. I also used the expression editor for the first time, writing a short script so when IK was turned on, FK would turn off and vice versa. I would like to try another FK/IK switch again before finishing the rest of the rig as I feel it made making the switch more complicated.
Unfortunately, our small character wasn’t finished. As a backup, Alec showed me how to make a smaller and wider character from Caity’s tall model. I duplicated this model and enlarged its stomach to add some variation, then bound the already made skeleton to the new mesh and transferred the skin weights. I added the scale constraint to the master control, allowing me to scale the character down. I later used the same method to change the original mesh to the current UVd model I received.
To give more options for how the customers could carry the basket, I created a simple rig so it could be animated if needed. I researched prop constraints in Maya and created two joints and an IK handle. I added a move, rock and swing control and added a Parent Constraint to the shoulder so the arm could move at any point and the basket would follow. I used Alec’s video for the majority of creating the rig, however, it was to large to upload to the blog.