{"id":9607,"date":"2025-01-28T11:11:23","date_gmt":"2025-01-28T11:11:23","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=9607"},"modified":"2025-12-26T10:46:39","modified_gmt":"2025-12-26T10:46:39","slug":"gimp-paint-hair-texture","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/","title":{"rendered":"GIMP &#8211; Paint A Hair Texture"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a0e6cd083b6e\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a0e6cd083b6e\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/#description\" >Description<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/#seamless-texture-tiling\" >Seamless Texture Tiling<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/#offset-layerimage\" >Offset Layer\/Image<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/#image-layers\" >Image Layers<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.katsbits.com\/codex\/gimp-paint-hair-texture\/#timestamps\" >Timestamps<\/a><\/li><\/ul><\/nav><\/div>\n<div style=\"background-color: black; position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0; overflow: hidden; max-width: 100%;\"><center><iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" src=\"https:\/\/rumble.com\/embed\/v6cfd4v\/?pub=d3lcu\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center><\/div>\n<p><!-- div style=\"background-color: black; position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0; overflow: hidden; max-width: 100%;\"><center><iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" src=\"https:\/\/www.youtube.com\/embed\/J5pjMrH43JU?rel=0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center><\/div -->\n<h3><span class=\"ez-toc-section\" id=\"description\"><\/span>Description<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In this exercise we take a look at painting a simple custom hair texture asset using GIMP image editor. For this, all that&#8217;s needed is a brush that can paint lines or a linear pattern that in-turn can be colour or tonally tinted. For greater flexibility the texture can be painted in grey-scale and\/or different aspects of it painted to their own layer to accommodate subtle adjustments without having the repaint or paint over existing areas.<\/p>\n<p><b>Duration<\/b>: total c. 25 mins (00:25:00).<br \/>\n<b>Info<\/b>: 1080p.<br \/>\n<b>Suitability<\/b>: Beginner+.<br \/>\n<b>Source<\/b>: <a href=\"https:\/\/www.katsbits.com\/files\/gimp\/katsbits - hair texture GIMP.zip\">KatsBits \u2013 Hair Texture GIMP<\/a> (c. 2 MB | *.xcf, *.png).<br \/>\n<b>Product ID<\/b>: n\/a.<\/p>\n<blockquote><p><strong>Design note<\/strong>: some additional considerations to keep in mind painting hair textures using GIMP;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"seamless-texture-tiling\"><\/span>Seamless Texture Tiling<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Typically hair textures do not need to tile or repeat, especially as they often have strategically placed highlights that might look odd or appear incorrectly or inappropriately positioned on the mesh. With this said however, if a texture does need to tile, GIMP provides a tool specifically for this purpose, <strong>Tile Seamless<\/strong>. <\/p>\n<p>To use, select a specific image Layer [1], <strong>Merge<\/strong> or <strong>Flatten<\/strong> the image. Then from the main <strong>Filters<\/strong> menu click <strong>Map<\/strong> then select <strong>Tile Seamless&#8230;<\/strong> [2] from the available options &#8211; <strong><em>Filters \u00bb Map \u00bb Tile Seamless&#8230;<\/em><\/strong>. The <strong>Tile Seamless<\/strong> dialogue will appear [3]. Change any settings as needed then click <strong>OK<\/strong> to complete the process.<\/p>\n<div style=\"background-color: #dedede; color: #000; width: 98.5%; padding: 1.0em;\"><strong>Aside<\/strong>: the seamless tiling filter can be applied to the entire image once flattened &#8211; <strong><em>Image \u00bb Flatten Image<\/em><\/strong>, or merged &#8211; <strong><em>Image \u00bb Merge Visible Layers&#8230;<\/em><\/strong> (or <span class=\"shortcutkey\">Ctrl<\/span> + <span class=\"shortcutkey\">M<\/span>), or to individual layers.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-tile-seamless.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-tile-seamless.jpg\" alt=\"Using GIMP Tile Seamless\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Applied to flatten images or individual layers [1], GIMPs <strong>Tile Seamless<\/strong> [2] filter [3] can be used to tile an image so it repeats cleanly.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"offset-layerimage\"><\/span>Offset Layer\/Image<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>If textures need to be tiled this can be tested in GIMP using <strong>Offset<\/strong>. Here, various values can be used, defined as pixels (px) or percentages (%) of an image, for example a 512 x 512 pixel image can be shifted 50% on the X and\/or Y axes by typing &#8220;<strong>256<\/strong>&#8221; if &#8216;<strong>px<\/strong>&#8216; is being used, or by typing &#8220;<strong>50<\/strong>&#8221; if &#8216;<strong>%<\/strong>&#8216;.<\/p>\n<p>To use Image Offset, select the individual layer or merged\/flattened image, then from the main <strong>Layer<\/strong> menu click <strong>Transform<\/strong>, select <strong>Offset&#8230;<\/strong> [4] from the available options &#8211; <strong><em>Layer \u00bb Transform \u00bb Offset&#8230;<\/em><\/strong>. In the <strong>Offset Layer<\/strong> [5] dialogue that appears, set the amount of <strong>Offset<\/strong> on the <strong>X<\/strong> and\/or <strong>Y<\/strong> axes required depending unit type, i.e. &#8220;<strong>256<\/strong>&#8221; for <strong>px<\/strong>, &#8220;<strong>50<\/strong>&#8221; for <strong>%<\/strong>. Once done, click <strong>OK<\/strong> to complete the process.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-image-offset.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-image-offset.jpg\" alt=\"Image Offset in GIMP\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Using <strong>Offset Layer<\/strong> [4], texture tiling can be tested by shifting an image or layer by a fixed amount [5] to see if any tiling artefacts or issues appear in the image.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"image-layers\"><\/span>Image Layers<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Wherever possible when texture painting in GIMP, preference should be to paint different tones or colours to\/on their own layer [6] that can then be modified independently of other layers, for example, painted to separate layers, darker tones can be adjusted to reduce overall contrast without then need to alter brushes, settings that have to be remember should subsequent editing be required.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-hair-layers.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gimp\/gimp-hair-layers.jpg\" alt=\"Image Layers in GIMP\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>When painting textures preference should be given to using layers [6] so each tone or colour can be adjusted without affecting others.<\/i><\/p>\n<\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"timestamps\"><\/span>Timestamps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Times are approximate;<br \/>\n &#8211; 00:00 : Overview &#038; Setup<br \/>\n &#8211; 01:30 : Painting &#038; Layers<br \/>\n &#8211; 07:00 : Colour &#038; Blend Mode<br \/>\n &#8211; 08:30 : Highlights<br \/>\n &#8211; 12:30 : Seamless Tiling<br \/>\n &#8211; 15:00 : Offset Image<br \/>\n &#8211; 19:00 : Layers &#038; Export<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":9613,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[938,32,230],"tags":[455,936,739,688,386,194,371,1018,1017,746],"class_list":["post-9607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gimpeditor","category-texturing","category-tutorials","tag-bitmap","tag-filters","tag-gimp","tag-hair","tag-image-texture","tag-imvu","tag-layers","tag-offset","tag-png","tag-texture-painting"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/comments?post=9607"}],"version-history":[{"count":14,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9607\/revisions"}],"predecessor-version":[{"id":10201,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9607\/revisions\/10201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/9613"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=9607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=9607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=9607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}