dinsdag 2 juni 2009

Rig Demo




It has taken some time, but finaly the rigging system is ready for demonstration. I really learned A LOT making these scripts. Especially making the FK<>IK switching work meant researching how maya handles IK and FK and then making them match.
It also meant thinking a bit beyond just simply applying proven methods you can find on the internet. Because I had a very specific idea about how I wanted this system to work, I had do adapt the rest of the scripts to that. And since I had to find my own constructions that also made me think about the best solution for the end users, the animators. The main idea is to keep the screen clutterfree with as few controllers as needed while allowing the animator maximum controll. Also the most important part in any character, the spine, had to be carefully constructed. It needed to be flexible and allow independant chest and hip control. But most importantly, it needed to be solid; maintain its length.
The system itself is extendable so I can customise the rigs fully to the clients` wishes and incorporate new limbs all together. I based this first set of limbs on a biped-character, so now pretty much any character with any number of arms, legs, fingers, etc. would be built in no time. But limbs like fins, wings and tails are also possible once the scripts are done.
The facial rig is very limited right now, but is under development in my spare time.

woensdag 6 mei 2009

RACING!!!!




This is a short animation I did with Lisa Hochstenbach and Martijn van Gurp for the dutch national television show `het Klokhuis`. We were asked to come up with a character and make a short sketch to fit a given theme: city cleaning. We all did our part in this animation, but I was solely responsible for all the CG-elements and compositing.

Tile


A short animation of a hanging tile I did for Nicole (link). I think it turned out pretty close to photo-realistic.

48hr film festival

I was asked to design a logo for a team participating on the 48hr film competition. Above is the result of this. I also did the end credits for the film. Below you see a still of what I came up with. Unfortunately this version wasn`t used in the end, but I did like how it turned out.

Backbones





I`ve been doing some research on spines. What would be a good spine to animate with? I learned most through a discussion on the CGTalk forums on a new spine technique, named the "Awesome spine". Main benefit of a IK-spine stup would be the independant hip and chest controll. Most IK-setups can do this and focus seems to have shifted to making such spines twist way beyond physical breaking point. The "Awesome spine" actually does do a good job on that, but it lacks solidity. As you independantly move the hips and chest, the length of the spine changes and is always stretchy. The parts would seem to be unconnected and drift in an animation. For this reason most animators still prefer a FK setup instead. With my "simple spine" setup I hoped to include all the benefits of a IK setup, while keeping the spine solid. For twisting I used a similar trick to the "Awesome spine" and upon further investigating I found more similarities. However, in the "simple spine" the spine retains its length and a nice curve, unless you increase the "max stretch"-attribute.
I haven`t gotten all the kinks out of it yet, but above video should give a impression about where I`m heading with this.

It moves!!





After a lot of messing around I finally fixed a solid FK<>IK switching system. It looks a lot easier than it is. Either that, or I have been doing something very wrong. The example in the video shows how it works on a finger like limb. But now that I`ve solved all the problems it can be easily adjusted to fit toes, arms and legs aswell.
It features FK<>IK blending and switching, a `finger curl`-attribute and a stretch limiter. With this attribute you can set the maximum scale you want the limb to have. Setting a small value, like 1.05, could be usefull for sticking the feet a bit more solid to the floor in a extended position of the legs.

Laying out the Topo





A WIP vid of the rigging scripts. It allows the user to connect all kinds of limbs together. This way you wont be stuck with a standard biped topology. The scripts first generate locators which indicate the joints. They can be moved around and rotated untill it fits the character.
The limbs can be further customized by `breaking` the joints (for smoother bending) or indicating that its supposed to be a stretchy limb (visually, not through a list of features you want on the final rig). The extent of the break can be adjusted by a slider. The the rig can then be assembled by just hitting a single button.
I`m currently at the stage of checking the joint orientations. Just before the final rig is assembled, the user can check all the joint orientations and adjust where needed.

dinsdag 10 maart 2009

Rigging Praradigm





The rig you see above I made last year. It is a rig for the upcoming short film of Floris Kaayk. For it I used a paradigm (set of rules and conventions) I made the year before that. I learned a lot from this project about rigging. Recently I started a project to script a rig-builder in MEL. This program would allow the user to build completely custom rigs with as many or few limbs as prefered within a few clicks.
When I started I had to consider a lot of things in advance. Since you can`t know what kind of rigs the user is going to build, everything needs to be really general and nodal.

The final system would have to be very flexible and easily expandable.
I guess I would call the paradigm I ended up with a layered-limbic-rigging-system. Layered, because eventually there will be multiple joint-chains operating on the same model. The layers I had in mind would be as follow:
FK and IK chains would operate on a CTRL-chain. These three layers will allow the animator to controll the movements. Then on top of that could be a DYNAMICS and NOODLE chain. These will allow for secondary motion and automatic followthrough. I still have to do some research whether this would best be solved with joints or skinclusters.
The limbic-part of my paradigm is that the rig-building will happen on a per limb basis. This will allow much more complex rigs than your standard biped or quadruped. My plan is to make a small MEL script for each type of limb. This will allow for easy addition of extra types of limbs as long as you keep in mind the name-spacing.

Based on this paradigm I formed the following namespaces:
limb_part_index_layer
The `limb` part is obvious, I guess. This specifies whether we`re dealing with a leg or an arm or a hand or a finger, etc. Each limb will consist of various parts. And most likely there will be more than one limb of the same type in a character...hence the need for an `index`. The layer indicates in what layer it is in, like TOPO, IK, FK, CTRL, DYN, NDL, BND.
The obvious omision in this name is the name of the character. This is entirely on purpose, because I`m assuming the characters will be referenced in the final scene. By referencing all object will be prefixed with the file-name.