{"id":6704,"date":"2017-05-02T12:06:42","date_gmt":"2017-05-02T12:06:42","guid":{"rendered":"https:\/\/www.jurn.link\/dazposer\/?p=6704"},"modified":"2017-05-02T12:06:42","modified_gmt":"2017-05-02T12:06:42","slug":"wanted-a-poser-11-script-for-quickly-applying-a-colour-adaptive-toon-material-to-all-selected-surfaces","status":"publish","type":"post","link":"https:\/\/jurn.link\/dazposer\/index.php\/2017\/05\/02\/wanted-a-poser-11-script-for-quickly-applying-a-colour-adaptive-toon-material-to-all-selected-surfaces\/","title":{"rendered":"Wanted: a Poser 11 script for quickly applying a colour-adaptive toon material to all selected surfaces"},"content":{"rendered":"<p>There appears to be a need for a Poser script to quickly apply a colour-adaptive toon material to all surfaces.<\/p>\n<p>There are of course several automated material-replacer Poser scripts, which can work <em>en-masse<\/em>.  For instance, you pick one material .mt5 and then apply it to all your selected materials on a character or prop. Simple script panels such as <a href=\"http:\/\/hivewire3d.com\/transfer-material.html\">Transfer Material<\/a> will do single textures, and <a href=\"https:\/\/www.renderosity.com\/marketplace\/products\/88874\/?AID=4737\">XS Shader Manager<\/a> (looks old, but it still works fine in Poser 11.2) will do much more. <a href=\"https:\/\/www.renderosity.com\/marketplace\/products\/116453\/?AID=4737\">MATWriter Panel<\/a> lets you save a MAT file preset once you have everything applied.<\/p>\n<p>But with Poser 11&#8217;s new Comic Book mode, what we now need is a script which does such a replacement, but&#8230; which first reads the base colour in the material to be replaced, and then automatically adjusts the colour of the newly applied material accordingly.<\/p>\n<p>For instance: I want to replace all materials on a prop with a neutral two-tone toon material.  Where the new material replaces a red material, its colour will be automatically switched to more-or-less the same red colour as it replaces.<\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/adaptive.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/adaptive.png\" alt=\"\" width=\"928\" height=\"739\" class=\"alignnone size-full wp-image-6705\" \/><\/a><\/p>\n<p>I&#8217;m not sure if this is possible.  The script would presumably need to&#8230;<\/p>\n<p>1. Look at the material&#8217;s base bitmap, and any colour shading that was being applied on top of that.<\/p>\n<p>2. Then output a &#8216;best guess&#8217; at a suitable replacement output colour. <\/p>\n<p>3. Then adjust the duo-tone toon material&#8217;s colour ramp accordingly.<\/p>\n<p>Having such a script would speed up the process of toon material replacement across a large scene, for use with the Comic Book mode in Poser 11.<\/p>\n<p>One can of course &#8216;burn off&#8217; much of the prop&#8217;s 3D material colour, when using the Comic Book mode (see below).  But even when at optimal burn-off, it&#8217;s still sometimes not ideal&#8230;  <\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/texture.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/texture.jpg\" alt=\"\" width=\"300\" height=\"138\" class=\"alignnone size-medium wp-image-6706\" \/><\/a><\/p>\n<p>Which is why such a script would be useful.  It would be like the old llanimeall.py script, but intended to quickly optimise all materials to work with Poser 11&#8217;s  Comic Book preview mode.<\/p>\n<p><em>Update: in the animation industry such things are apparently called Matcap (MAT capture) shaders.<\/em><\/p>\n<hr>\n<p>Incidentally, I found that the old <strong>llanimeall.py<\/strong> Anime script is still available via the <a href=\"https:\/\/web.archive.org\/web\/20150810192824\/http:\/\/3danimestudio.com\/update-to-llanimeall-script-to-cel-shade-everything\/\">WayBack Machine<\/a>.  It&#8217;s been overtaken by the Poser 11 Comic Book mode, but some users may still want it for something.  For Poser 11 the script goes into C:\\Program Files\\Smith Micro\\Poser 11\\Runtime\\Python\\poserScripts\\ScriptsMenu where I have a FavoriteScripts\\Toon Shaders folder.<\/p>\n<p>I sort-of got the script working again, at least on some test shoes, by pasting the whole \/runtime\/ folder (found in the .zip) underneath that&#8230;<\/p>\n<p><a href=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/anime.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.jurn.link\/dazposer\/oldimages\/anime.jpg\" alt=\"\" width=\"300\" height=\"124\" class=\"alignnone size-medium wp-image-6707\" \/><\/a><\/p>\n<p>But it gives multiple error-messages, and is obviously unable to do the vital mat-cap bit.  The script only ever worked on Poser 10 (not 2014, which was the Pro version of 10), and I&#8217;ve never heard of anyone but the maker Digitani who was able to actually make his script work.<\/p>\n<p>But even if you don&#8217;t want the script, the LLToon.mt5 and LLAnime.mt5 materials may be useful to study, and can presumably be applied <em>en-masse<\/em> using one of the scripts linked at the top of this blog post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There appears to be a need for a Poser script to quickly apply a colour-adaptive toon material to all surfaces. There are of course several automated material-replacer Poser scripts, which can work en-masse. For instance, you pick one material .mt5 and then apply it to all your selected materials on a character or prop. Simple [&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-6704","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\/6704","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=6704"}],"version-history":[{"count":0,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/posts\/6704\/revisions"}],"wp:attachment":[{"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/media?parent=6704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/categories?post=6704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jurn.link\/dazposer\/index.php\/wp-json\/wp\/v2\/tags?post=6704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}