A friend recently lost all of his animation on a referenced character rig. The file still opens without Maya complaining, but the keys just went missing. A quick check of the .ma in a text editor confirmed that the animCurve nodes were still present.
Feeling adventurous, I fired up notepad++ and did a text comparison of a working file containing the same referenced rig and the problematic file. Sure enough, the animCurve nodes seem to be connected to the wrong .phl (placeHolderList) of the reference file, or were not connected at all. While searching for the definition of placeHolderList’s in hopes of manually re-wire them up, I came across this CGSociety thread at http://forums.cgsociety.org/archive/index.php/t-990314.html.
Interestingly, the thread ranked top when I googled for “maya 2011 placeHolderList” was actually a discussion on ‘Animation gone with referenced rigs’. A post by Mark Jackson linked to his blog on a possible solution. His Python script attempts to reconnect the orphaned animCurves back to the proper attributes of the selected characterSets. It worked like a charm.
A small caveat though is that the animation curves are only connected at runtime, the actual connection doesn’t seem to be written when saving the file. To work around this, copy your keys from the corrupted characterSet to a newly referenced one and you’re ready to go.
To do the actual copying, I initially tried the dkAnim script which people have been recommending but didn’t get it to work. I then loaded the animImportExport plugin that came with Maya 2011 and that did the trick.
Mark Jackson’s post: