I found an interesting PoserPython script by ParrotDolphin for Poser’s Material Room. When run it auto-changes the Diffuse colour of a material to a new semi-random colour.
My interest in the script comes from…
i) … its semi-“MatCap” nature. It intelligently looks at the current Diffuse colour, and tries to make an auto-replacement that somewhat matches the original colour’s black-to-white brightness range. One can thus imagine a tweaked version of this script which is even more clever about its colour matching, while also disconnecting existing materials. The result might then be a good quick starting-point for tooning up a character, for rendering with Poser’s Comic Book mode. The new Diffuse colour would be somewhat close to the original material colour.
and
ii) … I’m thinking that the script might be further adapted. So as to work en-masse on the Toon_ID (aka ToonID) rather than the Diffuse. Thus automatically randomising Toon_ID colours across the whole scene in Poser. For example here we see the ToonID for a material set to the colour-code for ‘bright green’…
This change does not affect how the scene looks, but it does get the user a proper “Clown Pass” when using Firefly’s Toon_ID render option…
Here’s my quick partial emulation of a Clown Pass with unique ToonIDs, done manually to show readers a visual example of what you might expect to get…
One can see how such a pass might be useful in Photoshop. While there are scripts that can speedily render a mask for every character and prop, what we have here is a way to mask areas within the character or prop.
But at present Poser’s ToonID pass gives it in very muted blues for some reason, and the user thus needs to drastically tweak levels in Photoshop to get something useful for making selections of parts of your picture in Photoshop. Even then, the render’s ID’s appear to be somewhat “grouped” and not perfect. A full-strength Clown Pass, by contrast would make for easier selection of even small material zones. This may also be useful for comics makers who use Photoshop’s “Change Colour…” and “Paintbucket” tools to quickly colour under their Ink-lines layer, and who automate this process via Actions. (At present they might use the paid-for XS – Extended Shader Manager to mass-change Toon_ID colours in Poser, but this is done in the plugin via manual selection from a tree that shows the scene’s contents).
and
iii) … the script is interesting because it shows how to set up, call and apply the poorly documented and little-used “random number” feature in PoserPython. Though I can’t figure out how one might plug this “random” into a script such as Pick colour & assign to ToonID, which offers a simple Windows colour-picker for changing this colour value. One would hope to change the script to work across the scene, semi auto-randomising all the Toon_IDs and thus to make a full Clown Pass that is still ‘readable’ to the eye. But making such changes is way beyond me. Perhaps someone else might care to have a go?
Update: SnarlyGribbly’s free EZmat has a “Randomizer” script which randomises the Diffuse value of a figure or prop, with a certain level of body-symmetry retained (see below). Obviously this needs to be applied to each figure and prop in a scene separately, and also to a saved “dummy copy” of the scene for safety. But one could then output a Preview render, and thus get what is effectively a Clown Pass without needing to go to a more time-consuming Firefly render…
The script has no “apply to whole scene”, though a “Strip Scene Materials to Clay” script does. One wonders if the two scripts could be combined into what would effectively be a ToonID randomiser for Preview renders?
Testing “Randomizer” seems to show a small problem with EZmat in Poser 11.2.x: to load it for a saved Poser scene, its panel first needs to be opened briefly on an unsaved Poser scene. After that it will load fine on saved scenes, but will otherwise refuse to fully do so.
Update: I’ve now successfully coded a scene-wide ToonID randomising script for Poser 11.