Showing posts with label curves. Show all posts
Showing posts with label curves. Show all posts

Jun 3, 2007

The Power of Pyramids

First off, sorry its been so long since I posted anything. I don't intend on letting this blog sit and rot... I've just been super busy with work and my little boy. I have a small scale animation that I'm working on ( not the vampire thing right now ) and I want to post a detailed breakdown of the process - should be a cool post I hope, so keep watching.


The power of pyramids ? whats he talking about ?

I've been wanting to write a post about this for a while. Its something that I think about, and use, every day when animating - but to be completely honest I don't fully understand it, so this post will serve as an exploration of this idea, rather than a hard set 'technique'. Bear with me as I try and clarify this in my own mind too... ;) I will try and keep all observations at objective as possible.

Ok... so I'm sure we've all heard of "poses" and "lines of action" and their massive importance in animation, but something that I like to include in my thinking is the idea of creating solid shapes.
There is a very common shape that we all use often - the curve. Its nice to contrast between backwards and forwards curves in our poses, and also straight against curve. I love these tools, but really I don't so much regard them as shapes. To me they are still lines ( but not necessarily "lines of action") .

I use a particular shape over and over, and it repeatedly helps me define strong poses and dynamic shapes.... the pyramid.

So check out this image below. I'm sure you've seen it once or twice before...



Something strikes me about the pyramids. Ignoring all the stone, and the sheer scale of these things - the shape itself says a lot about weight, stability, pressure and origin ( or direction ).
the tips of the pyramids look light and are supported high by the wide bases that seem firmly planted on the ground. You can see the "direction" of the weight, i.e, it becomes heavier as it approaches the ground, and the heaviest part of the pyramid is right at the bottom. A single 2D pyramid also has two straight lines that contrast against each other in their direction of travel. They also have a built in way of naturally leading the eye to a particular point, at the tip of the pyramid.

If we look at pyramids of different proportions - it seems the same ideas still ring true, but with varying strengths (i.e the tall thin pyramid still has the same 'feeling', but the short wide pyramid feels much more weighty and planted to the ground )




If the pyramid is turned upside down... something interesting happens. It seems as if the point of contact on the ground is an area of high pressure, supporting a strong weight above it. The shape of the inverse pyramid points downwards and amplifies this pressure. There is also a strong sense of balance and equilibrium when the pyramid is seen this way around.




It also seems that the pyramid can be distorted - yet still retain the same visual ideas.




So, there seems to be a subliminal strength associated with the pyramid... and we can tap into that shape, and use it in our poses.


Application to posing characters, and its effects...

Below I have taken a number of images from around the net that I feel illustrate this idea in different ways. They all use some kind of pyramid shape, that helps to strengthen the attitude of the character ( click on the images to view them more clearly ).



The blue pyramid shows the direction of the wolfs attitude, and places his weight back behind his head, and plants his overall shape firmly on the ground. In a sense it summarises the broad pose. The red pyramid shows the pressure exerted on the small paws of the wolf, at the point at which they meet the floor - illustrating the weight of the creature, and the energy needed to counter the weight as it travels up into the chest and shoulders. The red pyramid also suggests a feeling of careful balance, inertia and poise - that lends a certain natural anticipation to this image.




I can only really see one pyramid in this image - but I think that's reflective of the power and straight forward nature of this pose. The pyramid plants the characters feet and weight firmly on the ground, and the edges lead our eye to the point of interest - the hand that is delivering the force of the blow.




The blue pyramid describes the weight of the character - and the direction of the attitude - the tip also leads our eye towards his face. The red pyramid is the interesting one in this example - the bottom tip ( at his elbow ) shows the point of pressure as the character leans his body weight to be supported by the chair. His upper arm creates one side of the pyramid - but contrasts a little oddly with the relatively straight edge that runs up his forearm.. is this why he seems a little off balance ? like hes not quite leaning on his elbow ? almost as if his pose is a little forced ? maybe I'm being too subjective now.




In this instance the red pyramid describes the broad attitude, and leads the viewer towards the left foot, which is also the point of pressure as the character bears down her weight to take the next step. On its own, the red pyramid is a little off balance, and by itself it would seem as if she might fall backwards. The blue pyramid solves this problem by grounding her weight between both legs, and providing support for the tall pose.




These images are interesting in comparison because the top red pyramid seems to describe a pose that is off balance. Despite the fact that the character's feet are firmly planted on the chair, all the pressure is concentrated in the small area of her feet, and there seems to be no blue pyramid to provide any grounded support. The red pyramid also seems to be off balance - making the overall pose seem tall, un-centered and looks almost as if she may fall at any moment.
In contrast, the second set of images has a strong blue pyramid. despite the fact that we can't even see the characters feet, we have enough of a strong shape there to show that the pose is firm and stable.




As a last example - this pose is interesting because it seems to have a blue and red pyramid working directly together. The red pyramid shows the downward forces of the body, coming to a high pressure point at the feet, taking all the weight from the hips. This alone could possibly seem off balance, but the upper body pose can be summarized with a blue pyramid that works to produce a harmony. Together the two shapes seem to describe an eloquent balance of forces, that could be used to nicely describe the attitude of the female character.

So I hope its not just me, and these things really are going on in these images. I find it useful to think of these shapes when I animate, because above everything else - they seem to provide a certain approach to the aesthetic stability of the character - but can also add that extra uncertainty or anticipation when the shapes are not balanced, or deliberately jarring.

Keep your eyes open and maybe you'll see some of these... Drop me a mail if you know of any more!

( oh yeah .. and I did realise after a while... they're triangles not pyramids.. but then where would the catchy title be ? ;) )

Apr 20, 2007

Quick Trick: Gimbal Lock... Just Ignore It ! ( with a little help from Maya )

Update 2012:
Wow.. this is really old. I`m not sure I would suggest this workflow anymore. At the time of writing I did a lot of my animation by "just looking at it" in the viewport and not looking at how curves were actually driving movement in the graph editor. I have since discovered the magic of actually understanding what the graph editor is telling me and using it to animate more logically ( because its easier to polish that way ). If you use local rotation manipulator, youre STILL going to see curves that make no sense in the graph editor, at the cost of getting that direct manipulation.. euler filter or not. I would try and figure out a way of using the "extra node" approach, where you basically make a controller that rotates your object along its widest and most common axis, and your xyz rotates sit under that extra node as a child. 


Saying that though... I animated for a LONG time without ever looking in the graph editor, and got results I really liked. We change our approaches a lot over time, and that's all good. If you're struggling with this, I would still read the article below and see if it could work for you as it was a winner for me for years.


What is gimbal lock ?

To tell you the truth, despite the fact that I am pretty well versed in the technical side of 3D animation, I never really fully understood exactly what gimble lock is. As I understand it, its when one or more of your controller's rotation axes become "locked" or "stuck" ( or more accurately - stuck on a plane that no longer properly represents the direction of that axis ):



Time and time again I hear animators moaning about gimbal lock, and I am used to seeing many bizarre and long winded approaches to solving it scattered around on the internet. My solution to this odd problem is simply to ignore it! Gimbal lock has practically never been a problem for me, and here's the quick trick to show you how:


Broad workflow technique, and what rotation manipulator you use is the key...

When I first started in 3D animation, I had only a very small level of 2D experience, and none of it professional, but I thought in a 2D way. I still probably don't think 2D enough from day to day, but I never made the mistake of thinking about 3D animation as separate channels of X Y and Z. Many animators do however. They spend too much time worrying about organization of keyframes, only changing the X rotate value if thats all they need to do, and not keying the translation for example if they don't need it on that frame. In my opinion this is a strange and analytical way of working, that takes longer to manage, and takes away from the core experience of animating. I don't care what channels are keyed on what frame, in fact I deliberately key all the channels on an object when I'm finished posing it.

The nuts and bolts of this workflow is that I never use the gimbal rotation mode for my rotation manipulator. I always work in local mode, and Maya is great because its still doing the same mathematics behind the rotations, but its always giving you all three axes to work with, and never locking them. The gimbal rotation manipulator is for people who like to work in the analytical way - they only need an X rotation so they only rotate the X axis. With Local rotation mode setting, you can still only rotate the X axis, but maya will rotate the other axes also ( unnoticeable to you ) so you don't get axes stuck on top of each other.



Its a mystery to me why some people choose not to work this way. I suppose its easier to manage your curves if you only have keys you specifically set, and easier to cleanup and make changes. On the whole, "keyframe messiness" has never really been that much of a problem for me. I like to concentrate on the performance, and if I have specific areas of keys that I need to clean up or delete, I just do it then as I see fit. I'm not saying its wrong or "dumb" to manage your keys so carefully, I'm sure lots of animators are very happy this way and have their own solutions to gimbal lock... I'm just giving an example of a workflow that has worked very well for me.


Euler Filter - your best friend when you work in Local mode...

So what happens when gimbal lock happens in Local mode ?

When you work with Local mode, you never really see gimbal lock happening - in that you never see the axes getting stuck, but you occasionally see the result of a rotation calculation not going entirely as planned, because gimbal lock is under the hood causing problems. See the image below:



I just want to take the arm and rotate it around the Y axis ( green ). I also rotated just a tiny amount around X and Z.. but the main big rotation here is in Y. Notice that after I have rotated into the new pose, my rotation manipulator is still giving me full control of all 3 axes.

So from the images above, you would expect the arm to do a nice clean sweep from the first pose into the second pose. Most of the time that is what happens, but occasionally this happens:



Strange ? yeah. Well its not what I wanted at least. It seems like the arm is going through the torso, and doing a slight weird twisting at the same time... you must have seen this happening before in your animations.
When I first started animating, I used to go in and add inbetweens whenever this happened to fix the problem... it used to really annoy me, because I had no understanding of why it was happening. This is gimbal lock going on in the background, and because you're using Local rotate mode, its kind of "hidden" from you by Maya.
This is where the magical wonder that is the "Euler filter" ( pronounced "oiler" ) comes into action. Maya takes these rotation curves that have become entangled, and reorganises them so we get the rotation we originally wanted - effectively completely solving the gimbal lock problem in one mouse click.



After applying the euler filter, the rotation of the arm is exactly as we "planned" it to look when we set the original poses. There is probably some pretty intense mathematics going on here, but luckily we don't have to worry about that!



So if you choose to work in a certain way, you can effectively just ignore gimbal lock and concentrate on your animation. If you ever see weird interpolation happening on your rotations, just apply the euler filter, watch it fix itself, and carry on animating!

Apr 6, 2007

Quick Trick: Moving Holds.

Whats a Moving Hold ?

Well.. moving holds are something you should never underestimate.

A great place to see moving holds ( and the first place I ever noticed them ) is in 2D animation, particularly disney stuff. Its pretty simple:

A moving hold is a slight and slow change in pose over a number of frames. They are mostly used to keep a character alive slightly when the pose is essentially "static". Imagine a movement like a head turn - its sometimes best to let the head keep moving in the same direction just a small amount after it "stops"... this is good to avoid any completely still body motion that always looks dead in 3D - but also to serve as a nice soothing contrast to the relatively fast movement before it.

Moving holds work particularly well on full-body poses. They can really set off an attitude, or soothe the eye after a quick pose change, and give the audience time to read a gesture. They also make the character feel a lot more organic. Unfortunately full-body moving holds are some of the hardest to do because there are a lot of controllers that you must animate very subtlety, and each controller must be a slight continuation of its own unique direction of movement. This quick tip offers a few solutions to this problem.


So here's where the quick tip comes in ..
  • First off... try and use moving holds wherever you can. I don't mean use full body poses all the time, or your characters actions will seem way too pose-to-pose, but rather just try and use the concept down to a micro level on body movements. So if those fingers spread out quickly, just let them bounce back a bit - then drift very slightly with a nice moving hold. If a character blinks, put a tiny moving hold for a few frames just to cushion the eye lid back into its "rest" pose after it opens again. We're tyring to avoid things looking "mathematical" or "mechanical" and moving holds can really help with this.

Quick and easy way to make moving holds ..

  • First off, here's a simple hand gesture. Very basic, but a good medium to show how a moving hold can help your animation, and a good example to show how to do it! So the hand is simply going from one pose at the start to another pose at the end. There is no inbetween right now, but we can use a moving hold to make even this basic movement seem a little more organic:




  • So one way we can start to make a moving hold is by duplicating all the keys of the last pose say 20 or 30 frames later. With spline interpolation, you will get an "overshoot" of the pose, then a small bounce back, we can use this as a starting point for a moving hold, because we are getting a pose "for free" that already includes all the continued movement of the controllers without us having to do much:



  • So if we look at one of the curves in the graph editor, we can see that a good pose to use is the pose at "the top of the curve", just before the curve begins to bounce back. This is the point at which the controller has continued its momentum, but then come to rest. We can now set an inserted key ( setKeyframe -i; ) on all our controllers at this point. This will give us a pretty basic, but passable moving hold - without much work! You can vary how extreme, or how long the moving hold takes by experimenting with where you set that duplicate key ( a duplicate key 5 frames later will produce a different hold to one 50 frames later ). This isn't a great moving hold by any means, but the video below shows how we can very quickly soften that final pose, making it a little more organic. Essentially what we are doing is "easing-in" to a final extreme pose.





  • So as a final example, I worked some better poses and a few inbetweens to this hand gesture. Here is the animation without a moving hold. Notice how when it reaches the final pose it becomes very static and appears pretty lifeless:


  • By using the previous method as a starting point, I created a pose to cushion into, that will create the moving hold. Now the final pose has a little drift, and feels more organic:




A problem with this method:

This technique is great for making holds quickly. If you like to work straight ahead or layered - you may find this pretty useful. If however you like to block all your poses, this technique will fail slightly because you are using a pose that is made for you by the computer. A different way to make a moving hold where you set precisely the pose you want at the end of the moving hold is like this:
  • Set your start pose ( in this example on frame 1 )
  • Set your end pose ( the pose that will be the extreme at the end of the moving hold - say frame 20 )
  • Set an inserted key on all your controllers on frame 17
  • Take the pose on frame 20 and shift it all the way back to frame 40
  • You should now get a gentle drift from frame 17 all the way into frame 40
  • Set your curves to "plateau" on all controllers on frame 40, this should soften the drift a little
  • Experiment with where you set keys ( eg 17 ) and where you move them to ( eg 40 ) for different results.




There are many ways to make moving holds. These are simple quick tricks, and most of the time they work pretty well for me. Moving holds are actually pretty difficult to do well, because getting that soft gentle drift into the extreme pose can involve a lot of tweaking curves. Hopefully these methods will give you something to chew on if you've been wondering about how to do this.

Jan 19, 2007

Quick Trick: Track Those Arcs

OK, so poses are real important, timing is really important, in fact it seems there are 143,311 things that are really important in animation. One of my favourite out of the huge principle pile however is the concept of arcs. More specifically, I mean that practically all movement on your characters should describe a clean and natural arc through 3D space ( or mostly 2D really - unless like me, you work in games ).

To be honest I`ve known about arcs for a while, but only recently have I started to use them. Oh man how important they are. To discuss WHY they're important aesthetically would take all day, so I`m gonna stick to one aspect of their use for now - and thats mainly just keeping a handle on how smooth and dynamic your actions are.

Using a visual arc tool in Maya can really REALLY help you with your motions... during animation, but also afterwards for finding exactly where all those tiny pops and glitches are. The curve can help you see how smooth and 'organic' your motion is, and the spacing between the objects that represent each frame can visually show your spacing which is super useful.


note: don't confuse this with a "path" animation where an object is constrained to that path. The sphere is animated freely, and the curve updates as changes are made to describe the motion through space.

Some very basic examples of using arcs
  • on everything ( arcs don't necessarily have to be smooth curves ! )
  • on walk cycles - see the path of action on the feet , and the ease-in and outs of the foot plants.
  • use a trail on the tip of a character's nose to make sure the head movements are natural and spaced well.
  • on a jump - see the gravity through the spacing, and path of action visually with the trail.
  • keep track of a complex arm movement, by using a trail on the wrist, and another on the elbow.
If you've ever used Maya's motion trail tool before, you probably know its a little suspect. I used 3DStudio Max when I was at Ubisoft, and one thing I did like about the package was it's really fantastic motion trails. So I wrote one for Maya that essentially mimics it exactly - and its also a little more straight forward and visual to use than Maya's own ones.


Trails will update dynamically as you change animation on your object. You can have any number of trails per scene, and even on varying frame ranges of the same object.

You can get it here: cMotionTrail