Thursday 26 November 2009

Stretchy Limbs

Right, I'm back in Maya again, rigging my character from some time ago. I've made a few minor tweaks to the model such as finishing the hair, and scaling up the body so the head is a bit more proportioned... you seem to notice the smallest things after not seeing your own work for a couple of weeks, and the head:body ratio stood out too much for my liking.

But yes, for a special treat, I've been working on my rig for the model. Ideally I want it to be as functional and user friendly as possible, being a stock rig and all. There are a number of things I've learnt from the past 3-and-a-bit years of character building, and one of those is that it's all well and good to automate features such as the clavicle raising once the arm lifts above the t-pose (see this vid for what I mean), but if you have to then fight it during animation... just leave it or give the animator the option to turn it off.

With this in mind, I'm currently making a variety of different features for the limbs which can be toggled on or off. One of these is a stretchy limb option. Pretty much once the IK leg control moves out of range for the typical leg, the joints and mesh stretch a little (or a lot) to meet it. So you have some squash and stretch at hand if you want it in your piece. This is pretty much all done with the expression editor.

First of all, you use the distance tool (under Create>Measure Tools) to look at the distance between the hip and ankle joints, and point constrain the resulting locators to the hip, and the foot Control (the ankle locator has to stay with the contoller at all times for good reasons). You will see a number between these locators. Now, this may be the same as the Distance Attribute or may not (I was lucky as it was), but this number is important to note when you stretch your IK leg to its maximum.



A little expression needs to be written that pretty much says "if the distance between the 2 locators is greater than the full length of the joint chain is, then scale the joints along the appropriate axis until they meet."

To keep that scale even, so the joint stretches at a proportioned rate with the distance, you just have to divide the distance attribute by the original distance. (Bit of example maths distance of 30, original distance is 20:. the scale will be 30/20= ScaleX 1.5) The rest is sorted by a few conditional branches to ensure the scale is at its default of 1 at any other time.


And this is the result when the stretch is switched on! When skinned, the leg will stretch out nicely to meet the foot controller. Note the distance is greater than normal, so the scale is increased to stretch the joint chain.

That's about it. It's eaten up a lot of time as I'm new to expressions. A word of advice... make sure the distance number you jot down is actually right. Mine was a fraction too low to start with. That's 2 hours I shan't see again!

-Stuart

Saturday 14 November 2009

bpelt

Hey all, if anyone is into Photoshop, particularly for cartoons or webcomics, there are some handy plugins I recommend. This makes colouring in and shading a real easy task, as you don't have to worry about messing up the line art, going over the lines, leaving any white patches and so forth.

If you search for bpelt on Google (it may actually just be www.bpelt.com in fact) you will find two plugins on the site; multifill and flatten. Download these both and drop them into the plug-ins in your Adobe Photoshop folder in Program Files. They'll install when you open the program.

If you draw anything with either a graphics tablet or the pen tool onto a new layer, you can fill the closed sections with solid colour. A bit like Paint I guess, but with anti-aliasing and a damn sight more ease in tiny sections. Pretty much all you do is duplicate the drawn layer, merge one of those with a layer of solid white (hide the other drawn layer for now) and use the tolerance tool to remove all the anti-aliasing for the layer, so we just have black or white; no greys.

You will then use the multifill plugin to automatically fill any section with solid colour. No white bits, it's solid. Then flatten it to remove the black outlines, and voila, you have a crazy multicoloured layer that's accurate to your drawing, and all you need to do is change the colours with the paint bucket tool (turn anti-aliasing off for now, just so colours remain solid round the edges), and put the original drawn layer on over the top of the colour layer.

This is how I coloured my character sheets for Want That Ball, and believe me, it's much faster than any other way I've dealt with. The other bonus is when you want a darker shade round an edge, you can do so just as fast. Essentially what you do is when you have a duplicated version of the drawn layer, add a few lines to indicate where the light will change. Then merge this with a white layer as before. It gives you other sections of colour to deal with, without having lines over every different colour. If need be, turn anti-aliasing back on when you're fine tuning the shades of colour.

When I get access to my own PC with the tablet and scanner, I'll put up some images to illustrate exactly what I mean. http://www.questionablecontent.net/tutorial.php has a great tutorial of how to get some good cartoon shading on the go, I recommend reading this.

Chat soon!

Saturday 7 November 2009

Social Care TV, etc

Hey folks, I've now finished at RJDM, so hopefully I'll be able to work some animation round day and evening shifts at work. Or at least make more worthwhile updates.

One thing I'd like to show is the Social Care TV advertisement that Brad, James and I designed, animated and comped. The clean. updated version is also now up! It can be found here.

It's a shame I can't show any of the other pieces we put together, but they're top secret, prototype projects for big companies so they'd kill us if we leaked any of it.

More to say soon!