{"id":2367,"date":"2019-11-14T15:53:14","date_gmt":"2019-11-14T15:53:14","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=2367"},"modified":"2023-09-07T15:52:45","modified_gmt":"2023-09-07T14:52:45","slug":"imvu-materials","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/imvu-materials\/","title":{"rendered":"IMVU Material Names"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 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-6a2fc0c728b77\" 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-6a2fc0c728b77\"  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\/imvu-materials\/#imvu-materials\" >IMVU Materials<\/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\/imvu-materials\/#non-avatar-material-names\" >Non-Avatar Material Names<\/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\/imvu-materials\/#avatar-material-names\" >Avatar Material Names<\/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\/imvu-materials\/#blender-materials\" >Blender Materials<\/a><\/li><\/ul><\/nav><\/div>\n<p>For IMVU content made using Blender 2.8 <a href=\"https:\/\/www.katsbits.com\/codex\/material-basics\/\">the way materials are set up<\/a> differs slightly. However, what they are <i>called<\/i>, their <i>names or identifiers<\/i>, still needs to follow an established convention so IMVU knows how to treat the assets, particularly for larger projects that use a number of them.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"imvu-materials\"><\/span>IMVU Materials<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In IMVU materials are not defined by any descriptive terms, words or phrase, e.g. <i>table<\/i> (<i>{<b>name<\/b>}<\/i>), but instead solely by a numerical reference (00 &#8211; 99+ {<b><i>[n]<\/i><\/b>}) that increases depending on how many materials there are, and whether they&#8217;re supposed to override a default or not;<\/p>\n<blockquote style=\"background-color: #e7faea; color: #000; font-family:courier;\"><p>material name [n]<\/p><\/blockquote>\n<p>or properly;<\/p>\n<blockquote style=\"background-color: #e7faea; color: #000; font-family:courier;\"><p>skin [7]<\/p><\/blockquote>\n<p>For example a custom mesh assigned a material reference <b><i>body [7]<\/i><\/b> might not work on an <i>avatar<\/i> because <b><i>[7]<\/i><\/b> is occupied by the default avatar <i>skin<\/i> material, <b><i>skin [7]<\/i><\/b>, which might then mean the avatars skin appearing on the custom object as its texture, not the one that should be there, e.g. wood, brick, cloth etc.<\/p>\n<blockquote><p><b>Design note<\/b>: if IMVU does not find a name\/number pairing it will automatically convert errant references into compatible materials based on a first-come-first-served parsing of the imported file, the first material will be [0], the next [1] and so on, which may result in materials being improperly assigned.<\/p><\/blockquote>\n<p>When assigning materials then, care should be taken to ensure the right names and numerical references are being used for the product being made and\/or derived from depending on whether those derivations are to be partially or completely overridden.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"non-avatar-material-names\"><\/span>Non-Avatar Material Names<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Generally speaking non-avatar products can use material names consisting of any descriptive name (<i>{<b>name<\/b>}<\/i>) plus any number (<i>{<strong>[n]<\/strong>}<\/i>) because these products tend not to use any of the underlying elements belonging to the original derived item &#8211; typically they are wont to be removed or overridden, a room material name that includes <i>[0]<\/i> for example, i.e. <i>grass [0]<\/i>, overrides the default reference loaded in with the root room derivable in Create Mode, <i>Example3Droom_wall [0]<\/i>, a wall backdrop. In other words non-avatar based products tend not to use reserved material assignments.<\/p>\n<blockquote style=\"background-color: #e7faea; color: #000; font-family:courier;\"><p>material name [0 &#8211; 99+]<\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: if a material belonging to a parent derivation is to be kept, the numerical references that correspond to the material in IMVU should be omitted in Blender, in other words to keep material [0], assignments in Blender should begin at [1].<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/room-defaults.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/room-defaults.jpg\" alt=\"[0] in IMVU is the brick wall backdrop\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Deriving from the default room the material referenced as [0] is the background wall (shown above listed as &#8217;00&#8217; in the Editor). To override this the incoming material should also include [0] in the name (in this example this might then mean a &#8216;wall&#8217; being given a different numerical reference if a wall was still needed).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"avatar-material-names\"><\/span>Avatar Material Names<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Material assignments for avatar-based products are similar to the above except they tend to be used in a reserved fashion, they are not being replaced or overridden so much as being used on whatever is being brought in for use, an avatar mesh for example might need a <i>skin [7]<\/i> material assignment so the model changes appropriately when users add their own &#8216;skins&#8217;. This functionality is facilitated not by the name, <i>skin<\/i>, but by the numerical append, <i>[7]<\/i>. For avatars this often means materials having to be assigned in Blender to accommodate Users swapping assets around based on their own usage; without proper setup in Blender this can cause issues in IMVU.<\/p>\n<blockquote><p><b>Design note<\/b>: for custom products that utilise the mix-n-match functionality inherent to IMVU, material names tend to require both name and numerical append match otherwise compatibility issues can occur.<\/p><\/blockquote>\n<p>The reserved material list for <b><i>avatars<\/i><\/b> is;<\/p>\n<blockquote style=\"background-color: #e7faea; color: #000; font-family:courier;\"><p>Head [2]<br \/>\nEyes [3]<br \/>\nHair [4]<br \/>\nEyelashes [5]<br \/>\nSkin [7]<br \/>\nEyebrows [8]<\/p><\/blockquote>\n<p>For <b><i>clothing<\/i><\/b> materials are reserved as;<\/p>\n<blockquote style=\"background-color: #e7faea; color: #000; font-family:courier;\"><p>Upperbody [0]<br \/>\nLowerbody [1]<br \/>\nShoes [6]<br \/>\nGloves [9]<br \/>\nHat [10]<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/avatar-materials-imvu.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/avatar-materials-imvu.jpg\" alt=\"Reserved material assignments for avatars\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Unlike non-avatar based products, clothing, hands and other elements of the avatar tend to use reserved material assignments to ensure Users can mix-and-match products without cause issues &#8211; shown above the default t-shirt uses material slots 00 (upper), 02 (head) and 07 (skin).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"blender-materials\"><\/span>Blender Materials<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To make materials compatible with IMVU, in <a href=\"https:\/\/www.katsbits.com\/codex\/material-basics\/\">Blender 2.8 create<\/a> and <a href=\"https:\/\/www.katsbits.com\/codex\/delete-material\/\">assign materials<\/a> as normal, then in <b>Material<\/b> context [1] make sure each is appropriately named &#8211; click the input box below the <b>Material List<\/b> and type, or double-click an entry in the same list and rename [2], alternatively select an object in the <b>Outliner<\/b> [3] and expend the details to show associated data, double-click a material entry and rename.<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: material names are CasE SensItIVe.<\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: the order materials appear in the Material List have no bearing on how each is used in IMVU; whilst materials may be imported ordered randomly, all that matters is the correct naming convention being followed. In addition, remove all unused or unwanted material references.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/avatar-materials.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/avatar-materials.jpg\" alt=\"Reserved material assignments for avatars\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>IMVU products do not require complex materials so the Node Editor only needs three nodes &#8211; <b>Material Output<\/b>, <b>Principled BSDF<\/b> and <b>Image Texture<\/b> linked as shown above (Image Texture \u00bb Principled BSDF \u00bb Material Output).<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/material-settings-blender.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-materials\/material-settings-blender.jpg\" alt=\"Reserved material assignments for avatars\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Unlike non-avatar based products, clothing, hands and other elements of the avatar tend to use reserved material assignments to ensure Users can mix-and-match products without cause issues. Material assignments in Blender should reflect how they are set up in IMVU which can be changed in the Outliner [3], or Material context [1] (&amp; [2]).<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2383,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,230],"tags":[549,195,386,194,387,103,327,388,637,519,156],"class_list":["post-2367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-imvu","category-tutorials","tag-avatars","tag-furniture","tag-image-texture","tag-imvu","tag-material-output","tag-materials","tag-node-editor","tag-principled-bsdf","tag-rooms","tag-shading-workspace","tag-textures"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/2367","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=2367"}],"version-history":[{"count":5,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/2367\/revisions"}],"predecessor-version":[{"id":5108,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/2367\/revisions\/5108"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/2383"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=2367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=2367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=2367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}