{"id":7213,"date":"2023-07-08T12:49:57","date_gmt":"2023-07-08T11:49:57","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=7213"},"modified":"2023-09-07T15:48:19","modified_gmt":"2023-09-07T14:48:19","slug":"blending-multiple-textures","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/","title":{"rendered":"Blending Multiple Textures using Vertex Color"},"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-6a15d71b551e1\" 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-6a15d71b551e1\"  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\/blending-multiple-textures\/#prerequisites\" >Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/#basic-blend-material\" >Basic Blend Material<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/#multiple-textures\" >Multiple Textures<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/#mix-color-chain\" >Mix Color Chain<\/a><\/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\/blending-multiple-textures\/#separate-color\" >Separate Color<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/#vertex-paint\" >Vertex Paint<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.katsbits.com\/codex\/blending-multiple-textures\/#blending-normal-other-maps\" >Blending Normal &#038; Other Maps<\/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:\/\/www.youtube.com\/embed\/zbJQVf5H0lg?rel=0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center><\/div>\n<p>Using <b>vertex colours<\/b> (vertex colors) to blend textures and\/or materials is relatively straightforward to set up for <a href=\"https:\/\/www.katsbits.com\/codex\/vertex-color-blending\/\">simple mixes<\/a> that only involving two textures. Where three or four are needed, the material node tree has to be modified to accommodate, and then blend together, each additional image. This is done largely though interlinking <b>Mix Color<\/b> and <b>Separate Color<\/b> nodes.<\/p>\n<blockquote style=\"background-color: #ddecf3; color: #000;\"><p><b>Download<\/b>: <a href=\"https:\/\/www.katsbits.com\/files\/tutorials\/katsbits - vertex blend multiple textures.zip\">Katsbits &#8211; Vertex Blend Multiple Textures<\/a> (c. 500KB | *.blend, *.tga).<\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before material setup, meshes generally need to be fully <a href=\"https:\/\/www.katsbits.com\/codex\/uv-editing\/\">UV unwrapped<\/a> and <a href=\"https:\/\/www.katsbits.com\/codex\/uv-maps\/\">UV mapped<\/a> with respect to how the final mix is to be shown across the objects surfaces. In other words, a UV map of some description is necessary for materials to render on surfaces as well as their being correctly positioned and distributed (for game related content specifically).<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-uv-map.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-uv-map.jpg\" alt=\"UV map\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>For texture blending to work correctly generally, objects need to be fully UV unwrapped and UV mapped.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"basic-blend-material\"><\/span>Basic Blend Material<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For sake of clarity, the blend materials initial state can be to mix two textures together. In <b>Shading Workspace<\/b> (or the Node Editor), and to a standard material (Principled BSDF and Material Output), drop in two <b>Image Texture<\/b> nodes [1] (<b><i>Add \u00bb Texture \u00bb Image Texture<\/i><\/b>) and load in, or create, the images to be mixed together. To these add a <b>Color Attribute<\/b> node [2] (<b><i>Add \u00bb Input \u00bb Color Attribute<\/i><\/b>) and <b>Mix Color<\/b> node [3] (<b><i>Add \u00bb Color \u00bb Mix Color<\/i><\/b>).<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: circa Blender 3.4, <b>MixRGB<\/b> has been relabelled <b>Mix Color<\/b>.<\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: for more on setting up the initial blend material see &#8220;<a href=\"https:\/\/www.katsbits.com\/codex\/vertex-color-blending\/\">Texture Blending using Vertex Colour (Simple)<\/a>&#8220;<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes.jpg\" alt=\"BAsic Node Tree\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Set up a basic &#8216;blend&#8217; material first by adding two <b>Image Texture<\/b> nodes [1], a <b>Color Attribute<\/b> node [2] and a <b>Mix Color<\/b> node [3] (the object will initially appear white indicating a material has been assigned without image data throughput).<\/i><\/p>\n<p>Next, link the nodes together. Connect the <b>Color<\/b> <i>outputs<\/i> from both <b>Image Texture<\/b> nodes, one to the <b>A<\/b> input, the other to the <b>B<\/b> input of <b>Mix Color<\/b> [4];<\/p>\n<p><code>Image Texture #1 | Color \u00bb A | Mix Color<\/code><br \/>\n<code>Image Texture #2 | Color \u00bb B | Mix Color<\/code><\/p>\n<p>Connect the <b>Result<\/b> output from <b>Mix Color<\/b> to <b>Base Color<\/b> of <b>Principled BSDF<\/b> [5];<\/p>\n<p><code>Mix Color | Result \u00bb Base Color | Principled BSDF<\/code><\/p>\n<p>Finally link the <b>Color<\/b> output of the <b>Color Attribute<\/b> node to the <b>Factor<\/b> input of <b>Mix Color<\/b> [6];<\/p>\n<p><code>Color Attribute | Color \u00bb Factor | Mix Color<\/code><\/p>\n<p>If the mesh has been appropriately painted with vertex colour (black or white), the textures referenced in the material will appear blended based on where that colouring has been painted. If the mesh has not yet been vertex painted the image associated with the <b>A<\/b> input of Mix Color will be rendered.<\/p>\n<blockquote><p><b>Design note<\/b>: the inclusion of Principled BSDF accommodates other shader effects; <b>Sheen<\/b>, <b>Metallic<\/b>, <b>Specular<\/b>, etc.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes-connections.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes-connections.jpg\" alt=\"Node connections\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The <b>Mix Color<\/b> node acts as a passthrough for the other nodes where they are mixed or blended together; <b>Image Texture<\/b> nodes connected to the <b>A<\/b> and <b>B<\/b> inputs, <b>Color Attribute<\/b> to <b>Factor<\/b>.<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes-preview.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-nodes-preview.jpg\" alt=\"Basic vertex blended material\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>When nodes are correctly connected, and object vertex colour painted, the images referenced by the material will appear blended together based on where vertex colour has been painted.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"multiple-textures\"><\/span>Multiple Textures<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To blend additional textures, up to four in total using this approach to texture blending, similar to the previous set up described above, drop in the requisite <b>Image Texture<\/b> nodes [7] and load in or generate a corresponding image. For each of these new image nodes add an accompanying <b>Mix Color<\/b> [8];<\/p>\n<blockquote><p><b>Design note<\/b>: if the original <b>Color Attribute<\/b> and\/or the <b>Mix Color<\/b> nodes are still linked through to <b>Principled BSDF<\/b> disconnect them for ease of set up &#8211; the object will render white, again indicating a material assignment absent image throughput.<\/p><\/blockquote>\n<p><code>(<i>Image Texture #1<\/i><\/code><br \/>\n<code><i>Image Texture #2 + Mix Color #1<\/i>)<\/code><br \/>\n<code>Image Texture #3 + Mix Color #2<\/code><br \/>\n<code>Image Texture #4 + Mix Color #3<\/code><\/p>\n<p>Connect the <b>Color<\/b> output for each additional <b>Image Texture<\/b> node to the <b>B<\/b> input of the corresponding <b>Mix Color<\/b> node (object will appear\/remain rendered white);<\/p>\n<p><code>Image Texture #3 | Color \u00bb B | Mix Color #2<\/code><br \/>\n<code>Image Texture #4 | Color \u00bb B | Mix Color #3<\/code><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-extra-textures.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-extra-textures.jpg\" alt=\"Additional images to blend\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-extra-textures-nodes.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-extra-textures-nodes.jpg\" alt=\"Node tree setup\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To blend more than two images, drop in one or two more <b>Image Texture<\/b> nodes [7] and a corresponding <b>Mix Color<\/b> [8] node for each. These need to be linked, <b>Color<\/b> outputs of the former, to <b>B<\/b> inputs of the latter (initial node disconnected and Color Attribute removed for clarity).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"mix-color-chain\"><\/span>Mix Color Chain<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the images are connected to the Mix Color nodes B inputs, link the <b>Result<\/b> output [9] from each <b>Mix Color<\/b> node to the <b>A<\/b> input [10] of the following <b>Mix Color<\/b> node, the last being connected to <b>Base Color<\/b> input of <b>Principled BSDF<\/b> creating a chain between the set;<\/p>\n<p><code>Mix Color #1 | Result \u00bb A | Mix Color #2 | Result \u00bb A | Mix Color #3 | Result \u00bb Base Color | Principled BSDF<\/code><\/p>\n<blockquote><p><b>Design note<\/b>: absent vertex colour painted on the mesh, images will appear uniformly blended as one.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-result-a.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-result-a.jpg\" alt=\"Connecting outputs to inputs\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-result-a-tree.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-result-a-tree.jpg\" alt=\"Node tree of outputs-inputs\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Once the images are set up they need to be linked in a chain through to <b>Principled BSDF<\/b> by connecting each <b>Result<\/b> outputs [9] to the following <b>A<\/b> inputs [10] of the Mix Color nodes.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"separate-color\"><\/span>Separate Color<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With any additional images in place and linked through to their respective Mix Color nodes, add a <b>Separate Color<\/b> node (<b><i>Add \u00bb Converter \u00bb Separate Color<\/i><\/b>). To this, connect <b>Color<\/b> output of the available <b>Color Attribute<\/b> node (add this is not available &#8211; <b><i>Add \u00bb Input \u00bb Color Attribute<\/i><\/b>) to <b>Color<\/b> input of <b>Separate Color<\/b> [11], and set <b>Mode of color processing<\/b> to <b>RGB<\/b> [12];<\/p>\n<p><code>Color Attribute | Color \u00bb Color | Separate Color<\/code><\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: circa Blender 3.4 <b>Separate RGB<\/b> was renamed <b>Separate Color<\/b>.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-separate-color.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-separate-color.jpg\" alt=\"Separate Color node\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To prepare for mixing drop a <b>Separate Color<\/b> node into place and link the <b>Color<\/b> output of <b>Color Attribute<\/b> to its <b>Color<\/b> input [11], then set the &#8216;mode&#8217; to RGB [12].<\/i><\/p>\n<p>Finally, to activate blending, link the <b>Red<\/b>, <b>Green<\/b> and <b>Blue<\/b> outputs [13] of the <b>Separate Color<\/b> node to the <b>Factor<\/b> inputs of the <b>Mix Color<\/b> nodes [14], one R, G or B colour channel per mix node input;<\/p>\n<p><code>Separate Color | Red \u00bb Factor | Mix Color #1<\/code><br \/>\n<code>Separate Color | Green \u00bb Factor | Mix Color #2<\/code><br \/>\n<code>Separate Color | Blue \u00bb Factor | Mix Color #3<\/code><\/p>\n<blockquote><p><b>Design note<\/b>: the Red, Green and Blue outputs can be mixed-and-match to the Factor inputs in any order so long as one channel is linked per node, doing this simply changes how textures are then blended together.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-rgb-factor.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-rgb-factor.jpg\" alt=\"Connecting RGB outputs\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-rgb-factor-tree.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-rgb-factor-tree.jpg\" alt=\"Connecting RGB outputs tree\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To active the blending function of the materials the Separate Color outputs [13] need to be linked to the Factor inputs of the Mix Color nodes [14], one channel per mix node (absent any vertex colours painted to the mesh the first image linked to the A input of the first mix node will be shown).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"vertex-paint\"><\/span>Vertex Paint<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the material is set up Blender initially displays the image associated with the <b>A<\/b> input of first (original) Mix Color node across the entire mesh; no blending is present. <\/p>\n<blockquote><p><b>Design note<\/b>: absent any vertex colour, a <b>Vertex Colors<\/b> or, circa Blender 3.2, a <b>Color Attributes<\/b>) (Object Data Properties) entry, Blender treats the mesh as though its painted <b><i>black<\/i><\/b> until <b>Vertex Paint<\/b> mode is activated, which then treats the mesh as though its painted <b><i>white<\/i><\/b>, changing the image that&#8217;s displayed to that associated with first Mix Color nodes <b>B<\/b> input.<\/p><\/blockquote>\n<p>To blend the available textures switch to <a href=\"https:\/\/www.katsbits.com\/codex\/vertex-painting\/\"><b>Vertex Paint<\/b> mode<\/a>, click the colour sampler [15] and paint <b>black<\/b> or <b>white<\/b> to mix image #1 and #2, and\/or <b>red<\/b>, <b>green<\/b> or <b>blue<\/b> to blend into the mix images #3 and #4 [16] &#8211; wherever a primary colour is painted, the corresponding image will be shown, blending into the surroundings based on the presence of other vertex colours (or not).<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-paint-black.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-paint-black.jpg\" alt=\"Vertex painting black\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Vertex painted <b>black<\/b> the mesh displays only the image associated with the <b>A<\/b> input of initial Mix Color node; painted <b>white<\/b> the image associated with input <b>B<\/b> will be shown&#8230;<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-paint-colour.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-paint-colour.jpg\" alt=\"Vertex painting colours\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>&#8230; and including the primary colours associated with Separate Color node, the materials images can be blended together.<\/i><\/p>\n<p><video poster=\"\" controls=\"controls\" width=\"100%\" height=\"auto\"><source src=\"https:\/\/www.katsbits.com\/media\/vertex-colour-blending-multiple-overview.mp4\" type=\"video\/mp4\" \/><!--<source src=\"https:\/\/www.katsbits.com\/images\/tutorials\/collections\/collection-shortcut.ogg\" type=\"video\/ogg\" \/>\n<source src=\"https:\/\/www.katsbits.com\/images\/tutorials\/collections\/collection-shortcut.webm\" type=\"video\/webm\" \/>--><\/video><br \/>\n<i>Painting a mesh with different vertex colours to blend a number of materials together.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"blending-normal-other-maps\"><\/span>Blending Normal &#038; Other Maps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In instances where other types of image map are needed e.g., Normal, Specular, etc., they have to be blended as separate sub-trees within the overall material before then being connected through the appropriate input channel of Principled BSDF [17]. As Principled BSDF is an &#8216;output&#8217; node and cannot readily be mixed with other Principle BSDF nodes, the additional sub-tree has to be created by dropping in a new set of nodes that replicate the initial structure, but for the new maps, or the image and mix node structure of the original setup can be partially duplicated, images then replaced with, for example, normal maps [18]. This process should then be repeated for each image type needed.<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: when mixing normal maps into a material the <b>Blending Mode<\/b> of each Mix Color node [i] should be set to <b>Overlay<\/b> [ii] rather than <b>Mix<\/b> to ensure the normal maps RGB values are correctly blended with subsequent normal maps (ensure RGB integrity).<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-mode.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-mode.jpg\" alt=\"Mix Color Blending Mode\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Normal maps are a special case for blending as their RGB colouration represent \u2018structural data\u2019 that can be corrupted if non-RGB values are introduced. To avoid this, set the <b>Blending Mode<\/b> [1] filter to <b>Overlay<\/b> [ii].<\/i><\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: generally speaking, normal maps need to be accompanied by a <b>Normal Map<\/b> node. Ordinarily while this can be used to increase or reduce the intensity of the normal maps effect, they may also affect the overall material depending on where they are linked into the node tree, before (as A\/B input) or after (as Result output) the Mix Color node.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-normal-map-group.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-normal-map-group.jpg\" alt=\"Blending Normal Maps\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Blending a normal map node-(sub)group [17] through the <b>Normal<\/b> input of Principled BDF<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-normal-maps.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/vertex-blending\/multiple-blending-normal-maps.jpg\" alt=\"Blending Normal Maps node-tree\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Blending a normal map node-(sub)group [17] through the <b>Normal<\/b> input of Principled BDF<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":7256,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,32,230],"tags":[986,957,958,843,172,985,984,983,844,956,908,907],"class_list":["post-7213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-texturing","category-tutorials","tag-blending-mode","tag-color-attribute","tag-mix-color","tag-mixrgb","tag-normal-map","tag-overlay","tag-separate-color","tag-separate-rgb","tag-texture-blending","tag-vertex-blending","tag-vertex-color","tag-vertex-paint"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7213","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=7213"}],"version-history":[{"count":50,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7213\/revisions"}],"predecessor-version":[{"id":7269,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7213\/revisions\/7269"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/7256"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=7213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=7213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=7213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}