Along the way I have also been tidying up the rig. Most controls have now had selected attributes locked and hidden. I’ve disabled scaling on almost all joints and some joints are unable to be translated where they are only used for controlling the orientation of a joint. This overall improves usability and readability of the rig and where possible prevents the user from breaking the rig.
I’ve added a few advanced options here and there. First up are the feet which have a number of added attributes such as roll, twist and lift options for the heel and toe. To do this a number of groups were created within each other, each controlling the rotation at an appropriate pivot point. These were then connected to the attributes using the Hypershade connection editor.
While all the functionality is there, the deformation isn’t too great. The skinning isn’t the main problem rather it is the way the joints rotate. I think this is a similar problem to the issue I was having prior to adding IK solvers. Rotating with small values gives the correct result but when you push the rotation the joints move in weird ways. This is something I was unable to correct through troubleshooting and if I had more time would focus on correcting this but I feel this would need to be edited right back at the joints, perhaps their local rotation axis or placement.
In addition the skinning isn’t perfect on the shoes due to the complex mesh and the deformers aren’t perfect either.
I wanted to do a little bit more with my blend shapes. To access them before would require you to open up the blend sheet window and the sliders would be easily accessible from there. This method wasn’t entirely user friendly and would probably be missed as its not obvious they exist. To combat this I’ve added an extra controller that follows the head controller. This new controller holds all the blend shape deformers as attributes which can be edited just as you could with the blend shape window.
I figured I didn’t have the time to look into creating a floating user interface but this would do the job pretty well. In addition to this there is also a face animation camera, accessible through Panels > Perspective > MeryFaceCam which is locked to the head as it moves. The facial animation controller is located conveniently so it can be accessed while using this camera.
I also included an additional variable in the eyes controller which allows you to switch between following the head controller or locking it to the master controller’s world space (with the help of this tutorial). This allows you to move the rig around and the eyes will stay locked in one place. This is something I’d also like to add to the hand controllers if time permits.
Finally I’ve added some functionality in the wrist designed to help it deform better when rotated. Also using the connection editor I fed the rotation from the wrist controller into another joint located within the forearm. As the wrist controller rotates, the forearm joint will rotate 50% of its value. This has proven to work well while skinned.