
The goal of WallE was to challenge myself to do a character that is completely different from my usual characters. Most of his parts are seperated objects, so there is minimal weight painting in this rig; instead, the controls rely on parent/child relations and constraints to achieve machine-like movement.
I also wanted to use this rig as an opportunity to practice using drivers and constraints in a more advanced way.
Toggleable control handle for each arm, that extends and condenses the stages of the arm pistons in the direction of the control
Toggleable constraints to keep the arms locked into their socket track
Drivers that allow you to move a whole set of gears, the tread, or the tread and its gears with one control.
Control to activate a pre-made animation for the handle on his back.
The goal was to give the ability to move the gears both individually, and all as a set; but the drivers were overriding the transform of individual gear movements. I bypassed this by having the drivers affect the deform bones- so that the control rig is adding another transformation on top of the drivers, instead of being overriden by it.
The base of the treads is the only piece of the whole model that is weight painted; and the very bottom of it was clipping through the treads when the top was stretched. I kept decreasing the influence but the issue only stopped when it was removed entirely. The new issue was that we have a piece of the mesh that cannot deform at all...So I instead applied the influence onto the master tread control. The master tread control will always be moving where the base of the tread should move, and it doesn't let it clip into the tread!
The goal here to keep the arm sockets locked into the track. I originally tried to create a curve that the control would have to be clamped to- but it was difficult to get the curve to deform evenly with the mesh and the transform gizmo was always offcentered. Although this approach did work, I felt it would be frustrating for an aniamator sto use. I instead created a series of limit x/y location constraints that would turn on and off based on the local displacement of the socket. More detail here
Arm Piston Tracking

Arm Socket Track

Asnchronous and Synchronous Tread modess

Head Tracking
