Well I've been tinkering away for a while with this and wanted to push a test version out with the new PoseSaver implemented. At the moment the UI is pretty basic, just a textScroll with some RMB menuItems but as I get more into this I'll do the usual icon support etc that everybody expects from a PoseSaver.
So what's different about this one? Well like the rest of the Animation UI this one runs off the Hierarchy filters, so from the selected root the hierarchy's are filtered and that result passed onto the poseSaver. The active filter (whats in the Hierarchy tab) is also stored internally in the PoseFile so the code uses the filter as it was when stored to reload the data. Maybe as an option I let you over-ride this? Also lets you load on selected nodes rather than passing through the filter if you only want to load the pose to certain controllers.
As with everything this is namespace independent, the short name of the nodes are used as a key in the pose dict (although the long path is used for the compare). I also store the index of the items in the hierarchy so that in the future you'll be able to map on index rather than name.
Finally something that I'm working on is the ability to load the pose IN-PLACE. Currently like most pose savers the data is loaded as it was stored so the pose will load in the same space as before. Now this is great, but what if you wanted to load that pose when the character is halfway up the stairs? So in the next version hopefully you'll be able to select a reference node (something you know is in the posefile) and the code will apply the offset between where that node is now, and where it was stored to the rest of the data. Basically shifting it in world space on the fly.
Anyway, all comments welcomed as usual. If you'd like to get involved drop me a mail
For the latest version go to the Download page and grab v1.2
Red
OOpps, I messed up in the first release of v1.2, missed out one of the packages required. All fixed now and the download on gooogle docs has been patched.
ReplyDelete