Loading a 3D Model of Sheik
I accidentally scrolled by some of the work in progress images of Sheik created by Shayleen that she posted on twitter (original concept created by Jack Hamilton ). I decided to reach out to her and that's where to collaboration started. she notified me from the start that the project was meant to be shared with people for educational purposes so that immediately set the bar to try and put in as much as possible to take it up to a professional standard while keeping performance high.
After a couple of iterations it was decided we needed some animator feedback, this is where Cecillia Tedja, Kyle Kenworthy and Thinh Ngo came in as they offered up their free time to test the rig out. Their feedback was amazing and really helped to get the rig up to a high quality.
for this rig I added a global finger control, this is the first time for me to add this as most of the global controls I have seen before did not feel right and difficult to control, mostly as the controls where rotation controls to drive rotations on the hand, which is alright for opening and closing but not intuitive on the spread of the fingers. This tweet by Alan Noon showed a very elegant way to actually solve this
So the fingers themselves have a general control for bending the finger inward while the main control adds to that based on the position of the box control. All is driven by a remapValue node, instead of a drivenKey, this to make sure that there are no stray keys in the animGraph.
The image shows the arm, but its more about the IK-system in general. The IK in both legs and arms is modified to give the animators as much control as possible It uses a soft distance attribute from 0 to 10 to avoid the popping of the ik when the arm is stretched to the max It has the basic stretch function but also allows the arm to stretch limbs individually sliding the elbow position more towards the shoulder or the wrist. A pole-vector lock is also added to make sure that elbows and knees can be pinned down on surfaces so there is no need to counter animate.
The torso consists out of 3 splines, IK-spline, FK and reverse FK. The reverse FK is something that was used on Aloy in Horizon to make sure she could do hang from cliffs and such. The space-switch on the IK-legs also helps to provide more help in these types of animations. While the IK and FK spline are the usual you might find in any rig.
The weapons make use of a new Dynamic parent constraint created for this rig. The plugin has a python file embedded which fires on load and it will listen to objects that are connected to the dynamic parent node. To trigger the UI the mouse needs to hover over the control and "ctrl + middle click" fill fire off the command, the UI is modal so it will only vanish once one of the buttons is clicked. It will keep the objects world-space while it switches the parent space. This also has the option to auto key the switch, setting a key at 1 frame before the switch and at the current frame. This is an added option as some Animators prefer to have the control to key objects themselves.
The main head controller has an attribute to display different levels of detail. Meaning that if it is set to low it will not show any face controls, med will allow the user to adjust the face and high will give the options to also manipulate the hair. It is recommended to have the face controls turned off while animating the body as it will increase performance.
It was great to work on this project, Shayleen is amazing to work with and took this project to a high professional level. And I am glad that I could work with such talented animators providing me great feedback and well-grounded arguments on how to progress on the rig.
You can download the sheik with the following button, the rig is free but if you do decide to donate; the money will be going to The Trevor Project as the character is created to represent the non-binary gender.