Hello, I just had some questions about the NLA Action API.
Specifically, I ran into some problems when writing the animation exporter for Neverblender. You can check out nwnmdlexport.py and lib/Animation.py to see what I’ve done so far. Sorry, not very well commented. Not had time to touch the code much I left the code a few weeks ago to wait for 2.34, but looks like 2.34 doesn’t help much.
The idea is simple: I need to get orientation and position lists, all along the Action timeline, on keyframes (either based on constant intervals or possibly based on the keyframes on Action).
Anyway, I have this problem: I can figure out what Actions are there in the scene. I can figure out what IPO channels are there in an Action (getAllChannelIpos()).
But how do I find out what objects are animated in Actions, and how?
I get a dictionary of Ipos keyed by Action channel names, which may or may not correspond to Armature Bone names. I can get IpoCurves out of the Ipo, but their names aren’t related in anyway to objects themselves.
I can build a list of Objects in the scene, and the only information I can get from them is that they’re linked to the Armature! The objects are supposed to be linked to individual Bones. How do I get which Bone the Object is linked to - or the other way around? (Armature Bone only knows its children and parent.)
I have this terribly stupid idea of doing this the big, stupid inelegant way - linking the Action, stepping through it and recording each and every object’s location over the course of the animation. Is this the only way to do this?