Forum: Poser Python Scripting


Subject: Moving morphs between different figures

Cage opened this issue on Dec 20, 2006 · 1232 posts


Spanki posted Fri, 14 March 2008 at 1:26 AM

Actually, I'd have to re-aquaint myself with the python scripts, but I don't think we're actually working with the entire figure mesh data at one time, just the head verts/polys (for example), if that's the current mesh being matched against.

I did look at Pyrex the other day and may look at it again - I don't recall off-hand why I moved on to other possibilities, except that I was doing somewhat of a shotgun scan of the web, looking up various things about creating a .dll/.pyd file and ended up somewhere else :).

IIRC, Poser 7 comes with NumPy (or at least Numeric), so that's one option.  We tried that earlier on though and didn't see any great gains, but it's worth another look.

At this point, I don't want to do anything with the existing code - until I've had more time to investigate things (Numeric, NumPy, some form of dedicated .pyd, etc).  And that can be done with simple test-scripts.

ADP, I also agree with you about not doing tons of .dll calls, as that kinda defeats the purpose (too much overhead), but I'm not sure a stand-alone app is the way to go either.  If the .dll can provide high enough level functionality (doing the entire linecast_loop(), for example, along with some other utility functions and possibly new data type(s)), that might be the best approach.

My Cinema4D C++ plugin is several orders of magnitude faster (using similar orders of magnitude less memory) at doing this than the current python code, so I know it can be done faster - we just need to figure out the data access.

Cinema4D Plugins (Home of Riptide, Riptide Pro, Undertow, Morph Mill, KyamaSlide and I/Ogre plugins) Poser products Freelance Modelling, Poser Rigging, UV-mapping work for hire.