{"id":7575,"date":"2023-09-22T10:06:48","date_gmt":"2023-09-22T09:06:48","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=7575"},"modified":"2023-11-20T17:33:02","modified_gmt":"2023-11-20T17:33:02","slug":"minecraft-nowhere","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/minecraft-nowhere\/","title":{"rendered":"Minecraft Room for Nowhere"},"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-69f48d980aeed\" 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-69f48d980aeed\"  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\/minecraft-nowhere\/#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\/minecraft-nowhere\/#texturing\" >Texturing<\/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\/minecraft-nowhere\/#mesh-optimisation\" >Mesh Optimisation<\/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\/minecraft-nowhere\/#export-prepping\" >Export Prepping<\/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\/minecraft-nowhere\/#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:\/\/rumble.com\/embed\/v3gptze\/?pub=d3lcu\" 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>In this exercise we make a simple Minecraft style scene for <b>Nowehere metaverse<\/b> using the <b>Nowhere Toolkit<\/b> for Blender (3.6 LTS shown throughout). <\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Design Note<\/b>: the Nowhere Toolkit for Blender is active developed and currently compatible with Blender 3.6 LTS. Support for earlier versions of Blender may vary so check before use &#8211; <i>the Add-on will typically <a href=\"https:\/\/www.katsbits.com\/codex\/install-nowhere-toolkit\/\">fail to install<\/a> if not compatible<\/i>.<\/p><\/blockquote>\n<p>Using an image editor of choice a set of low-resolution, pixelated Minecraft style textures are first created, which can then be used in Blender to texture the default Cube object, after a <a href=\"https:\/\/www.katsbits.com\/codex\/nowhere-toolkit\/\">Player entity<\/a> has been dropped into place for Nowhere scaling. Once the initial block is made its then duplicated to create a simple square(ish) platform, that&#8217;s also then surrounded by a fence. With visible meshes done, Collision is dropped into place to give the Player something to stand on. Finally a simple skybox is made before the project is exported to *.glTF using the Toolkit and imported into the Nowhere <b>WorldRunner<\/b> for testing.<\/p>\n<p><b>Duration<\/b>: total c. 1 hr 50 min (01:50:00).<br \/>\n<b>Info<\/b>: 1080p.<br \/>\n<b>Suitability<\/b>: Beginner+.<br \/>\n<b>Source<\/b>: <a href=\"https:\/\/www.katsbits.com\/files\/nowhere\/katsbits_nowhere-minecraft-source.zip\">KatsBits \u2013 Nowhere Minecraft Source<\/a> (c. 250 KB &#8211; *.blend, *.gltf, *.fbx, *.png), Compatible with Blender 3.6 LTS and above.<br \/>\n<b>Room URL<\/b>: <a href=\"https:\/\/now.urnowhere.com\/invite\/sXFUZGTmfJVgKiYOrunTXQebz?spaceId=kI0O6REsGKhSv3PlYAX6\" rel=\"noopener\" target=\"_blank\">Nowhere Live Station<\/a>.<\/p>\n<blockquote><p><b>Design note<\/b>: when making a Minecraft style Space for Nowhere metaverse, keep the following points in mind;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"texturing\"><\/span>Texturing<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>When making Minecraft style textures not much needs to be done to the source except ensuring a square format can be produced, and it doesn&#8217;t have too much colour or tonal variation, although this can be fixed later. Depending on the image editor used, how this is done will vary, <b>Affinity Photo<\/b> [1] for example, allows for the image canvas to be squared up, <b>Document \u00bb Resize Canvas&#8230;<\/b>, before being rescaling or down-sized, <b>Document \u00bb Resize Document&#8230;<\/b>, to the required 16 x 16 pixel image. Similarly, using <b>GIMP<\/b> [2] this process can be done by resizing to adjust the general dimensions and position of the image relative to the edit, <b>Image \u00bb Canvas Size&#8230;<\/b>, then with <b>Image \u00bb Scale Image&#8230;<\/b> to resize down to 16 x 16 pixels. Either way it&#8217;s preferable to adjust the dimensions first to make it easier to select the best area to use before then down-scaling to 16 x 16.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/texture-resize-affinity.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/texture-resize-affinity.jpg\" alt=\"Image resizing, Affinity\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i><b>Affinity Photo<\/b> provides options to resize images from the <b>Document<\/b> menu [1]; <b>Resize Canvas&#8230;<\/b> and <b>Resize Document&#8230;<\/b><\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/texture-resize-gimp.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/texture-resize-gimp.jpg\" alt=\"Image resizing, GIMP\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i><b>GIMP<\/b> [2] includes options to resize photos from the <b>Image<\/b> menu; <b>Canvas Size&#8230;<\/b> and <b>Scale Image&#8230;<\/b><\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"mesh-optimisation\"><\/span>Mesh Optimisation<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>For simplicities sake the initial platform is constructed from duplicates of the default Cube once it was UV unwrapped and textured. Doing this tends to generate a lot of unnecessary geometry that&#8217;s generally hidden from view but loaded in with the scene. Ideally these should be removed to make the overall Space efficient and low-footprint. <\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/nowhere-minecraft-optimised.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/nowhere-minecraft-optimised.jpg\" alt=\"Optimised meshes\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>One platform cleaned up and optimised from 960 triangles down to 560. For larger complex meshes the difference between high and low resolution versions can be quite dramatic. Edges marked <b>Sharp<\/b> have also been optimised and reduced to only those expressly needed.<\/i><\/p>\n<p>A quick way to do this is to; if the individual Cubes have been joined together, select a platform and switch to <b>Edit Mode<\/b> and from the <b>Mesh<\/b> menu click <b>Clean Up \u00bb <a href=\"https:\/\/www.katsbits.com\/codex\/remove-doubles\/\">Merge by Distance<\/a><\/b> &#8211; <b><i>Mesh \u00bb Clean Up \u00bb Merge by Distance<\/i><\/b>. Make sure nothing is selected, <b>Select \u00bb None<\/b>, then from the <b>Select<\/b> menu click <b>Select All by Trait \u00bb Interior Faces<\/b> [3] &#8211; <i><b>Select \u00bb Select All by Trait \u00bb Interior Faces<\/b><\/i>. This selects everything inside the mesh. Shift-click to deselect any faces that might have be incidentally included and then press <span class=\"shortcutkey\">Delete<\/span> or <span class=\"shortcutkey\">X<\/span> and from the Delete popup click <b>Faces<\/b> from the list of options &#8211; <span class=\"shortcutkey\">Delete<\/span>\/<span class=\"shortcutkey\">X<\/span><i><b> \u00bb Faces<\/b><\/i>.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/select-interior-faces.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/select-interior-faces.jpg\" alt=\"Selecting interior faces\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Use the <b>Interior Faces<\/b> [3] option to select unwanted faces inside the mesh (once <a href=\"https:\/\/www.katsbits.com\/codex\/remove-doubles\/\">Merge by Distance<\/a> has been run), that can then be removed to better optimise the mesh with the removal of unused (non-visible) surfaces.<\/i> <\/p>\n<h4><span class=\"ez-toc-section\" id=\"export-prepping\"><\/span>Export Prepping<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Generally speaking a scene will export from Blender and import into Nowhere&#8217;s preview tool if it has, at minimum, a <b>Player<\/b> [4] <a href=\"https:\/\/www.katsbits.com\/codex\/nowhere-toolkit\/\">entity<\/a>. The rooms appearance depends on <a href=\"https:\/\/www.katsbits.com\/codex\/nowhere-basics\/\">material set up<\/a> and whether an actual light entity has been used &#8211; &#8216;real-time&#8217; verses &#8216;static&#8217; illumination. Before export from Blender however, ensure all unused content is deleted from the project &#8211; only exportable objects, entities and items should remain. Save a *.blend then use the Nowhere Toolkit&#8217;s included <b>Export GLTF<\/b> [5] option.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/nowhere-minecraft-prep-export.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/nowhere\/nowhere-minecraft-prep-export.jpg\" alt=\"Nowhere prep and export\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Ensure the scene has at least a <b>Player<\/b> entity [4] included before export and is appropriately lit, either by adding a light source for real-time lighting, or using other techniques for static illumination. Once done use the Toolkits <b>Export GLTF<\/b> option [5].<\/i><\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"timestamps\"><\/span>Timestamps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>All times are approximate;<br \/>\n&#8211; 00:00 : Start &#038; Textures.<br \/>\n&#8211; 14:00 : Player Entity &#038; Initial Block.<br \/>\n&#8211; 20:00 : Materials &#038; UV Editing.<br \/>\n&#8211; 30:00 : Platform &#038; Fence Posts.<br \/>\n&#8211; 01:09:00 : Collision.<br \/>\n&#8211; 01:15:00 : Lights &#038; Lighting.<br \/>\n&#8211; 01:23:00 : Skybox &#038; Sky Texture.<br \/>\n&#8211; 01:38:00 : glTF Export &#038; WorldRunner Preview.<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":7584,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,1006,967,1001,32,230],"tags":[939,1011,739,802,159,775,1007,785,1002,1016,1014,1015,1017,156],"class_list":["post-7575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-metaverse","category-minecraft-2","category-nowhere-metaverse","category-texturing","category-tutorials","tag-affinity-photo","tag-background-node","tag-gimp","tag-gltf","tag-image-editor","tag-lights","tag-metaverse","tag-minecraft","tag-nowhere","tag-pixel","tag-pixel-art","tag-pixelation","tag-png","tag-textures"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7575","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=7575"}],"version-history":[{"count":29,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7575\/revisions"}],"predecessor-version":[{"id":8129,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/7575\/revisions\/8129"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/7584"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=7575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=7575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=7575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}