Forum Moderators: nerd Forum Coordinators: nerd, Digitell
Poser 12 F.A.Q (Last Updated: 2025 Dec 29 5:28 pm)
Welcome to the Poser Forums! Need help with these versions, advice on upgrading? Etc...you've arrived at the right place!
Looking for Poser Tutorials? Find those HERE
I really think this is pointless because Poser 12 will not see any further updates. You would be better off upgrading to Poser 13 and developing scripts for Python 3. In addition, new nodes have been introduced into Poser 13 that do not exist in Poser 12, and I suspect we will see a few more in Poser 14.
hborre posted at 8:56 AM Sat, 1 November 2025 - #4501090
Unfortunately money's currently a real issue for me. I even only have Poser 12 through a very good HumbleBundle deal. I will try to finish the script for my own usage. And wait with Poser 13 until there is a really steep deal. Only have a GTX 1050ti on a 2007 based DELL Workstation with two guadcore XEONS @ 3Ghz and 36GB DDR2 RAM. It sort of still runs. I'm on the tightest of budgets and work with what I have... (Already solved the initial question by the way; I gave ChatGPT a link to the P12 manual on the Bondware website)I really think this is pointless because Poser 12 will not see any further updates. You would be better off upgrading to Poser 13 and developing scripts for Python 3. In addition, new nodes have been introduced into Poser 13 that do not exist in Poser 12, and I suspect we will see a few more in Poser 14.
I'm late, but hopefully not too late.
Some time ago, I wrote a set of Python functions that can be used as a “lib.” Among other things, it includes the function “copy_material_to_actor,” which may be helpful for your project.
You pass a loaded material and an “actor” as the recipient to the function, and the rest happens automatically.
For example:
# mat2copy = the material to be copied
# recv_actor = the actor that should receive the material.
# mat_name = the name the copied material should have in the recipient.
copy_material_to_actor(mat2copy, recv_actor, mat_name)
That's it. Now just save the modified actor (or character).
The functions in the lib build on each other. You could delete the ones that follow a function you have used.
I'll post the source code in the Python forum (where it was already posted, but I can't find the post anymore).
This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.
I have an idea for a python script for Poser 12+, but cannot program or write code to save my life.
So I am feeding ideas into ChatGPT. Hoping something useful will come out of it.
I am tapping into the basic idea of EZSkin, meaning adding shaders while keeping the original textures.
I just want to add shaders to existing older props and sets. With presets for lots of materials. Not replacing the older textures, but adding shader trees to the original textures. I am thinking of ceramics, wet floors, dusty floors, dirty tires, wrinkly paper, wet mud, etc.
Guess I'll call it 'Add a Shader'
If I can get it to work (and that's a VERY big IF), I'll probably release it as Public Domain.
For the time being, ChatGTP cannot even open a GUI without crashing Poser.
What are we doing wrong?
Are there any manuals on Poser 12+ Python?
Here's the test code for opening a python GUI
# TestGUI.py -- Minimal Poser wx window test
import poser, wx
class SimpleDialog(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Poser GUI Test", size=(240,120))
panel = wx.Panel(self)
close_btn = wx.Button(panel, label="Close", pos=(80,35), size=(80,30))
close_btn.Bind(wx.EVT_BUTTON, self.on_close)
def on_close(self, event):
self.Destroy()
def main():
app = wx.App(False)
dlg = SimpleDialog()
dlg.Show()
app.MainLoop()
if __name__ == "__main__":
main()