{"id":1874,"date":"2024-04-04T15:30:05","date_gmt":"2024-04-04T14:30:05","guid":{"rendered":"https:\/\/www.katsbits.com\/site\/?p=1874"},"modified":"2024-04-04T15:30:05","modified_gmt":"2024-04-04T14:30:05","slug":"gmax-materials","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/site\/gmax-materials\/","title":{"rendered":"UVW Mapping &#038; Advanced Skinning Options in Gmax"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><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><\/span><\/a><\/span><\/div>\n<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\/site\/gmax-materials\/#Sub-Material_Map_Channels\" >Sub-Material Map Channels<\/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\/site\/gmax-materials\/#Setting_up_Opacity_Transparency_Mask\" >Setting up  Opacity (Transparency) Mask<\/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\/site\/gmax-materials\/#Opacity_Channel_Material_Settings\" >Opacity Channel Material Settings<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>For most of the objects in a scene it&#8217;s not necessary to go any further with skinning (as shown on the <a href=\"https:\/\/www.katsbits.com\/site\/gmax-unwrapping\/\" title=\"UVW unwrapping and skinning in Gmax\" target=\"_self\" rel=\"noopener\">previous<\/a> page) other than to just add a texture to a mesh, in some instances however, it is.<\/p>\n<p> A couple of mesh objects in the scene use another &#8216;<b>map<\/b>&#8216; channel in the materials global settings which, when combined with the previously used (diffuse) texture, create a &#8216;visual effect&#8217;; in this particular case, <b>transparency.<\/b> This technique is very useful because it allows the detail of a texture to be used without resorting to excessive mesh modeling (particularly useful on low poly game models) to recreate the details in &#8216;reality&#8217;.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Sub-Material_Map_Channels\"><\/span>Sub-Material Map Channels<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once you&#8217;ve set up the basic material (&#8216;<b>A<\/b>&#8216;) &#8211; shown below with 3 sub-materials each being applied to different parts of the model &#8211; you can then choose which sub-material (&#8216;<b>B<\/b>&#8216;) you want the effect to be applied to. Clicking on any of the sub-materials opens up more editable properties including the &#8216;map&#8217; channels; the channel we need to use is marked &#8216;<b>opacity<\/b>&#8216; (&#8216;<b>C<\/b>&#8216;).<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-maps.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-maps_sml.jpg\" alt=\"Opacity 'map' as a subelement of the overall Sub-Material\" title=\"Opacity 'map' as a subelement of the overall Sub-Material\" width=\"640\" height=\"360\" border=\"0\" \/><\/a><\/p>\n<p>Sub-material browser\/editor<\/p>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"Setting_up_Opacity_Transparency_Mask\"><\/span>Setting up  Opacity (Transparency) Mask<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This is done basically by using a texture layer that&#8217;s a gray scale or colour image with or without an &#8216;<b>alpha channel mask<\/b>&#8216;. If it&#8217;s a grayscale image then you don&#8217;t necessarily need the mask as gmax is set to use (or can be set to use) grayscale masks in the same way as any other program &#8211; <b>white<\/b> is seen as being 100% opaque (solid), <b>black<\/b> is 100% transparent (can be seen thru), with various shades of <b>gray<\/b> effecting opacity &amp; transparency. of the layer depending on it&#8217;s tonal value.<\/p>\n<p>I found getting this next step right is was bit <i>hit &#8216;n&#8217; miss<\/i> when putting this scene together, but that&#8217;s not gmax&#8217;s fault. I opted for the colour image with a mask channel included with the texture. <\/p>\n<blockquote>\n<p><b>Design note<\/b>: gmax can import and use a number of texture formats that allow the inclusion of a mask channel (alpha channel) but by preference *.tga images are always a good bet as they&#8217;re &#8216;game ready&#8217;. They do need to be saved as &#8217;32 bit&#8217; RGB images though (incidentally this isn&#8217;t the same as a true 32 bit image which is CMYK but a 24 bit RGB image saved with an additional 8 bit grayscale channel [the mask itself], the two added together are commonly referred to as a 32 bit tga)<\/p>\n<\/blockquote>\n<p>The red shaded colour below denotes the area on the texture earmarked as the <b>mask<\/b>; anything <b>not<\/b> covered by this colour will be <b>visible<\/b>, anything else <b>covered<\/b> by red gets blocked and <b>isn&#8217;t<\/b> visible. This gives us a nice &#8216;fence&#8217; or grill like pattern as the red areas are removed leaving only the remaining prongs to be shown on the model.<\/p>\n<blockquote>\n<p><b>Design note<\/b>: you&#8217;ll need to experiment with you photo-editing package to see how it creates masks and channels and once you understand how it&#8217;s done you can then use it to create interesting shapes and form on textures. The leaves used on the tree model in this scene have an alpha channel so you can see through them.<\/p>\n<\/blockquote>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-alpha-channel-texture.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-alpha-channel-texture_sml.jpg\" alt=\"Texture with alphamask highlighted red (shown in Corel PhotoPaint)\" title=\"Texture with alphamask highlighted red (shown in Corel PhotoPaint)\" width=\"640\" height=\"360\" border=\"0\" \/><\/a><\/p>\n<p>Texture with alphamask highlighted red <\/p>\n<\/p><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Opacity_Channel_Material_Settings\"><\/span>Opacity Channel Material Settings<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the texture has been set up it can then be applied to the empty opacity map channel in the material browser (&#8216;<b>1<\/b>&#8216; &#8211; called &#8216;opacity&#8217; for ease of use but it can be called anything as necessary). Selecting the material applied to the model we can expand the map channels and click on the &#8216;Opacity&#8217; button to reveal the parameters for that map; all that needs to be done is to assign the texture to the slot (&#8216;<b>2<\/b>&#8216;). Once it&#8217;s loaded a few settings need to be changed (&#8216;<b>3<\/b>&#8216; &#8211; see below) and, if all&#8217;s gone well, the material pre-viewer (the round material covered ball at the top of the browser) should change to show the now &#8216;missing&#8217; sections of the texture.<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-settings.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/opacity-settings_sml.jpg\" alt=\"Applying opacity to materials\" title=\"Applying opacity to materials\" width=\"640\" height=\"360\" border=\"0\" \/><\/a><\/p>\n<p>Applying opacity to materials <\/p>\n<\/p><\/div>\n<blockquote>\n<p><b>Design note<\/b>: gmax doesn&#8217;t respond to the changes straight away so you often end up wondering if the material has worked even though it shows it has in the material pre-view. If this happens it may just be a case of clicking the various options in section &#8216;C&#8217; until the main viewports show the same effect as the pre-view. This isn&#8217;t necessarily a &#8216;bug&#8217; with gmax but it is something to be aware of.<\/p>\n<\/blockquote>\n<p>If everything has worked what you should see in both the material editor preview ball and in the main viewport window\/s is the texture applied to the mesh with the missing alphachannel.<\/p>\n<blockquote>\n<p><b>Design note<\/b>:  there does appear to be a &#8216;true&#8217; bug with alpha channels with gmax. If you look at the image below you can see a thin  line on the left and right hand side that cuts through and down the length of the texture, this line isn&#8217;t present on the texture and might be similar in nature to the issue that has plagued Adobe Photoshop users in the past and the infamous &#8216;1 pixel edge&#8217; bug (a thin line always appearing around the edge of textures which made tiling difficult).<\/p>\n<p>It&#8217;s not clear yet whether this is a viewport (and gmax) only issue; i.e. if you had access to 3D studio MAX and rendering capabilities it&#8217;s not clear if the &#8216;bug&#8217; would show up in rendered scenes.<\/p>\n<\/blockquote>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/uvunwrappeding-final.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/gmax\/uvunwrappeding-final_sml.jpg\" alt=\"Final mesh with texture showing opacity based on alphamasked regions\" title=\"Final mesh with texture showing opacity based on alphamasked regions\" width=\"640\" height=\"360\" border=\"0\" \/><\/a><\/p>\n<p>Final mesh with texture showing opacity based on alphamasked regions<\/p>\n<\/p><\/div>\n<div class=\"subNav\">\n<p>[1: <a href=\"https:\/\/www.katsbits.com\/site\/gmax-unwrapping\/\" title=\"UVW mapping (skinning) with gmax\" target=\"_self\" rel=\"noopener\">Intro &amp; How to<\/a> | 2: <a href=\"https:\/\/www.katsbits.com\/katsbits.com\/site\/gmax-materials\/\" title=\"Advanced options UVW mapping with gmax\" target=\"_self\" rel=\"noopener\">Advanced Options<\/a>]<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":1878,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[20,25,480,479,478,374,238,452,237],"class_list":["post-1874","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-gmax","tag-materials","tag-multi-materials","tag-opacity-mask","tag-skinning","tag-transparency","tag-uv-mapping","tag-uv-maps","tag-uv-unwrapping"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/comments?post=1874"}],"version-history":[{"count":4,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1874\/revisions"}],"predecessor-version":[{"id":1884,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1874\/revisions\/1884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media\/1878"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media?parent=1874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/categories?post=1874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/tags?post=1874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}