Ilja Abrossimow
My main task in the mermaid project was rigging and skinning of the mermaid and pufferfish.
The mermaid rig
The mermaid rig
The mermaid rig is not very complex for a cinematic rig and is more of a game-style rig (mainly because i only had experience with game-style rigs), but i think it gets the job done. First thing you notice is that the root controller is at the chest instead of hips, i did this for a more fluid animation of spine to tail, since the root is at the end of the 'spine-tail' 'tail'. The spine rig is a Point-Aim Spine setup (basically 3 spines in one, one skin spine, one aim spine and one aimed-at spine), this allows for rotation of center controllers. These are controlled by 3 controllers (chest, belly, hips) with position and rotation. These are parented to the rootcontrol. The Tail is basically the same as the spine, but with 4 controllers. these are parented to the hip ctrl. The tail has a followbody parameter which when on, the tail will rotate with the spine and when off, it won't. For the tailfin i used some driven-keys and 2 rotation-controllers (controller with only rotation unlocked) to drive them with. The arms are your standard Fk-Ik setup with for Fk, the shoulder has an elbow rotate parameter instead of a seperate controller. You can switch between Fk-Ik by setting a parameter to 0 or 1. The hands have a rotation-controller for each finger with a extra rotate parameter for each carpal. the thumb has an Ik for thumb movement. Head has one controller for head and neck. Head ctrl is parented to the neck ctrl for FK rotation. The head also has IK-Movement. A follow body parameter allows switching between that the head orients with body or not. Eyes have 2 types of control. An aim controller and a driven-key controller. A parameter allows switching and blending between them. The aim controllers have a parent which can follow the head, follow the rootcontrol or worldspace. Face is mainly driven by blendshapes, jaw, ears and eyebrows are driven by joints. All of these are driven by driven-keys which are controlled by one of controllers in the face-controller group.
I created a mel-script for this rig for some functions. I was still learning mel and scripting when i wrote this script and i consider it fairly basic today. Zero out controllers these functions set controllers to zero. variety: all, left hand, right hand, face Transfers left to right arm and vice versa. A button for 'transfering' transforms of one arm to the other. it takes the local space of one arm and converts/transfers it to the other. Fk/Ik switch switch for FK/IK parameters. Follow Body switches switches for follow body parameters. eye ctrl switch Quick switch between eye-aim or eye-keydriven control.
The hair
I also did the modeling, texturing, rigging, settings physics and skinning of the Mermaid hair. The hair is in dreadlock style. I used a cylinder-type shape which is rigged to a curve joint-chain for each lock, (special) duplicated it and adjusted it's curve to shape each lock and later deleted unnecessary joints. I later used the curve to make that curve dynamic (with maya nHair system) for hair physics. I had to do this twice, since the first hair style (a loose dreadlock style) was a bit complex for the hair physics system and had many clippings and isseus. I decided to go with a dreadlock-pony hairstyle, because ponytails are somewhat more managable. I adjusted the hair physics to an underwater feel (floaty) and it collides with a body collision mesh which is an optimized version of the mermaid body. It does have some minor issues with fast movement or sudden stops, but it works pretty fast.
The Pufferfish rig
The pufferfish rig is somewhat like the mermaid rig. The root of this rig is the head, like with the mermaid, this allows for easier fish like animation. The spine is similar to the mermaids one, except that each spine-controller has a follow body parameter, which when on allows for a FK-type control. The last controller is the tail and also controls the tail by rotation. This has a child controller for more tail movement. The fins are simple rotation-controllers (controller with only rotation). The Eyes are like the mermaids eyes, except the eye-mesh is under influence of a lattice (for rotating cartoony 'eggshaped' eyes). The face is entirely controlled by Joints, which are driven by driven-keys which are controlled by one of controllers in the face-controller group. melscript for pufferfish consists out of zero-out controllers and follow-body parameter switches.