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


Iestyn said...

This is by far one of the best things I've seen! I've been searching for ages trying to find this sort of thing in maya. A freind told me that this was built-in in Max, but nothing of the likes seems to be in Maya. Excellent stuff, thanks a lot!

Cameron Fielding said...

Hey thanks.

Iestyn said...

Hey, I've managed to have a quick playabout with this awsome script when I got in today, just a quick question - Is it possible to adjust the Sphere's at all, and then this would adjust the actual position of the e.g. hand in the actual animation? For example - Say I've animated the hand, and I select the Controller for that hand, run the script and it shows me every key frame of that hand in the view port - say at frame 10 the hand doesn't follow the arc is should, is it possible at all to select the little sphere that's on frame 10, adjust it a little bit by pushing it up or down, and then this would then automatically move the keyframe that was on frame 10, to the new spot?

Cameron Fielding said...

no, unfortunatley this isn't possible and here's why:

If the hand you used in your example was at the end of an FK chain, then how would the script know how to pose the forearm and the upper-arm to the right place so your hand would match the position that you wanted by moving the sphere ?

Thats also a simple example, imagine if your hand was at the end of a much more complex rig. The majority of the time an object's "pose" in space is made up of an inherited transform from multiple controllers that effect that final pose and would be mpossible to calculate using a script.

It is possible somewhat to do what you mentioned - but only with objects that do actually operate in world space ( like a bouncing ball, or a simple IK handle ) - but unfortunatley animation usually extends much further than these basic scenarios, so its not worth creating a script for that.

anyway - good suggestion, but sorry .

Iestyn said...

Hey Cam - good point, I understand now why this wouldent work, and as you said, it would work fine for a bouncing ball or something like that.

But in saying that, I'm not sure if the Max version does enable you to do this to a certain extent - I was talking to a freind about it many moons ago now, and he said that it is a feature in Max, and he was shocked it's not in Maya.

Thanks for the info man.

Smith said...

Brilliant! I just downloaded this today to work on my thesis, and already it's saved me about two hours' worth of migraines. Well done.

Anonymous said...


Great script but i have some problems.
Does this script work with maya 8.5?


Cameron Fielding said...

- yeah it works in 8.5

what problems are you having ?

Anonymous said...

I've been looking for a script that would create a trail from the motion of the object, and then the trail's keyframes can be edited to edit the animation right in the perspective or orthographic views. Kind of like the Graph Editor in 3D view. I don't know if this is what "iestyn" was asking and you commented it can't be done. But if it can... imagine the possibilities. Adjusting 3D animation like this I feel would be quite valuable.

Will said...

Thanks so much!
I'm sure this will greatly speed up my animating process

Anonymous said...

Hi Cameron, great script!! but i also have some problems in Maya 8.5 with trail update. I just move the object i´m trailing and key it to its new position but path doesn´t updates... how can it be fixed? or the are any known problems?!! I also tried with a simple poly sphere moving it and keying some positions, create the motion trail, then updating pos and keying again, but nothing happens with the trail :(... the strange thing is that i´ve seen it working in another machine but don´t know nothing about maya version or anything else about that machine. Maybe exists some prerequisites to scriptJobs work fine???!!

hope i was clear in the explanation... thx. nacho.

Anonymous said...

Hi Nacho again!!

Sorry Cameron i´ve just wrote a comment about the motion trails that doesn´t update in Maya 8.5 but i found the way to make it happen!!! Once you key the new position the trails doesn´t updates until you move the target object to any place (without keying) and then undoing that moving. It´s just like moving it "triggers" some event to update de trail!!!! Again: it´s a great great script :)!!!!

THX!!! nacho.

Cameron Fielding said...

hey Nach0 -

thanks for the feedback. Not sure what the problem is on your end.. I have had the motionTrails running on 8.5 through a whole production and never seen this problem. It MAY be something to do with autokey ... I always have autokey on.. but i dont think this would make a difference really.

nacho said...

Hi Cameron, it´s about autokeying or not.. i´ve just test it and with autkey works fine, but keying manually you have to do the workaround i mentioned before...

bye and thx again!! nacho.

Josef said...

Great tool, just one question though, how do I make the spheres solid?


Cameron Fielding said...

Hi Josef,

Theres not a quick way to do this but you can do it manually. Just expand the motiontrail group from the outliner, select all the spheres, the go into the "All" tab of the attribute spreadSheet and set "override shading" to on.

hope that helps.

Muzza said...

Hi Cameron you have created a great script here, and thanks heaps for sharing. I just want to make a suggestion that if you were ever to revisit this wonderful script would there be anyway to create a drawing over ride for just the inital keys so that they be easily identified in the perspective view.

Scheppi said...

ok I think I´ve found a SOLUTION for the UPDATE PROBLEM. If you scale you animation the scripts has problems with these keys between "full frames" i.e. frame 32.243
so simply snap them to the next "full frame". in my example frame 32 and the problem is done. hope this helps and thx cameron for this great tool.

der Scheppi

Toni Buenavida said...

hey! it's very good tool for maya animators :D!



Anonymous said...

good shared fliponline.blogspot.com

isaac said...

i want the script the page on the link expired. I cant find it. I've been wanting something like this for ages!