Characterization workflow and Nonlinear Animation Using Animation Clips in the Trax EditorClips:

What and Why?

What is this all about?
It’s about non-linear animation, creating blocks of animations for an entire “character” these blocks are called clips.

Why would I used it?
Okay, before we begin, the question for us all should be “Is this a viable workflow?”  and the answer is a reluctant “yes but…”   The problem with using characters and animation clips is the same thing that is wrong with using any Autodesk feature (my opinion) and that is that they are buggy.  In Autodesk’s ridiculous model of constantly introducing a ton of new features with every annual release they have gotten into a terrible mess where they are spread too thin and nothing is thoroughly tested or fixed before the next feature is brought forward.  This essentially means their entire product remains in beta forever.  When I first started using animation clips I was really happy with them but as I have come to learn the idiosyncrasies of using clips I have found some serious problems with them.  Disappointingly in the last 5+ years that I have been implementing animation clips into my workflow Autodesk has done nothing to improve any element of this process.  That being said, I do use them, and at this point I think I use them more because I have so much time invested into using them that it would be a more of a hassle to back out and use a referencing method (which is probably just a buggy but for different reasons).  I will note where I have found these bugs and how to avoid them.

At any rate, the following is what I have learned about using the Autodesk Maya characterization and Animation Clip or “Non-Linear Animation” workflow.

Definitions:

Animation clips are stretches of animation that can contain multiple channels of animation on multiple objects as long as those objects are part of the same Character Set.

What does this mean for your workflow?  Animation clips are a way to store animations, unpack and edit those animations and iterate those animations.  Using clips is a giant time saver for a number of reasons, but suffice it to say that without them you would have to resort to recreating animations again and again every time you use an asset.

Clips are asset centric, which is to say that the animation can be done at the asset level and retained in the asset file as it is referenced into another scene or what have you.  With clips animation is a drag and drop operation that can be easily moved, scaled, duplicated looped or deleted as a whole rather than trying to edit each individual channel or each animated object.

Poses are still frames of positions for the character that can be dropped into the trax editor as a sort of single frame clip, or a pose can be applied to the character without it appearing in the editor (this is great for the rigging process because if you can’t get back to the bind pose or need to get your objects back to a neutral pose).

Character sets are groupings of multiple animation channels into a single selectable node.  A character appears in the outliner as node with a little man.  A character set can be as large or small as you like and may contain subsets called subcharacter sets.

Subcharacter sets are nested character sets.  They allow you to do something like have facial expressions in a different subclip than the body movements or something like that.  I have never found them useful, and in fact they can get in the way by creating an extra layer in the trax editor that interferes with drag and drop operations.  They can be visually confusing and they just require more time.  If you don’t have a very specific reason to use them that you know will be necessary then don’t them.

Menus of the nonlinear animation workflow:

The Control menu (as of 2016) contains all of the menu items you will need to setup your character.

Character Set Creation:

You create the characterization by selecting the animated object, selecting the attributes in the channel box that you want included in the character set and then under the character menu select Create Character Set options box and make sure that you have From Channel Box checked under the attributes tab.

Once the character set has been created you may select it in the Outliner.  It will appear at the bottom of the list and be designated with a little orange man.  If you select it you will now see all of the attributes that you have assigned to the character set appear in the channel box.

To add more attributes to the character set you can select the character set in the outliner, select the attributes of the animated object and add them using the menu  Control–> Add to character set.

Character sets are very flexible, you can create them at virtually any time, you may already have animation on the objects that you are creating the character set from.  You may have not even created the other things that you want in the character set yet, no matter, you can add and subtract to the character set at any time.  The one caveat to this is that you can’t create a clip in the file a character set is referenced into from a character node that has been created after it has been referenced.  To be safe, create the character set prior to any referencing.

 

Issues you may not be used to:

Once the channel is in the character set, it turns yellow, so if you are used to seeing that orange background for keyed channels it is sort of irritating.  Same thing for expressions or set driven keys, the color of the channel is now yellow no matter what you do to the channel.  However, if you select the character node all of the attributes that are keyed will show up as orange.  As another side note, the character set interferes with expressions loading in the expressions window for attributes in the character set (unless you are a rigger you probably won’t run into this but I thought I would mention it, to get at those expressions you will have to select by name.  If you are a rigger go ahead and be pissed, you have every reason to be.  BTW start naming your expressions.)
Clips and Poses:

There are two types of animation types in nonlinear animation, Clips and Poses.  Clips are sections of animation and Poses are stills.

Poses are very useful when rigging something complex particularly when using IK handles because as you probably know you can break a rig and wig out your joints and deformers and possibly not be able to get back to normal.  If you have created a pose you can simply apply it to the rig and it will usually go back to normal.  Poses are also useful if you have different positions that you have your object in that you know you will need to use again and again as a base (think idle pose that has to look the same in every start position (BTW, key everything in a pose as anything not keyed will of course not update when the pose is used).

Clips are at the center of nonlinear animation.  They can be placed into the trax editor and positioned anywhere in the timeline, scaled to remap time, blended into other clips, grouped with other clips and deleted all nondestructively.

To create a clip or pose you simply select the character or subcharacter set and under the animation menu select Create Clip options box.  I usually do the animation by curve and uncheck leave keys in timeline, put clip in trax editor and visor.  You will now have a source clip and an instance of that source clip which I will just call a clip.

Source clips and regular clips

Source clips are the original clips that you will see in your visor. Clips are the instances of that source clip that you will see represented as a bar in the trax editor.

Editing the Source Clip:

Warning!
Don’t ever, ever edit the source clip directly.  Autodesk thinks you can do this and if you read the documentation you will assume you can but you are asking for a hopelessly broken rig if you do so.  Although Autodesk claims that you can activate the keys and edit the source animation directly while it remains active in the trax editor I have had a number of situations where that method has broken my rig.  Oddly not every time and I can’t say exactly what triggers it, but at some point in tweaking the clip the rig will stop responding correctly.  All poses, clips, even return to stance (in the case of HIK) fail to fix the problem.  Deleting the clip even optimizing the scene will not fix it.  The only thing you can do is return to your last best saved file and proceed from there.

To safely make edits to clips you will copy the curves, make edits and then recreate the source clip.  Once the clip is in the trax editor you can hover over the clip and (rmb) activate clip.  The clip turns purple and the keys appear in the timeline and graph editor, delete the clip from the trax editor, this keeps your keys in your timeline but breaks the connection to the source clip.  You can tweak the curves, add keys, whatever and then go into the visor, delete the old clip and create a new one to replace it.  This will create problems too, but they are manageable.  Deleting a clip does not delete the curves that were associated with that clip.  So after a few dozen edits to your clips your scene will start to get unnecessarily heavy.  You will want to optimize your scene but beware when optimizing.  Any clips not currently in the trax editor will be deleted!  To shield your clips from deletion place them in the trax editor then optimize.

 

Working with clips or poses

-The first stumbling block you will encounter when working with the trax editor is having the character loaded and what that even means.  This is possibly the worst software design Autodesk/Alias has ever done and that is saying something.  Undoubtedly this is where 90% of people who have ever tried to work with the trax just say “fuck this” and never go back.   And who could blame them because it is the most unintuitive thing ever.

Autodesk will tell you to load your character by having the character selected and hitting the icon of the little man with the arrow down over a spacebar symbol.  Or you could go to the menu item List–> Load Selected Characters.

Once you have done that then you are supposed to be able to load clips by going Library–> Insert Clip… but there are no clips…

You might think: “I swear I created that clip, hold on, yep, it’s in the visor, how do I get the clip in?  I must have missed a step, I’ll check the documentation… well Autodesk’s documentation on this is really sparse… Well I guess I’ll just give up and never use the trax editor again…”  Yeah, most people would do that and reasonably so.

Unfuckingbeliveably In order to place a clip in the Trax editor from the trax editor menu via Library–>Insert Clip/Insert Pose you can’t have your character loaded.  Yes, that’s right and totally unintuitive.  Deselect your character and hit the little load character button (btw that’s how you unload a character… by hitting the load character button… with no character set selected). But hold on!  It gets more confusing.  Because there is another way of getting clips into the trax editor and that is by MMD a clip into the trax editor… but that does require that the character be loaded…  AHHHHHHHHRRRGGGG!

At any rate, if you happen to not have your character loaded then use the menu, if it is loaded then use the visor.

-poses can be applied (right click mouse over clip in visor) or dropped into the trax editor (middle mouse drag into trax editor), applied means that you just force the rig into position, but as soon as you move the timeline it will go back to whatever it was doing.  If you drop it in the trax editor it will become part of the animation for that scene.

-IMPORTANT by default clips maintain offset which means that wherever the object leaves off from the previous clip it will pick up from on the next clip.  Disable this by (rmb) Make Clip Absolute.

-Clips can be blended so that there is a smooth transition between the ending clip and the beginning clip, select both clips and (rmb)

-Clips can be scaled in a number of ways, dragging the lower number on the clip from either side will scale the animation or changing the middle % number will scale as well.

-You can scale and move multiple clips by selecting them one by one and dragging the box icons triangle will scale and circle with move.

-Clips can be cut by using the cut tool or changing the upper number.

-Clips on top of one another are additive, I don’t know why you would want to do this, but that’s what happens

-You can set actual keys on the object while a clip is also controlling the movement of the object, maya also treats this as additive and I don’t know why you would want to do this either

-If you drag a clip from the visor onto a character in the Trax Editor and it doesn’t bring in any of the subcharacter animation, use “library” in the Trax Editor menu and “insert clip”  for some reason that is more reliable than drag and drop.

Referencing Clips

A bit buggy, not going to lie, but it does work.  As mentioned before, creating a clip in the file you are referencing the asset into will throw errors if you had not created the character set prior to referencing.  Another issue you may run into is a subtle shift in the asset’s animation when referencing in the asset and placing the clip in the file you are referencing into.  This is not tragic.  If you see this, you will need to un-reference and re-reference the object (reloading the reference doesn’t work, it has to be removed and re-referenced).  Occasionally the clips won’t load with the referenced file, use the same fix.

Constraints

Although you can constrain an object that is effected by a clip I wouldn’t recommend it.  It’s pretty buggy.  If you try it there is a blend attribute that should be assigned to the object for the character set.  Blend this off as you blend the constraint on and it should work but it probably won’t.  I would recommend that in your rig for the animated object that you create a null above the control that you want to constrain and constrain that null instead of the actual object that has the clip animation on it.

Rigging for nonlinear animation:

In this case and in most cases the animation of the object is about the same, but the position is the thing that is changing.  So we want to create an intelligent rig to accommodate a shift in position but maintain the animation of the device.  In this case we can accomplish this by creating a top position control that will control for getting the object in the appropriate position and then the actual animation of the object can exist beneath that.

 

 

Problems with clips:

As clips reside in your asset scene file they can start to make the file very heavy.

I edit clips by activating them then breaking the connection to the source clip by deleting the clip in the trax editor.  This leaves all of the curves in the graph editor but leaves the source clip unaffected.  I complete my edits and then save a new copy of the clip deleting the old one, however:

Deleting a clip does not delete the curves that were associated with that clip.  So after a few dozen edits to your clips your scene will start to get unnecessarily heavy.  You will want to optimize your scene but:

Beware when optimizing!  Any clips not currently in the trax editor will be deleted!  To shield your clips from deletion place them in the trax editor then optimize.

You cannot activate a clip or pose if there are any keys in the timeline for the character.  This sucks because you will frequently have times where you have done some animation and you would like to make sure that it aligns with another clip but you will have to plan ahead for that sort of thing and activate the next clip down the timeline then animate up to it.  Ha, yeah I know, BULLSHIT!  But hold on, it gets worse.

You may have thought it would be nice to be able to take two clips and put them end to end to make sure things line up and then activate both of them, nope! One clip at a time and then once curves are in the timeline you can’t activate any further clips.  But wait, you can merge clips right?

Yep and you know how maya does it?  By baking every frame!  That’s right! So merging clips is totally fucking useless. The only possible reason why you would want to merge clips is so that you could edit them as a whole but since there is a key on every frame of every channel you can’t use it, it might as well not exist.

After creating and deleting and recreating a number of clips you may end up with the following error:
// Error: file: C:/Program Files/Autodesk/Maya2016.5/scripts/others/doCreateClipArgList.mel line 181: Cannot convert data of type string to type string[].

As near as I can tell this is because maya is finding a duplicate string name somewhere and it is failing to name something in the clip making process which will end up erasing all of your keys but not creating the source clip.  Hope you backed up before trying to make that clip!  BTW always save a copy before you try to make a clip.

Try running this in the script editor:

cmds.clearCache(all = True)

If that fails try this:

Place all of your clips in the Trax editor, MMD from visor is the fastest and then optimize the scene, make sure you are deleting unused animation curves.  If you don’t have the clips in the Trax it will erase all of your clips too, so that step is pretty important.  Then remove all of the clips from the trax editor and then select everything in your scene and export it.  Open that new file, try to create the clip and it should work now.

If none of that works you’re fucked!

All information here applies to Maya 2016 or previous versions.