{"id":1157,"date":"2019-04-09T07:34:28","date_gmt":"2019-04-09T06:34:28","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=1157"},"modified":"2023-09-07T15:54:17","modified_gmt":"2023-09-07T14:54:17","slug":"old","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/old\/","title":{"rendered":"Opening old .blend files (missing images)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 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-69f75f6253eee\" 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-69f75f6253eee\"  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\/old\/#material-compatibility\" >Material Compatibility<\/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\/old\/#missing-textures\" >Missing Textures<\/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\/old\/#use-nodes-convert-to%e2%80%a6\" >Use Nodes ( Convert to&#8230;)<\/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\/old\/#shading-workspacenode-editor\" >Shading Workspace\/Node Editor<\/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\/old\/#transparency\" >Transparency<\/a><\/li><\/ul><\/nav><\/div>\n<p>For newer versions of Blender opening old projects may result in content appearing untextured in the 3D View, a consequence of dropped support for <b>Blender Render<\/b> and <b>Multitexture<\/b> style materials in favour of the Node system established with Cycles &#8211; Nodes are now the primary means of generating Materials in Blender. <\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: when opening older *.blend files (pre Blender 2.79), disable <b>Load UI<\/b> (&#8216;cog&#8217; icon upper-right corner of the file browser) to omit layout and interface elements that may cause further issues due to UI incompatibilities with newer versions of the application.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-load-ui.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-load-ui.jpg\" alt=\"Disable Load UI when opening an old blend file\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To ensure compatibility with newer versions of Blender, when opening old *.blend files disable the <b>Load UI<\/b> setting in File Properties (<span class=\"shortcutkey\">N<\/span>)<\/i>.<\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"material-compatibility\"><\/span>Material Compatibility<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With the removal of Blender Render (<a href=\"https:\/\/www.katsbits.com\/codex\/blender-basics\/\">Blender Internal<\/a>) as the default rendering engine, and updates to the <a href=\"https:\/\/www.katsbits.com\/codex\/material-basics\/\">Node based material system<\/a> (Eevee etc.), *.blend files and projects created pre Blender 2.79 will appear untextured (but not necessarily absent material assignments) because the older material system and its Multitexture Shading mode are no longer supported. Essentially all that&#8217;s shown is the Diffuse colour associated with each Material (white by default) &#8211; meshes and objects may be coloured but not textured.<\/p>\n<blockquote><p><b>Design note<\/b>: for more on setting up <a href=\"https:\/\/www.katsbits.com\/codex\/material-basics\/\">basic node-based materials click here<\/a>.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-multitexture.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-multitexture.jpg\" alt=\"Materials in Blender 2.79 or below generally display without scene lighting &#038; other complexities\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials.jpg\" alt=\"Missing materials from old *.blend projects\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Old *.blend files (pre Blender 2.79, top) when open into newer versions of Blender (bottom) will appear untextured because the Multitexture and Blender Render systems are not supported or compatible with Nodes, requiring they be updated.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"missing-textures\"><\/span>Missing Textures<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>When opening or using <a href=\"https:\/\/www.katsbits.com\/codex\/imvu-append\/\">Append<\/a> to bring in data from old *.blend projects that have <a href=\"https:\/\/www.katsbits.com\/tutorials\/blender\/chair-medieval.php#textures\">Materials<\/a> set up correctly [1] with an <i>Image<\/i> property that includes an internal or external reference to a bitmap [2] (*.jpg, *.png etc. or generated data e.g. UVGrid), the associated assets will generally have been loaded along with other data contained in the *.blend file, but not referenced or linked due to differences between the new and old Material system. To fix this the relationships between the Materials elements need to be rebuilt using the Nodes system. This is done in <b>Shading Workspace<\/b> using the <b>Node Editor<\/b>.<\/p>\n<blockquote><p><b>Design note<\/b>: currently there isn&#8217;t a way to convert older non-node based Materials to the new automatically, so the process will have to be done manually.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-image-asset.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-image-asset.jpg\" alt=\"Although textures are not shown they are loaded with the old *.blend file data\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Although images are not shown when opening old *.blend files into Blender [1] they are loaded [2]. This means they are available for use in reestablishing the projects Materials using the Node system.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"use-nodes-convert-to%e2%80%a6\"><\/span>Use Nodes ( Convert to&#8230;)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To convert or update a Material, select a mesh or object with existing Material assignment(s), then in <b>Material Properties<\/b> [3] click the <b>Use Nodes<\/b> button [4] (which turns blue to confirm). The panel will update with a new set of options that can be left untouched for simple materials.<\/p>\n<blockquote><p><b>Design note<\/b>: meshes and objects assigned the modified material will display <b>white<\/b> (in Material Preview) indicating an Image property has been found but not yet linked (although typically mapped to the objects UV&#8217;s), or in instances where no image or link found (effectively an incomplete or broken material), will appear <b>pink<\/b>.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-use-nodes.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-use-nodes.jpg\" alt=\"Enable 'Use Nodes' in Material properties\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To start the conversion process in <b>Material Properties<\/b> [3] make sure <b>Use Nodes<\/b> is enabled [4]. The properties shown in the panel will update commensurate using Nodes (the properties shown are similar in functions to the old material system but more distinct).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"shading-workspacenode-editor\"><\/span>Shading Workspace\/Node Editor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once Nodes are active click <a href=\"https:\/\/www.katsbits.com\/codex\/material-basics\/\">Shading Workspace<\/a> [5] to access the <b>Node Editor<\/b> (lower half of the layout). Here the editors workspace will be occupied by two node; <a href=\"https:\/\/www.katsbits.com\/codex\/principled-bsdf\/\">Principle BSDF<\/a> [6] and <b>Material Output<\/b> [7].<\/p>\n<blockquote><p><b>Design note<\/b>: <b>Principle BSDF<\/b> and <b>Material Output<\/b> are placed by default as basic material elements. They can be removed or modified as required.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-shading-workspace.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-shading-workspace.jpg\" alt=\"Using the Node Editor to modify broken materials\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>In Shading Workspace [5] the Node Editor is accessible, alongside the 3D View, where a node-based material [6 &#038; 7] can be set up using the basic properties brought in with the old file.<\/i><\/p>\n<p>To this basic set up, in the <b>Node Editor<\/b> click the <b>Add<\/b> menu [8], <b>Texture<\/b>, then <b>Image Texture<\/b>  to place an <b>Image Texture<\/b> node into the workspace &#8211; <i><b>Add \u00bb Texture \u00bb Image Texture<\/b><\/i> [9]. Then in the new node click the <b>Browse Image to be linked<\/b> button [10] and select the image [11], brought in with the old *.blend file, from the list. This creates an association between image and node.<\/p>\n<blockquote><p><b>Design note<\/b>: when looking for the image it may not be labelled as expected i.e. the file name, but may instead be named after the datablock used to describe the image (this equates to the naming input field for Image properties in Blender 2.79 et al).<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-add-texture.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-add-texture.jpg\" alt=\"Add a Image Texture node to the Node-tree\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-image-texture-node.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-images-image-texture-node.jpg\" alt=\"Set the image associated with the node\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Add an <b>Image Texture<\/b> node to the material [8 &#038; 9] and then select the image to be associated with it [10] selecting the bitmap from those brought in with the old *.blend file [11].<\/i><\/p>\n<p>Finally click-drag the <b>Color<\/b> <i>output<\/i> [12] of the Image Texture node across to the <b>Base Color<\/b> <i>input<\/i> [12] of Principled BSDF. As soon as this is done the image will appear mapped to the selected object.<\/p>\n<blockquote><p><b>Design note<\/b>: the image will be displayed assuming the object is UV unwrapped and image mapped (<a href=\"https:\/\/www.katsbits.com\/codex\/uv-editing\/\">UV Editing Workspace<\/a>).<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-node-links.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-node-links.jpg\" alt=\"Link nodes to complete the material\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Once an image has been associated with the <b>Image Texture<\/b> node it can be linked to Principled BSDF &#8211; <b>Color<\/b> output [12] of Image Texture to <b>Base Color<\/b> input [13] of Principled BSDF.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"transparency\"><\/span>Transparency<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/transparency\/\">Transparent materials<\/a> similar issues may occur; that assets are loaded or can be appended but not assembled requiring a similar setup to the above. To do this, with Use Nodes enabled and the basic material set up per the above, add two extra nodes, <b>Transparent BSDF<\/b> [14] &#8211; <b><i>Add \u00bb Shader \u00bb Transparent BSDF<\/i><\/b>, and <b>Mix Shader<\/b> [15] &#8211; <b><i>Add \u00bb Shader \u00bb Mix Shader<\/i><\/b>. Connect the nodes as follows (see below);<\/p>\n<p>&#8211; Image Texture \u00bb Principled BSDF &#8211; <b>Color<\/b> output to <b>Base Color<\/b> input.<br \/>\n&#8211; Image Texture \u00bb Mix Shader &#8211; <b>Alpha<\/b> output to <b>Fac<\/b> input.<br \/>\n&#8211; Principled BSDF \u00bb Mix Shader &#8211; <b>BSDF<\/b> output to <b>Shader<\/b> input.<br \/>\n&#8211; Transparent BSDF \u00bb  Mix Shader &#8211; <b>BSDF<\/b> output to <b>Shader<\/b> input.<br \/>\n&#8211; Mix Shader \u00bb Material Output &#8211; <b>Shader<\/b> output to <b>Surface<\/b> input.<\/p>\n<p>Finally in Material Properties change <b>Blend Mode<\/b> in <b>Settings<\/b> to <b>Alpha Blend<\/b> (Clip or Hashed).<\/p>\n<blockquote><p><b>Design note<\/b>: for more on setting up <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/transparency\/\">transparency and transparent materials click here<\/a>.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-transparency.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/materials\/missing-materials-transparency.jpg\" alt=\"Transparent materials need to be set up as well\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>For <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/transparency\/\">transparency<\/a>, assuming the assets used include an alpha channel (where <a href=\"https:\/\/www.katsbits.com\/codex\/alpha\/\">alpha<\/a> determines the degree of transparency), add two extra nodes to the materials, <b>Transparent BSDF<\/b> [14] and <b>Mix Shader<\/b> [15] then link them to the broader material.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":3697,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,230],"tags":[469,453,386,387,103,327,334,388,519,220,735],"class_list":["post-1157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-tutorials","tag-blend","tag-alpha-transparency","tag-image-texture","tag-material-output","tag-materials","tag-node-editor","tag-nodes","tag-principled-bsdf","tag-shading-workspace","tag-transparency","tag-use-nodes"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/1157","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=1157"}],"version-history":[{"count":6,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/1157\/revisions"}],"predecessor-version":[{"id":5177,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/1157\/revisions\/5177"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/3697"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=1157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=1157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=1157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}