MAYA - Connect Animation Tool


Sometimes in a production environment I have found that procedures were either not followed or not even established in the first place. Many times I have found a lack of a good technical supervision, which ended up leading to many problems further down the line.

Some of the issues I have found in the Animation industry using Maya are:
  • Referenced animation rigs with prefixes instead of namespaces.
  • Wrong distribution of the DAG hierachy.
  • Redundant keyframes
  • Parent constraints that over-complicate an animation.
  • No compatible rig versions for a very same prop.
  • Undesired reference edits in animation files (like shaders/textures overwrites).
Many times reimporting a brand new copy a referenced rig was the quickest solution. For making this task faster and less painful I have put together a bunch of scripts I wrote in the past and re-implemented them in a tool using PySide2 in Maya. The main point of the tool is to transfer animations between referenced rigs.

The tool is fully dockable and remembers position and data between sessions for a given user.
In this video I show how it works. I have already proven it in a production environment and it works nicely, but there is still room for improvement.

For two given referenced rigs, this tool redirects the animation curves from one rig into the other, having in the end both with the same keyframes.

I have added additional options like:
  • Bake: this bakes the animation curves before transferring them, this allows to have parent constraints in the input rig without passing them into the output rig.
  • Color feedback: it will tell you which controls are compatible.
  • It automatically creates a key at the firt frame of a given control if it has no keyframes at all (for when someone forgets to add a key but yet modifies any transformation value).
  • Optimize: deletes reduntant keys, for when several keyframes in a row have the same value (like after baking an animation). This can take a long time for big scenes with complex animations, so I will have to refactor the script.
  • Use long name: sometimes two same maya objects have the same short name due to a bad workflow with namespaces and DAG. This allows to overcome this issue.
  • It automatically bypasses whether the input/output have a prefix isntead of a namespace. The tool will just detect it and make the necesary string manipulation to copy the animation.
  • It has a progress bar which allows the user to cancel the process by pressing the Cancel button.
This was a great practice for me to learn the PySide2 library and extend some of its classes.

Kind regards,

Season 4 of Talking Tom and Friends Finale is here!!

We have finally launched the last episode for this season! I am very happy to be working with such an amazing team with people coming...