{"id":3009,"date":"2010-02-27T07:00:15","date_gmt":"2010-02-27T05:00:15","guid":{"rendered":"http:\/\/4eyes.code66.se\/?p=3009"},"modified":"2012-03-05T10:44:22","modified_gmt":"2012-03-05T08:44:22","slug":"making-a-dungeon-door-filter-in-filterforge-2","status":"publish","type":"post","link":"http:\/\/4eyes.code66.se\/?p=3009","title":{"rendered":"Making a dungeon door filter in FilterForge 2"},"content":{"rendered":"<p>Today, and a few days ahead, we&#8217;re gonna make a FilterForge filter from scratch, that can be used to render doors for the maps. I&#8217;ve been using door by <a href=\"http:\/\/www.greytale.com\/\" target=\"_blank\">greytale&#8217;s nook <\/a> for a log time, but they are getting old and worn, so I needed new doors. I used one of greytale&#8217;s doors as a model for the filter, as something to aim for.<\/p>\n<p>This is the door I used as a model:<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.dundjinni.com\/forums\/uploads\/greytale\/CF8_door1_gt.png\" alt=\"\" \/><\/p>\n<p><!--more-->So, start up <a href=\"http:\/\/www.filterforge.com\/?affiliateid=200100725\" target=\"_blank\">FilterForge<\/a> 2 beta (<em>if you have FilterForge 1, you should apply for a FF2 beta key, it is well worth it, trust me<\/em>).<\/p>\n<p>The doors will be wooden doors (at least this version of the filter, iron doors will come later, maybe).<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3017\" title=\"dd1-01\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-01.jpg\" alt=\"\" width=\"450\" height=\"292\" \/><\/a><\/p>\n<p>First, we create a color generator for generating a start color for the wood. We use Remapping in the sliders so we will stay within good boundaries for a wood color. We use slider to set the Hue, Lightness and Saturation parameters of the <strong>Assemble HL<\/strong><strong>S<\/strong> component.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3016\" title=\"dd1-02\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-02.jpg\" alt=\"\" width=\"238\" height=\"254\" \/><\/p>\n<p>Now we feed the color we just generated as the <em>Base Color<\/em> for a <strong>Noise Gradient<\/strong>, which is a control that generate a random gradient based on the color you feed as base color, and the H-, L- and S- range settings.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3015\" title=\"dd1-03\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-03.jpg\" alt=\"\" width=\"314\" height=\"340\" \/><\/a><\/p>\n<p>This is how the <strong>Noise Gradient <\/strong>is set up.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3014\" title=\"dd1-04\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-04.jpg\" alt=\"\" width=\"243\" height=\"240\" \/><\/p>\n<p>We now create a <strong>Perlin Noise<\/strong> component, the fastest of the noises to use, and set it up to generate wood like stretched lines. We have an input for the <em>Roughness<\/em> parameter<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3013\" title=\"dd1-05\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-05.jpg\" alt=\"\" width=\"309\" height=\"321\" \/><\/a><\/p>\n<p>This is the setup of the <strong>Noise Gradient<\/strong>. As you can see, Scale is not very high, but stretch is.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-06.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3012\" title=\"dd1-06\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-06.jpg\" alt=\"\" width=\"216\" height=\"159\" \/><\/a><\/p>\n<p>Now we create an <strong>E<\/strong><strong>levation Gradient<\/strong> component, and connect the output from the <strong>Noise Gradient<\/strong> to the <em>Gradient Input<\/em>, and the output from the <strong>Perlin Noise<\/strong> to the <em>Elevation Input<\/em>. As you can see, we got a wood like structure already.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-07.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3011\" title=\"dd1-07\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/02\/dd1-07.jpg\" alt=\"\" width=\"450\" height=\"360\" \/><\/a><\/p>\n<p>Now, we need some ring to this, so we take the Wood start color we made, and feed it into two different<strong> Hue \/ Saturation<\/strong> modifier components. One set to make a lighter hue, and one to make a darker hue.<\/p>\n<p>We then feed the outputs into a <strong>Switch<\/strong> component, which we control by a <strong>Checkbox<\/strong> (<em>Dark Rings<\/em>). This way we can select dark or light right by switching the checkbox.<\/p>\n<p><a title=\"Next episode\" href=\"http:\/\/4eyes.code66.se\/?p=3020\">Tomorrow<\/a>, we will finalize the wood generator part of the dungeon door filter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, and a few days ahead, we&#8217;re gonna make a FilterForge filter from scratch, that can be used to render doors for the maps. I&#8217;ve been using door by greytale&#8217;s nook for a log time, but they are getting old and worn, so I needed new doors. I used one of greytale&#8217;s doors as a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8],"tags":[13],"class_list":["post-3009","post","type-post","status-publish","format-standard","hentry","category-mapmaking","category-tools-of-the-trade","tag-filterforge"],"_links":{"self":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/3009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3009"}],"version-history":[{"count":4,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/3009\/revisions"}],"predecessor-version":[{"id":7259,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/3009\/revisions\/7259"}],"wp:attachment":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3009"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}