{"id":9199,"date":"2024-08-19T18:02:03","date_gmt":"2024-08-19T17:02:03","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=9199"},"modified":"2024-09-01T13:48:35","modified_gmt":"2024-09-01T12:48:35","slug":"texture-painting-imvu","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/texture-painting-imvu\/","title":{"rendered":"Painting Textures in Blender &#8211; IMVU Furniture"},"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-69f211b06f412\" 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-69f211b06f412\"  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\/texture-painting-imvu\/#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\/texture-painting-imvu\/#texture-selection\" >Texture Selection<\/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\/texture-painting-imvu\/#wireframe-display\" >Wireframe Display<\/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\/texture-painting-imvu\/#floor-fill-colour\" >Floor Fill Colour<\/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\/texture-painting-imvu\/#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:\/\/www.youtube.com\/embed\/mAulWkjcmXc?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>Continuing with the <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/tiktok\/\">TikTok series<\/a> exploring content creation for IMVU using the <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/imvu-studio-toolkit\/\">Toolkit for Blender<\/a>, in this exercise we take a look at using Blenders <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/texture-paint\/\">Texture Paint<\/a> tools to hand-paint the stool and book meshes for the <a href=\"https:\/\/www.katsbits.com\/codex\/custom-furniture-imvu\/\">custom furniture item<\/a> around which an <a href=\"https:\/\/www.katsbits.com\/codex\/custom-sitting-pose-for-imvu\/\">avatar pose<\/a> was made. With objects UV unwrapped we can now switch to Texture Paint workspace, select each mesh in-turn and paint in real-time the furniture, before saving the edits for IMVU.<\/p>\n<p><b>Duration<\/b>: total c. 1 hr 5mins (01:05:00).<br \/>\n<b>Info<\/b>: 720p (W: 720 x H: 1280 vertical\/portrait).<br \/>\n<b>Suitability<\/b>: Beginner+.<br \/>\n<b>Source<\/b>: <a href=\"https:\/\/www.katsbits.com\/files\/imvu\/katsbits - tiktok uv mapping.zip\">KatsBits \u2013 UV Mapping Furniture<\/a> (c. 700 KB | *.blend, *.tga, *.png).<br \/>\n<b>Product ID<\/b>: n\/a.<\/p>\n<blockquote><p><strong>Design note<\/strong>: some additional considerations when using Texture Paint workspace to paint images in Blender;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"texture-selection\"><\/span>Texture Selection<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Generally speaking when a new object is selected for painting the <strong>Image Editor<\/strong> should automatically switch to displaying the corresponding image. If this does not happen the correct image can be manually set using the <strong>Browse Image to be linked<\/strong> menu in the Header of either the <strong>3D Viewport<\/strong> or the <strong>Image Editor<\/strong>. To change, simply click the <strong>Browse Image to be linked<\/strong> [1] button and select the image [2] associated with the mesh from those listed. The Paint Editor will immediately update showing the selected image.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-select-image.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-select-image.jpg\" alt=\"Image selection\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Switching between different mesh objects should automatically swap out the image displayed in the Paint Editor, if not they can be selected using <strong>Browse Image to be linked<\/strong> [1] menu, selecting the image [2] from those listed.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"wireframe-display\"><\/span>Wireframe Display<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>To aid painting, the Paint Editor displays a wireframe overlay atop the image being painted representing the UV map of the mesh. If this is not visible when switching between images it can be enabled or shown by, in the 3D Viewport, select the mesh whose texture is to be painted and toggle in to <strong>Edit Mode<\/strong> [3]. Here, select the entire mesh, <span class=\"shortcutkey\">A<\/span>, to highlight the objects full UV map. Upon doing this the Paint Editor will be forcibly updated to display the correct wireframe over the corresponding image [4]. Toggle out of Edit Mode and back in to Texture Paint mode to paint, or continue painting, the image.<\/p>\n<div style=\"background-color: #efefef; color: #000; width:98.5%; padding: 1.0em;\"><strong>Aside<\/strong>: objects to be painted should have material assignments, be fully UV unwrapped, and mapped to an image (generated or linked).<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-toggle-edit-mode.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-toggle-edit-mode.jpg\" alt=\"Paint wireframe\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The Paint Editor should display a wireframe representing the objects UVs. If this is not shown, toggle the mesh into <strong>Edit Mode<\/strong> [3] and select everything to highlight the UVs. This then displays the wire correctly [4] (image above shown painted black for clarity).<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"floor-fill-colour\"><\/span>Floor Fill Colour<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Before final export of the painted image be sure to &#8216;fill&#8217; unpainted or unused areas [5] as this helps reduce files size, and in some instances, maintains colour integrity &#8211; avoids issues that might occur as a consequence of compression. Selecting a common colour used throughout to paint the texture, paint the unused areas and then save the image &#8211; <strong><em>Image \u00bb Save As&#8230; \u00bb [options]<\/em><\/strong>.<\/p>\n<div style=\"background-color: #efefef; color: #000; width:98.5%; padding: 1.0em;\"><strong>Aside<\/strong>: the highly variable nature of the generated <strong>Color Grid<\/strong> used to temporarily add an &#8216;image&#8217; to a material, can be costly in terms of file size as that variability is difficult to compress without obvious artefacts appearing in the image.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-colour-fill.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu\/texture-paint-colour-fill.jpg\" alt=\"Paint unused areas\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Shown above, once the areas that need to be painted done, use a common colour to then paint unused areas [5] as a means to mitigate potential issues, especially where asset optimisation is a necessity.<\/i><\/p><\/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, Setup &#038; Tools<br \/>\n &#8211; 05:00 : Painting Stool<br \/>\n &#8211; 31:00 : Save Image<br \/>\n &#8211; 35:00 : Painting A Book<br \/>\n &#8211; 45:00 : Painting Text<br \/>\n &#8211; 53:00 : Mesh Smoothing<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":9265,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,37,32,230],"tags":[119,195,194,1086,738,835,1049,625,118,312,931,556,963,1093,655],"class_list":["post-9199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-imvu","category-texturing","category-tutorials","tag-edge-split","tag-furniture","tag-imvu","tag-imvu-files","tag-imvu-studio","tag-imvu-studio-toolkit","tag-imvu-toolkit","tag-mark-sharp","tag-mesh-smoothing","tag-modifiers","tag-save-image","tag-shade-smooth","tag-texture-paint","tag-tiktok","tag-uv-editing"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9199","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=9199"}],"version-history":[{"count":15,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9199\/revisions"}],"predecessor-version":[{"id":9280,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/9199\/revisions\/9280"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/9265"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=9199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=9199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=9199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}