Forum: Poser Python Scripting


Subject: PoseSave - a script for saving poses

Ajax opened this issue on Aug 26, 2003 ยท 8 posts


Ajax posted Tue, 26 August 2003 at 7:40 AM

This is a script that saves poses. What's so special about that? Well this one will save poses for ERC enabled figures such as EasyPose figures. Because of some deficiencies in the way Curious Labs implemented the Poser Python methods, I had to use an ugly workaround, but in most cases you'll get usable poses with this. Read the doco at the top of the script for details. The script will also make placement poses, morph setting poses and scaling poses, so it can save you some time if you need to do those things. The Poses get saved to your top Pose directory. Later I may add some code to let you choose which directory you want to save in. Thanks to Ockham for all his help getting my head around Python and also to Lourdes whose morph pose script I used as an example to help me understand the approach to take. TO USE THE SCRIPT: Download the text file and rename it to PoseSave.py It needs to be added to an appropriate directory in RuntimePython and then you'll have to add it to your Python button window manually. Consult your Poser manual if you don't know how. I've only tested the script in Poser 5. I don't know if it works under Pro Pack.


View Ajax's Gallery - View Ajax's Freestuff - View Ajax's Store - Send Ajax a message


Netherworks posted Mon, 18 April 2005 at 6:07 PM

Wonderful! How did I miss this?

.


nickedshield posted Fri, 29 July 2005 at 7:43 PM

Thank you!!!! I just ran across this and it does exactly what I need. Works fine under Propack btw.

I must remember to remember what it was I had to remember.


infinity10 posted Fri, 29 July 2005 at 10:41 PM

Thanks ! I am very new at using Py scripts. Do I re-save with .py file extension ?

Eternal Hobbyist

 


nickedshield posted Fri, 29 July 2005 at 11:35 PM

Yes you do.

I must remember to remember what it was I had to remember.


an0malaus posted Thu, 11 August 2005 at 3:37 PM

@Ajax & others interested in saving poses with dial values without ERC influence, you might be interested in this python code fragment below from my own script for saving BODY and actor pose information. This doesn't require zeroing ERC channels in the saved pose files. def DialAndDelta(Morph): #print Morph.Name(), val1 = Morph.Value() # read value #print val1, Morph.SetValue(val1) # set same value val2 = Morph.Value() # get new value #print val2, delta = val2 - val1 # find FBM or JCM delta influence #print delta, val0 = val1 - delta # find original parameter dial value for this actor #print val0 Morph.SetValue(val0) # reset to original value return (val0, delta) Cheers, GeoffIX



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus posted Thu, 11 August 2005 at 3:48 PM

Hmm, just looking at my code again, it struck me that though DialAndDelta would successfully extract ERC influences applied via the valueOpDeltaAdd/deltaAddDelta # method, it might not work as expected for valueOpTimes, valueOpDivideBy and valueOpDivideInto operators since they are non-linear and DialAndDelta uses simple linear regression math... Given that over 90% of the ERC I've seen from others and written myself uses valueOpDeltaAdd exclusively, that's probably not an issue, but I thought it worth noting. Returning a raw channel setting (dial value) is still definitely a method eF needs to provide for Poser Python to account for the non-linear operators.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


Ajax posted Thu, 11 August 2005 at 6:29 PM

Wow! Thanks gwhicks! I'm kicking myself for not having thought of that. What a simple and elegant way of handling the problem. I agree, almost all the ERC out there uses the deltaAddDelta approach, so this would work for almost everything.


View Ajax's Gallery - View Ajax's Freestuff - View Ajax's Store - Send Ajax a message