Hi all!,
animLayers python command is pretty bad in general. Docs are wrong, for most of the params. I sent suggestions to Autodesk. They normally fix it... but it's annoying.
I want to find the animation curves for an node. If it happens to be inside an anim layer... the party starts:
The problem is I only have these options:
A) mc.animLayer( layer, animCurves=True, q=1)
B) mc.animLayer( [object], affectedLayers=True, q=1)
C) mc.animLayer( layer, blendNodes=True, q=1)
A) Returns ALL THE ANIM CURVES for ALL CHANNELS for ALL OBJECTS in the scene. (???? insane). They can be thousands of strings.
B) It returns which layers the object is in.
NOTE: the docs don't tell you about that list... weird.
C) Gets the blending nodes FOR ALL CHANNELS for ALL OBJECTS in that layer. These ones connect the animations and the original node. They can be hundreds.
So that's all I have...
Crazy stuff. I get a list of 5000 strings. And we all know how fast strings are. And considering how python manages memory in terms of growing lists and then deleting the contents...
And I have to do that... for every object I have.
I'll end up using my stupid algorithm that travels through the blend nodes to find the animations... which is obviously buggy, too, and has special cases everywhere.
Any ideas?