Tuesday, March 04, 2008

Rigging an Arm and the Palm

The basics
Hi to all, its satyajit aka metalloid again. Today I am going to tell you how to setup a human arm and how to hook it up with the custom controllers. To start lets first talk something about the hierarchy, what does this “hierarchy” mean? To tell you it simply means a chain, you all must have seen a chain u pull one of its pieces and the whole things follows well the hierarchy is somewhat similar, you see your family tree for example, you will see branches, just imagine it you move your grand parents, the whole thing beneath it follows but yr great grand parents don’t they’ll stay in place, this is a hierarchy. Take the case of workers in office, there is a President then a VP then Managers then employees, this is another hierarchy. A hierarchy basically means a setup that has a flow in a specific direction and a governance policy that controls the subordinate entities of the hierarchy. Now lets talk in terms of animation a hierarchy is a simple collection of objects in a parent child relationship in which the child object is bound to follow the parent object and yet have its own movements and rotations but if the parent moves/rotates/scales it will make the child follow in equal proportions.
Let’s move on a bit further in our expedition and talk about kinematics. What the hell? One more jargon? Are u nuts? No friends I am not, its not all that difficult to understand and its important too for rigging, ok so what is kinematics? it means the study of motion or here we refer it to as motion. You must have seen a lot of things moving around you, if not then go to a place called the “ROAD” there you will find ample examples. So when a body or an object is moving it has a certain energy called “KINETIC ENERGY(KE)” and when you lift an object up against gravity the energy it possess is called “POTENTIAL ENERGY(PE)”, but the catch here is that the sum total of KE and PE is always a constant in any moving object. Or if we put it in a equation KE+PE=Constant and by the way which in English means as the kinetic energy increases the potential energy decreases and vice versa. The best example to illustrate this example is a pendulum. When it reaches the ends its speed (KE) is minimum and the PE is maximum and in the centre when its speed (ke) is maximum and the pe is minimum.
Remember as the KE increases the PE decreases and vice versa.
Now you all must be wondering why I told you all this, actually I was preparing you for what’s about to come. It’s time to get nasty, get ready. When we talk about hierarchy it brings in the concept of IK(inverse kinematics) and FK(forward kinematics). Look at a human body, its bone structure is divided into 6 main segments or partitions: The spine, the hands, the limbs and the neck+head. Suppose you suspend a human by his spine and move him, when you move the spine the whole thing follows, this is FK. Tie the hands to another pole and then move, you’ll see that the hand is fixed there and is not following when the spine is moved and yet its position in the bone hierarchy is below than the collar bone or the humorous bone, this is IK. In English it means “if the parent is moved and the child follows this kind of setups is called an FK setup” and “if the parent is moved and the child does not follow then its IK setup. I hope you all have understood a little of ik and fk, and if you didn’t don’t worry, you’ll get plenty of practical to do.



The Prerequisites
Now coming to the hand setup, I suppose that you all are familiar to 3DS max interface and rigging tools. Without wasting anymore time I am getting to the nitty gritty of rigging. Go to the motion panel rollout or under the animation menu you’ll find bones, click it and press the “Create bone” button. Create a couple of bones in the hierarchy like shown in the figure below and be sure to rename the bones properly. And remember this thing very carefully always start and end the creation of a bone chain in one viewport only, never start creating the bone chain in one viewport and finish it in another, of course when you intend to use that chain as an ik setup for ik create the chain however it pleases you, show your creativity and make a design (mess :D). You’ll have to take this precaution because the ik works in a plane like XY, XZ or YZ suppose if you create a bone in top viewport with a bend that bend will be used by the ik solver to calculate. There is one more thing that you need to understand about the bones. Every intersection of bones is called a joint and a joint can either be a “Ball joint” or a “Hinge joint”, understand the difference, a ball joint can rotate in all the axis but a hinge joint can rotate in only one axis. For example some hinge joints in body: the shoulder, neck, wrist, pelvis, ankle and some hinge joints: the ankle, the knee, the knuckles of fingers. You know what does it mean when a hinge joint starts rotating in more than one axis, guess……….., it means its time to see the doctor, you have a broken bone in your body, just kidding. But remember never create bones in multiple viewports when you intend to use them in an IK setup.

The Nitty Gritty
Create this setup



Add an HI IK from the upper bone to fore arm bone this will make the hand go to and fro, the next fig will show the full bone setup.


Here you are seeing the yellow colored bones these bones are called the twist bones. The fore arm bone will not be used in skinning the twist bones will be used for that. The twist of the twist bones will be like a gradient from the first to the last one, it would be like this the one close to the palm will rotate more than the one in the middle which in turn will rotate more than the one close to the elbow. Its pretty easy till this but what makes a good rig great is the flexibility that it provides. With this setup I can only a couple of gestures to the fingers. In order to do that we’ll have to modify the hierarchy, I’ll illustrate it in the next figure.


This is the modified hierarchy but the difference is hard to notice so take a look at the next fig.


This fig will illustrate my point in a much better way, watch the first from left hierarchy, just bones and now take a look at the other one, you’ll see the helpers(point) between successive bones it gives us one more transform node to work with. Now you can wire these helpers the way you fell like and if you want one more gesture add another set of helpers (transformation nodes) above these, this way you’ll get 3 transform nodes to work with, it means three different gestures.
I hope that this much is clear, next we’ll see how to make yr own interface i.e. u can add yr own custom controls e.g. rollouts, spinners, sliders, buttons, dropdown combos and lot of other things. First of all you’ll need to make a control node in which you will add all the custom attributes, but before you do that make sure that you add a modifier named “Attribute holder” this will give you an empty modifier without any input options or interface, its not compulsory to do you can even add attributes on objects base level but that will make it a little messy, all the predefined attributes and the custom attributes at the same place but it wont effect the functionality of the attributes, its just a an organization method, just to make the work area look clean. Next I’ll tell you the commands:


To add a custom attribute you first need to declare the attributes, its more like a collection of parameters which will provide the variables or the values to hook up our scene objects.

To define a custom attribute a variable is needed that we will later add to the object’s modifier
Syntax:

=attributes
(
parameters rollout:
(
param1 type:# ui:(,…)
param2 type:# ui:(,…)
.
.
.
)
rollout “Rollout Tag”
(
ui
ui
.
.
.
)
)

Now to add this created custom attribute type the following line and before this select the object you want to add the custom attribute to:
$ symbol indicates the selected object and when more than one object is selected the objects can be accessed as $[1], $[2], $[3]….$[n], it depends upon the selection order. Suppose you have 5 boxes in the scene named as box1, box2…box5 and you selected them in the order box5, box3, box4, box2 and box1, now when you type $[2] and hit enter it’ll return “box3” and when you hit $[4] it’ll return “box2” and so on. I hope this is enough to illustrate the $ thing.

Here: $[1] = box5
$[2] = box3
$[3] = box4
$[4] = box2
$[5] = box1

The statement to add the created custom attribute to the selected object is:
custAttributes.add $.modifiers[1]


An example to illustrate the above code fragment:

clearListener()
cb=attributes footCon
(
parameters paraF rollout:rollF
(
toeR type:#angle ui:(fr_sp,fr_sl)
ballR type:#angle ui:(bj_sp,bj_sl)
toeW type:#angle ui:(tw_sp,tw_sl)
ffrt type:#angle ui:(ft_sp,ft_sl)

)
rollout rollF "Toe Control"
(
spinner fr_sp "" range:[0.00,45.00,0.00]
slider fr_sl "Toe Rotate" range:[00.00,45.00,0.00]

spinner bj_sp "" range:[0.00,45.00,0.00]
slider bj_sl "Ball Rotate" range:[00.00,45.00,0.00]

spinner tw_sp "" range:[0.00,45.00,0.00]
slider tw_sl "Toe Wiggle" range:[00.00,45.00,0.00]

spinner ft_sp "" range:[0.00,45.00,0.00]
slider ft_sl "Foot from Toe Rotate" range:[00.00,45.00,0.00]

)


)


custAttributes.add $.modifiers[1] cb
My work here is almost done, I have told you how to create and add custom attributes, how to modify the hierarchy to add one more pivot that you can hook up to another controller. If you use this technique wisely the opportunities are endless. You can make and do anything. Plus there is one more thing I need to tell you all, there is an attribute called the “pen attribute holder” and its available free over the Internet. Its just like attribute holder plus it has a great advantage, you can make poses of the controllers you create in the pen attribute holder and save them, this way you can just make a fist pose and save it and whenever you need to make the fist you wont have to tweak each and single controller just do it by activating the saved preset. This saves a hell lot of time. Anyway I leave it up to you to find and explore this. I wont tell you all, you also have to do something on your own but I’ll always be there to help and guide you but its you how have to walk the path, I can only point it out to you.
This a screenshot of custom created attributes for hands that I made.
this is how the custom attributes will look, cool isn’t it? Take my word for it, it will take you a little while to get through this but once you are, you’ll be happy.
Now only the part is left where I explain how to put all of this together to make a working rig.
I’ll just write the steps, follow these first to make the setup, once you are through fell free to use your creativity to modify and add to it. Its your imagination and imagination knows no boundary.

Steps:
  1. create the basic hand setup,
  2. create the twist bones,
  3. create the palm bone,
  4. create the fingers,
  5. select all the three palm bones and make them child to the fore arm bone
  6. modify the hierarchy of the fingers like the way I told you, insert helper in between and make sure to match the pivots of the helpers with that of the bone its parent of, first add just one helper, in later stages you may add as many as you feel needed, since its your first try so make it simple,
  7. link the bones to the helper to create the hierarchy shown in the schematic view fig,
  8. wire the desired rotations of the helpers to the other helpers, this way you will get the curl or whatever gestures you desire and yet the bones will be free to rotate. Here I need to elaborate more: understand this carefully when I inserted the helpers in the hierarchy there was a purpose behind it I did it so that I can wire the helpers instead of directly wiring the bones so that I have the bones transformations free, if I want one more gesture I can again modify the hierarchy by inserting more helpers and again wiring them with some other controller. This way I will have different gestures on the same bone chain and yet my bones will be free to transform. If you get through this point you have done it all, for the hand.

Well this is it, now you know everything to create the hand setup, my mail id is satyajit.das84@gmail.com feel free to contact me when in need, I’ll be more than happy to help. Rigging is not something that you can do as much as you want, once started you’ll have to see it through, you cant stop in between because until you get everything right; your model will not work properly and if you can do a little scripting then it’s a great advantage. It makes rigging lot easier and quick, doing things manually takes a lot of time and is also not precise because human beings make mistakes and that’s what makes them intelligent where as computers don’t make mistakes that’s why they are stupid. Make mistakes, lots of mistakes and learn from them but never repeat them. Always make new ones.

Defeat is a better teacher than victory.

See ya all until next time.
Take care
Happy rigging

Thursday, November 29, 2007

Turntable pictures of characters like Batman, Hulk and many more...

A web link where you will find Photo album of Model kits, Statues, and Paint Master prototypes that have been painted by Danno Cope :
http://www.picturetrail.com/dannodaman

In this link you will find statues of famous superhero characters which can be great reference for 3d and 2d artists who wish to create comic characters :)


Also check out wondeful sculpture studio of Andy Bergholtz :
http://www.absculpture.com/about.htm

Hope you find these links as useful as i do!

Cheers~Cgicecube :)

Saturday, August 25, 2007

More from my sketchbook :)

Few more sketches from Arvin -the next big thing in the animation world-yo!
I am filling up my sketchbook and i hope i inspire you to do the same :)

Saturday, July 14, 2007

My Inspirations :

Hey guys thanks for sharing great lessons about animation, modeling and painting!..Keep em coming!!!
Psst!.. I haven't created any new artwork from past few weeks just spent it admiring artwork around me :o)
So i am going to share some of my inspirations here :

1) Designer Jason Deamer creates
characters for Pixar’s blockbuster films including the latest ‘Ratatouille.’
http://features.cgsociety.org/story_custom.php?story_id=4144
Read here about the character designs of ‘Ratatouille.’


2)About EXPOSÉ 5
EXPOSÉ 5 showcases the best digital art from around the world. Judged by an international team of industry leaders this year’s edition features 298 examples of the world’s best digital art prepared by 218 artists from 45 countries and selected from over 4,500 entries.
This book can be in your list of gifts ;) dont forget to see the interactive "live book preview" where you can flick through every page of EXPOSÉ 5.

3) Mangang('my-gang' as i call him), 3d artist from VFS shared this beautiful photograph with me he clicked during his stay in Vancouver. I really really wish to create such a sculpture...I just cant stop admiring it!!! Its "awesome" Also visit cgportfolio of Magdalena Dadela (Character Modeler, Ubisoft Cinematics, Montreal, Canada.) Brilliant ZBrush3 artwork !!!


4) Creativity at its best!!!
Deamer's face cups
Take out all the tissue papers and disposable cups and start drawing now!!! Btw this also reminds me of wooden dolls...they are so much fun!!!

5) And life is nothing without beautiful nature around us...i just relax and forget all my worries after smelling a beautiful flower... just gaze at sky above...catch a beautiful butterfly in your hands. I can share with you some beautiful pictures i clicked while driving on highway in Gurgaon!..
A beautiful sunset

Clear sky

Construction ref ;)

NOW LET US SEE WHAT INSPIRES YOU?!! I request all you talented artists to post here what pumps you up what inspires you what you admire?!!

Peace
CgIcecube :)

Sunday, June 17, 2007

So guys we are back and we’ll start with staging now.

Staging
Hand gesture staging summary
· Use the hand that will not be too close to the character or not too close to the camera (hand or arm further away from the camera).
· Keep character staged more open to camera so that audience can better read their actions.
· Avoid showing the characters back unless absolutely necessary or called for in the story.
Eye line staging
summery
· Try to avoid profile staging unless specifically needed.
· Keep both eyes in view of camera to aid in reading the characters mind and heart.
· Use eye direction to indicate sight line rather than aiming with the nose.
Thumb nailing weight in posses
Summery
· Define line of action in your scene.
· Draw 3 balls on LOA (line of action) to indicate placement of head, chest, hips for planning posses.
· 3 balls techniques are useful for any proportion of character.
· 3 balls to help diagnose pose problems.
Introvert & extrovert posing
Summery
· Used to define internal vs. external dialogs.
· Create contrast in acting.
· Be clear about when the character is in one or the other.
· Move screen space to express the shift from internal to external forces.
· Great for working with two or more characters. Shifting each character. in and out of intro vs. extro for scene energy.

Eg: like two chatterers are there in a scene one character is shouting at one and other char. Is in extreme fear but u can only judge it from his face or expressions that’s an introvert posing by that u can tell audience that what’s going in that characters mind.
3 main areas
· Timing
· Spacing
· Phrasing
Timing
How long a move takes to get an action.
Eg.: head turns takes 8 frames or less.
Timing how to find it
· Stop watch time your action (u can act out your action and re cur timing on your stop watch).
· Use metronome to get a feel for the beat.
· Act it out.
· Take video reference.
· Observe life.
· Break out the dialogs on the x sheets/track read.
· Act it out
· Uhhh…….did I mention acting it out.
Spacing
· How u space (spread out or bunch together) the movement within a given timing.
Example: The head turn takes 8 frames but the head moves very little for frames 1 to 4 allot 5 to 6 then little again 7 to 8.
This is called slow in slow out and fast middle move.
Spacing-possibilities
· Slow in.
· Fast in.
· Slow out.
· Fast out.
· Slow in/out, fast middle.
· Snappy.
· Slushy.
· Smooth.
· Skippy.
Animation as language:
Let’s take an example with a sentence:

“Keith went to the store”
Always 5 words. Never more, never less that’s akin to timing.

Dozen of ways to say those 5 words to give different meanings that’s like spacing.
Phrasing
How u arrange the moves (with their different timing and spacing) to build a point of emphasis in the scene.
Example: the character slowly sneaks for a few steps, then hears a sound and quickly scurries for hiding place.

So guys hope…these tips will help u in your animation.
Net time we’ll talk about work flow, breakdowns, anticipations, eases blocking & basic timing, offsets and micro anticipations.
So have fun enjoy doing animation because animation is all about fun!!!

with regards
Arvin

Saturday, June 02, 2007

Some useful tips to remember starting an animation

hi guys just wanted to share some basics with u which one can keep in mind at the starting of an animation so after planing lets come get on to first key thing which is posing.


# Good poses instant communicate character.

Story is not a king
Characters are king

# Poses has preliminary functions.

(Appeal and Emotion)

Appeal: tells what character is feeling.
Emotion: express what heart is feeling.


Pose
↓ ↓
Appeal Emotion

Character

Conflict↔Story



Character
↑ ↑
Appeal Emotion

Pose→ Character→ Story

Better story if better characters.
Have better character by using better poses

Good poses = Good storytelling

Most animations are a series of 2d shapes moving on a flat screen to convey a story or character.
We must focus on understanding how to best use 2d shapes to express idea.

What is line of action?
The line of action is an imaginary line through the characters body that shows the primary force of a pose indicating energy (Kinetic or stored) of character poses.

Pose variety:

· Vary the intensities of your poses & lines of action.
· Make one pose of greater importance’s that all the rest.
· Use all the other poses to concert to lead to this key pose.

Reversing the line of action:

· Build contrast in the scene.
· Build up & release energy to move character and story forward.



Uses for vertical line of action:

· Vertical lines of action are useful for adding a point of emphasis to scene.
· Vertical lines of action, when contrasted against other strong directional lines are like exclamation points useful to make a point.


Flow lines

· All parts of character should work together to create a visual flow for the viewers eye to follow.
· Viewers tend to “feel” body language but not focus on it.
· Viewers generally focus on the characters face
· The best poses lead the viewer’s eye where they should be focusing for a given scene.
· Use arm, legs, torso, props etc to lead the viewers to see what they need to see in order to follow the story.
· Don’t force animation principles on a scene.
· Use the Principles to guide how u construct a scene not as a checklist of things to stick into you work.
· Be mindful of props into the character use.
· Be sure to work props into the visual flow as well.
· Good flow in your posses makes your animation easy to understand its “easy on eye”.
· Your story is better told, your ideas more clearly stated as your visual flow.



Tip
Tilt the head

· People don’t hold there head up straight very often.
· Head tilt adds weight to pose.
· A head tilt is a useful indicator for “attitude or emotion”.



So guys try out to show proper weight with proper posing in your animation. And have fun in your animation.
Hmmm so good poses takes time a good pose... Can take your whole day and that’s a key for a good animation.

Next time we’ll catch up with
· Staging
· Thumb nailing weight in poses.
· Introverted and extroverted posing.

Here are my sketches illustrating thumbnailing poses :




























Animation Tips by -Arvin-