Since 2000 and the first release of the Poser 4 Pro pack, Python scripts have allowed Poser users to automate and customize their experience.
Python scripts in Poser are useful additions. They can automate the boring stuff that you need to do, but also make things possible that are not directly doable in Poser. For example, Python scripts can convert materials to MAT poses or vice versa, delete lights, quickly switch cameras and more.
Poser 12 will include Python 3.7.9 to continue the customization and automation it allows. Poser's dev team has worked to implement Python 3 into Poser 12, the Windows version of which will be available to Early Access customers in the first week of November. The Mac version of Poser 12 will be released in early December.
The dev team is also working on a way to easily download, install and protect Python scripts that are purchased from the Renderosity Marketplace. We are also looking for vendor partners to create new scripts for Poser 12.
One of the most prolific Python scriptwriter SnarlyGribbly has been working to rewrite his scripts to Python 3. His scripts are used widely because they can automate tedious processes and even improve renders immeasurably.
"I have written many scripts over time, but there are a few that are more well-known than the others," SnarlyGribbly said. "Some were designed for older versions of Poser, of course, but that is all the more relevant with the advent of Poser 12 and Python 3."
Since it was first implemented, Python has gone through different iterations. Currently, Poser 11 supports Python 2.7, but the program's end-of-life date was initially set at 2015 then postponed to 2020 out of concern that a large body of existing code could not easily be forward-ported to Python 3.
Python 3 uses mostly the same language has previous versions, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been reorganized in a few prominent places. This means Python 3 is not wholly compatible with Python 2 scripts.
For Poser 11 and earlier, SnarlyGribbly's most popular ones are:
• EZSkin 3: This replaces the shaders in the material room with new ones that enhance the appearance of skin (and other body features). "Of course, Poser is primarily concerned with figures so it isn't surprising that this script is very much in demand," he said.
• EZDome: This creates two domes that enclose a Poser scene, providing a backdrop and a source of light for the scene. A scene looks better when there is the semblance of a world all around it, and this script does just that.
• EZMat: This is an all-purpose material room tool that can use plug-ins to enhance its functionality. It's like EZSkin, but it replaces the shaders in materials. It is more general purpose than EZSkin and can make all kinds of materials – water, brick, latex, etc. – depending on what there is a plugin for.
• The Snow Machine: Covers your Poser scene with a layer of realistic snow.
• SceneFixer: This older script is still used a lot, even though it is not really supposed to work in recent versions of Poser. Still, it is used to fix lots of common problems with scenes.
You can find these scripts for Poser 11 on SnarlyGribbly's website.
SnarlyGribbly is currently working on updating EZSkin and EZDome to Python 3. Both are well on the way to working in Poser 12, and are undergoing final testing, he said.
"There are still some issues to be resolved, so nothing is guaranteed yet, but I'm hopeful that these scripts will be available for free on the day Poser 12 is released," SnarlyGribbly said.
He has hope that he can convert other popular scripts after these two are ready. "But there are several unknowns at the moment. Initial experiments in converting have looked promising, but there are still some issues to be resolved," he said.
SnarlyGribbly has even bigger plans in the works for completing a new version of EZSkin and other "goodies."
"But there's still lot of work to be done," he said.