{"id":12718,"date":"2019-12-22T20:23:27","date_gmt":"2019-12-22T20:23:27","guid":{"rendered":"https:\/\/www.jurn.link\/dazposer\/?p=12718"},"modified":"2019-12-22T20:23:27","modified_gmt":"2019-12-22T20:23:27","slug":"the-power-of-the-_id","status":"publish","type":"post","link":"https:\/\/jurn.link\/dazposer\/index.php\/2019\/12\/22\/the-power-of-the-_id\/","title":{"rendered":"The power of the _ID"},"content":{"rendered":"<p>I found an interesting PoserPython script by ParrotDolphin for Poser&#8217;s Material Room. When run it <a href=\"https:\/\/www.renderosity.com\/mod\/freestuff\/?item_id=71053\">auto-changes the Diffuse colour of a material to a new semi-random colour<\/a>.<\/p>\n<p>My interest in the script comes from&#8230;<\/p>\n<p><strong>i)<\/strong> &#8230; its semi-&#8220;MatCap&#8221; nature. It intelligently looks at the current Diffuse colour, and tries to make an auto-replacement that <em>somewhat matches<\/em> the original colour&#8217;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&#8217;s Comic Book mode.  The new Diffuse colour would be somewhat close to the original material colour.<\/p>\n<p>and <\/p>\n<p><strong>ii)<\/strong> &#8230; I&#8217;m thinking that the script might be further adapted.  So as to work <em>en-masse<\/em> 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 &#8216;bright green&#8217;&#8230;<\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/toonid.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/toonid.jpg\" alt=\"\" width=\"259\" height=\"45\" class=\"alignnone size-full wp-image-12719\" \/><\/a><\/p>\n<p>This change does not affect how the scene looks, but it does get the user a proper &#8220;Clown Pass&#8221; when using Firefly&#8217;s Toon_ID render option&#8230;  <\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/toonid-find.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/toonid-find.jpg\" alt=\"\" width=\"486\" height=\"354\" class=\"alignnone size-full wp-image-12720\" \/><\/a><\/p>\n<p>Here&#8217;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&#8230;<\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/partial.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/partial.jpg\" alt=\"\" width=\"400\" height=\"360\" class=\"alignnone size-full wp-image-12721\" \/><\/a><\/p>\n<p>One can see how such a pass might be useful in Photoshop.  While there are scripts that can speedily <a href=\"https:\/\/www.jurn.link\/dazposer\/?p=12508\">render a mask for every character and prop<\/a>, what we have here is a way to mask areas <em>within<\/em> the character or prop.<\/p>\n<p>But at present Poser&#8217;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&#8217;s ID&#8217;s appear to be somewhat &#8220;grouped&#8221; 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&#8217;s &#8220;Change Colour&#8230;&#8221; and &#8220;Paintbucket&#8221; tools to quickly colour under their Ink-lines layer, and who automate this process via Actions.  (At present they might use the paid-for <a href=\"https:\/\/www.renderosity.com\/marketplace\/products\/88874?AID=4737\">XS &#8211; Extended Shader Manager<\/a> 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&#8217;s contents).<\/p>\n<p>and <\/p>\n<p><strong>iii)<\/strong> &#8230; the script is interesting because it shows how to set up, call and apply the poorly documented and little-used &#8220;random number&#8221; feature in PoserPython.  Though I can&#8217;t figure out how one might plug this &#8220;random&#8221; into a script such as <a href=\"https:\/\/sharecg.com\/v\/93175\/view\/11\/Poser\/Poser-script-to-pick-colour-and-assign-to-ToonID\">Pick colour &#038; assign to ToonID<\/a>, 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 &#8216;readable&#8217; to the eye.  But making such changes is way beyond me.  Perhaps someone else might care to have a go?<\/p>\n<hr>\n<p><strong>Update:<\/strong> SnarlyGribbly&#8217;s free <a href=\"http:\/\/snarlygribbly.org\/poser\/?LMCL=dhekS2\">EZmat<\/a> has a &#8220;Randomizer&#8221; 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 &#8220;dummy copy&#8221; 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&#8230;<\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/random.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/random.jpg\" alt=\"\" width=\"620\" height=\"859\" class=\"alignnone size-full wp-image-12748\" \/><\/a><\/p>\n<p>The script has no &#8220;apply to whole scene&#8221;, though a &#8220;Strip Scene Materials to Clay&#8221; script does.  One wonders if the two scripts could be combined into what would effectively be a ToonID randomiser for Preview renders?<\/p>\n<p><strong>Testing &#8220;Randomizer&#8221; seems to show a small problem with EZmat in Poser 11.2.x:<\/strong> to load it for a <em>saved<\/em> Poser scene, its panel first needs to be opened briefly on an <em>unsaved<\/em> Poser scene.  After that it will load fine on saved scenes, but will otherwise refuse to fully do so.<\/p>\n<hr>\n<p><strong>Update:<\/strong> <a href=\"https:\/\/www.jurn.link\/dazposer\/?p=12759\">I&#8217;ve now successfully coded a scene-wide ToonID randomising script for Poser 11<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I found an interesting PoserPython script by ParrotDolphin for Poser&#8217;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&#8230; i) &#8230; its semi-&#8220;MatCap&#8221; nature. It intelligently looks at the current Diffuse colour, and tries to make an auto-replacement that somewhat [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,11,3],"tags":[],"class_list":["post-12718","post","type-post","status-publish","format-standard","hentry","category-automation","category-comics","category-poser"],"_links":{"self":[{"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/posts\/12718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/comments?post=12718"}],"version-history":[{"count":0,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/posts\/12718\/revisions"}],"wp:attachment":[{"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/media?parent=12718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/categories?post=12718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/tags?post=12718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}