{"id":1209,"date":"2024-09-18T13:37:00","date_gmt":"2024-09-18T11:37:00","guid":{"rendered":"https:\/\/stuff.tamius.net\/sacred-texts\/?p=1209"},"modified":"2026-03-13T20:56:38","modified_gmt":"2026-03-13T19:56:38","slug":"how-to-print-your-guild-wars-2-character-or-any-game-really","status":"publish","type":"post","link":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/","title":{"rendered":"How to print your Guild Wars 2 character (or any game, really)"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>2025 update v2<\/strong>: I made a <a href=\"https:\/\/tamius-han.github.io\/intel-gpa-squish-calculator\/\">tool <\/a>that fixes distortions introduced by Intel GPA, and that tool made few sections of this blog obsolete. As such, they&#8217;ve been deleted. Old version is still available <a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/10\/25\/old_how-to-print-your-guild-wars-2-character-or-any-game-really\/\">here<\/a>.<br><strong>2025 update. <\/strong>This blog post now also exists as a <a href=\"https:\/\/youtu.be\/vejKUjaoD8k\">youtube video<\/a>. Yes, the video is 1 hour 20, so about twice as long as it takes to read this blog post, but I feel the video shows how Blender works a bit better than a bunch of screenshots.<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1554\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-scaled.webp\" alt=\"\" class=\"wp-image-1356\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-scaled.webp 2560w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-300x182.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-1024x622.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-768x466.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-1536x932.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-2048x1243.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7420-blog-1140x692.webp 1140w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">The gang so far.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">About a year and a half ago, I decided to 3D print my Guild Wars 2 character because I kinda got into mini painting. I decided to document the process \u2014 especially since the reddit guides written by those who came before no longer worked (Guild Wars 2 switching from DX9 to DX11 made them obsolete). Since then, <a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/06\/08\/3d-printing-my-guild-wars-2-character\/\">the original blog post<\/a> has gotten some comments along the lines of &#8220;hey, nice tutorial&#8221; &#8230; which is kinda horrifying, as not only is the post not very tutorial-y, I also had single digit hours of Blender experience at the time (this was disclosed in the post).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve 3D printed two more characters since, and my Blender experience is slightly better than it used to be. Better enough to warrant a rewrite. With my life story out of the way:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">-1. Content<\/h2>\n\n\n\n<ol start=\"0\" class=\"wp-block-list\">\n<li><a href=\"#intro\">A word about 3D printing methods<\/a><\/li>\n\n\n\n<li><a href=\"#software\">The software you want<\/a><\/li>\n\n\n\n<li><a href=\"#extraction\">Getting your models out of the game + standard disclaimers<\/a><\/li>\n\n\n\n<li><a href=\"#blender-segment-start\">Making the model printable<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"#blender-eli5\">Blender basics for absolute beginners<\/a><\/li>\n\n\n\n<li><a href=\"#unsquish\">Unsquishing the model<\/a><\/li>\n\n\n\n<li><a href=\"#low-poly\">Getting the minimum viable model<\/a><\/li>\n\n\n\n<li><a href=\"#smooth\">Let&#8217;s at least make it smooth<\/a><\/li>\n\n\n\n<li><a href=\"#details\">Recreating the details<\/a><\/li>\n\n\n\n<li><a href=\"#skritt-bait\">Oooh! Shinies! (LED DLC)<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"http:\/\/printing\">Getting the model printed<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/painting\">Getting the model painted<\/a><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">And some extra photos of my latest finished piece before we start digging into this. This has been my &#8220;work piece&#8221;, except that all the screenshots for this tutorial had to be re-created after the mini was printed and painted. <\/p>\n\n\n<div class=\"pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid \" data-gallery-id=\"28a05683\"><div class=\"sgb-preloader\" id=\"pr_28a05683\">\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div><\/div><div class=\"simply-gallery-amp pgc_sgb_slider \"><noscript><div class=\"sgb-gallery\"><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1357\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"200\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-300x200.webp\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-300x200.webp 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1024x682.webp 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp 2560w\" sizes=\"auto, 250px\"\/><\/a><\/div><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1358\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-300x300.jpg\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-300x300.jpg 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-1024x1024.jpg 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm.jpg 2048w\" sizes=\"auto, 250px\"\/><\/a><\/div><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1359\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-300x300.jpg\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-300x300.jpg 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-1024x1024.jpg 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm.jpg 2048w\" sizes=\"auto, 250px\"\/><\/a><\/div><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1360\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-300x300.jpg\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-300x300.jpg 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-1024x1024.jpg 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm.jpg 2048w\" sizes=\"auto, 250px\"\/><\/a><\/div><\/div><\/noscript><\/div><script type=\"application\/json\" class=\"sgb-data\">{\"collectionColumns\":2,\"thumbHieghtRation\":0.8000000000000000444089209850062616169452667236328125,\"galleryType\":\"pgc_sgb_grid\",\"galleryId\":\"28a05683\",\"images\":[{\"id\":1357,\"title\":\"DSC_7333_01u002du002dno-spider-webs-blog\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1357\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/webp\",\"type\":\"image\",\"width\":2560,\"height\":1704,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-150x150.webp\",\"orientation\":\"landscape\"},\"medium\":{\"height\":200,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-300x200.webp\",\"orientation\":\"landscape\"},\"large\":{\"height\":682,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1024x682.webp\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"height\":1704,\"width\":2560,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1357\"},{\"id\":1358,\"title\":\"DSC_0848-sm\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm.jpg\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1358\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/jpeg\",\"type\":\"image\",\"width\":2048,\"height\":2048,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-150x150.jpg\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-300x300.jpg\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm-1024x1024.jpg\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0848-sm.jpg\",\"height\":2048,\"width\":2048,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"10\",\"credit\":\"\",\"camera\":\"NIKON Z 50\",\"caption\":\"\",\"created_timestamp\":\"1719571747\",\"copyright\":\"\",\"focal_length\":\"70\",\"iso\":\"1250\",\"shutter_speed\":\"0.00125\",\"title\":\"\",\"orientation\":\"1\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1358\"},{\"id\":1359,\"title\":\"DSC_0870-sm\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm.jpg\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1359\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/jpeg\",\"type\":\"image\",\"width\":2048,\"height\":2048,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-150x150.jpg\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-300x300.jpg\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm-1024x1024.jpg\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0870-sm.jpg\",\"height\":2048,\"width\":2048,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"10\",\"credit\":\"\",\"camera\":\"NIKON Z 50\",\"caption\":\"\",\"created_timestamp\":\"1719571866\",\"copyright\":\"\",\"focal_length\":\"70\",\"iso\":\"1250\",\"shutter_speed\":\"0.008\",\"title\":\"\",\"orientation\":\"1\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1359\"},{\"id\":1360,\"title\":\"DSC_0872-sm\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm.jpg\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1360\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/jpeg\",\"type\":\"image\",\"width\":2048,\"height\":2048,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-150x150.jpg\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-300x300.jpg\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm-1024x1024.jpg\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_0872-sm.jpg\",\"height\":2048,\"width\":2048,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"10\",\"credit\":\"\",\"camera\":\"NIKON Z 50\",\"caption\":\"\",\"created_timestamp\":\"1719571883\",\"copyright\":\"\",\"focal_length\":\"66\",\"iso\":\"1250\",\"shutter_speed\":\"0.008\",\"title\":\"\",\"orientation\":\"1\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1360\"}],\"itemsMetaDataCollection\":[]}<\/script><script>(function(){if(window.PGC_SGB && window.PGC_SGB.searcher){window.PGC_SGB.searcher.initBlocks()}})()<\/script><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"intro\">0. A word about 3D printing methods<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you have a 3D printer, you can skip this chapter. If you have a minimal knowledge of 3D printing and intend to pawn off the 3D print job off to somebody else, this section is for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the time of writing there&#8217;s two main viable consumer-grade methods of 3D printing.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FDM <\/li>\n\n\n\n<li>Resin<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">FDM printers are cleaner and (depending on the filament) don&#8217;t stink. Filament is cheap, but generally aren&#8217;t that good with printing details and tend to hate narrow objects \u2014 printing anything with cross-section less than 2mm in either dimension is a gamble. Your model will typically come in layers that are 0.1-0.3mm tall (on mini figures, that&#8217;s very noticeable. Theoretically you can also print thinner, at 0.05, but you&#8217;re just prolonging the printing time while not gaining <em>that <\/em>much detail), and forget about having anything that&#8217;s thinner than about 1mm with your standard 0.4mm nozzle. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if you want to pawn off your 3D printing to someone else, there&#8217;s lots of options and some won&#8217;t charge you much. Build volumes of FDM printers tend to be large. 200x200x200 (mm) is common. Larger than that isn&#8217;t too rare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resin printers are harder to find in the wild. Dealing with resin is messy, resin fumes are toxic, resin is more expensive than filaments. Their benefit is the superior print quality, as they can usually achieve much greater detail than your average FDM printer. Prints aren&#8217;t exactly cheap, either, and can get into triple digits per print <em>really <\/em>fast once you <em>do <\/em>manage to find a 3D printing service that also does resin prints. With resin printers, it&#8217;s really helpful to know someone who&#8217;s willing to print you your model for cost of materials and a six pack. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resin printers generally offer smaller build volumes. Most cheapest common resin 3D printer options can print things that have a footprint of your average smartphone screen, though large-format (200ish x 150ish) also exist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"software\">1. The Software Shopping List<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While the heading says &#8220;shopping list&#8221;, all the necessary software is available free of charge.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/tools\/graphics-performance-analyzers\/overview.html\">Intel GPA<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tamius-han.github.io\/intel-gpa-squish-calculator\/\">I wrote this tool that fixes output from Intel GPA to some degree<\/a> (more on it later)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.blender.org\/\">Blender<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.prusa3d.com\/page\/prusaslicer_424\/\">PrusaSlicer<\/a><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">All three have alternatives, but if you know of them you probably don&#8217;t need this post to teach you how to use them. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you install Blender, you should also install <code>3D tools<\/code> addon. Open Blender, go to <code>Edit -&gt; Preferences<\/code>, select <code>Get Extensions<\/code> in the side bar, search for <code>3D print toolbox<\/code>, click <code>Install<\/code>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"extraction\">2. Getting Your Model Out<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">At this point, we need some disclaimers (especially if you want to also use this on games other than Guild Wars 2).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Using Intel GPA suite might be a bannable offense in some multiplayer games. You&#8217;re doing this at your own risk.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Intel GPA extracts models by intercepting data your game sends to the GPU, which is the same method used by some cheats. As a rule of thumb, if your game appears on <a href=\"https:\/\/www.pcgamingwiki.com\/wiki\/ReShade\">ReShade&#8217;s Games to Avoid list<\/a>, you should stop reading right here and now because it&#8217;s pretty much guaranteed this method will result in a ban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conversely, if your game tolerates ReShade, you are <em>probably <\/em>fine (but I&#8217;m not going to vouch for it). When in doubt, try with an alt first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the time of writing, Guild Wars 2 does <strong><em>not <\/em><\/strong>appear to ban you for doing this (at least not in PvE).<br><br><strong>Second thing <\/strong>\u2014 per several comments both here and on reddit, <strong>game mods can cause either games or Intel GPA to crash<\/strong> while capturing the models. If the game crashes when you try to extract models, try disabling mods.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">When you launch Intel GPA, you get something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1508\" height=\"1028\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5.png\" alt=\"\" class=\"wp-image-942\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5.png 1508w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5-300x205.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5-1024x698.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5-768x524.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-5-1140x777.png 1140w\" sizes=\"auto, (max-width: 1508px) 100vw, 1508px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Navigate to your game&#8217;s executable (the three dots button gives you a GUI browser) and then click launch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once launched, find yourself a quiet corner on the edge of a map. You need two things:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A character that you want to export<\/li>\n\n\n\n<li>A landmark. This one is optional \u2014 you only need this if you want your character to appear to-the-micron exactly as it appears in game. If you&#8217;re fine with minor inaccuracies.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;Landmark&#8221; can be any object that is not rigged or animated or otherwise deformed. It needs to be static, it needs to be made out of one contiguous mesh, and it needs to be a 3D model that either game or game designers didn&#8217;t stretch after importing it into the game engine. In order to make game environments not look overly samey, game developers often tend to randomly stretch certain objects in order to hide the repetition. Objects that can be stretched without you noticing \u2014 including, but not limited to, trees, terrain, buildings, and <em>especially<\/em> rocks \u2014 those object are a bit risky to use as your landmark. On the other hand, boxes and anything else that&#8217;s a perfect cube or sphere, or carefully sculpted models (e.g. lamp posts, statues, other models with meaningful artistic detail) are a reasonably safe bet for your landmark.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1072\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-scaled.webp\" alt=\"landmark-pick\" class=\"wp-image-1581\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-scaled.webp 2560w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-300x126.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-1024x429.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-768x322.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-1536x643.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-2048x858.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/landmark-pick-1140x477.webp 1140w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">I&#8217;ve also added some annotations for what makes a decent candidate for your landmark.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After you picked what you want, strike whatever pose you wish and then trigger the capture (by default: <code>CTRL + SHIFT + C<\/code>). You want your character to take as much of your screen as possible, while keeping at least part of your landmark visible.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1073\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-scaled.webp\" alt=\"character-visible\" class=\"wp-image-1584\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-scaled.webp 2560w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-300x126.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-1024x429.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-768x322.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-1536x644.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-2048x858.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/character-visible-1140x478.webp 1140w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">I&#8217;m zoomed in as much as possible, while still keeping everything I want to capture in-frame.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After you\u2019re done, you can close the game.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Finding your mesh in the capture<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After the capture, you can see that some new things appear in your GPA window:<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1506\" height=\"1029\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6.png\" alt=\"\" class=\"wp-image-946\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6.png 1506w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6-300x205.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6-1024x700.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6-768x525.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/slika-6-1140x779.png 1140w\" sizes=\"auto, (max-width: 1506px) 100vw, 1506px\" \/><figcaption class=\"wp-element-caption\">Yes, up to this point I&#8217;ve been recycling screenshot from the previous post.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Double-click any of them (but preferably the one you need, the captures are ordered from newest at the top to the oldest at the bottom), then wait. Graphics Frame Analyzer doesn\u2019t open instantly \u2014 it can take up to half a minute even on a decent hardware, possibly longer on a toaster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You get a window like this:<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"883\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74.png\" alt=\"slika\" class=\"wp-image-1585\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74-300x194.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74-1024x661.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74-768x496.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-74-1140x736.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a few different ways you can go from there. The most optimal path depends on what you want to achieve. If you want to get some models for cosplay, or if you want to rig and animate your character, then you don&#8217;t need (nor want) to preserve your character&#8217;s pose. If you want a mini to 3D print, you probably do want to preserve your character&#8217;s pose. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Getting your meshes<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Click on your character on the screenshot. This will switch the first sidebar to the &#8220;Pixel history&#8221; tab, which will show all the Draw calls responsible for the color of the pixel you clicked on:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1366\" height=\"886\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78.png\" alt=\"slika\" class=\"wp-image-1589\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78.png 1366w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78-300x195.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78-1024x664.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78-768x498.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-78-1140x739.png 1140w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><figcaption class=\"wp-element-caption\">We&#8217;ll be mostly staying inside of the &#8216;pixel history&#8217; tab.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With most modern games, the first time you click on the screenshot, you will only have <em>one <\/em>option to click on. If for some reason you have more than one, you should click the one that matches the color of the pixel you clicked on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Clicking on the <code>DrawIndexed<\/code> call in the pixel history will open the second sidebar and highlight the 3D models that the <code>DrawIndexed<\/code> call is responsible for putting on your screen. The first time you do so, the entire screen will get highlighted in purple. <\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1366\" height=\"886\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79.png\" alt=\"slika\" class=\"wp-image-1590\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79.png 1366w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79-300x195.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79-1024x664.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79-768x498.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-79-1140x739.png 1140w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><figcaption class=\"wp-element-caption\">Oops, I accidentally spilled my purple highlighter.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is expected at that point and happens because game engines render their frames in stages: by default, Intel GPA shows you the final result, but your character is drawn on one of the first steps. So how do we reach the step on which our character is rendered?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You may have noticed the second sidebar appear on the left. It has three sections: <code>Input<\/code>, <code>Execution<\/code>, and <code>Output<\/code>. <code>Input<\/code> section includes all the ingredients that go into making the frame in current step, we don&#8217;t care about <code>Execution<\/code>, and <code>Output<\/code> section contains the cooked lunch. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Input section, find the item that has the thumbnail that looks the most like the screenshot and select it <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>. Then, click on your character <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>, observe how <em>Pixel History<\/em> panel contains a different DrawIndexed call, and then click said <code>DrawIndexed<\/code> call. <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2462<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1365\" height=\"619\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81.png\" alt=\"slika\" class=\"wp-image-1592\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81.png 1365w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81-300x136.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81-1024x464.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81-768x348.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-81-1140x517.png 1140w\" sizes=\"auto, (max-width: 1365px) 100vw, 1365px\" \/><figcaption class=\"wp-element-caption\">You may have to repeat this dance a few times. On modern games with all the latest UE bells and whistles, you will need to do this quite a few times \u2014 but on older games like GW2, you&#8217;ll be done fairly quickly.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Do note that if you&#8217;re doing that for modern games with latest rendering engines, intermediary steps that you&#8217;re interested in will not look like the final result that you observe in game \u2014 they may be significantly darker or even unlit (or even in false color because you&#8217;re looking at a normal map \u2014 but don&#8217;t complicate your life like that).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1721\" height=\"726\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19.png\" alt=\"\" class=\"wp-image-1246\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19.png 1721w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19-300x127.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19-1024x432.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19-768x324.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19-1536x648.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-19-1140x481.png 1140w\" sizes=\"auto, (max-width: 1721px) 100vw, 1721px\" \/><figcaption class=\"wp-element-caption\">The frame in the preview frame is significantly darker than how Styx: Shards of Darkness appears normally, but it&#8217;ll work for our model-extracting needs.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">&#8212;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You will know that you reached your destination when you click on your character and your <strong><em>Pixel History<\/em><\/strong> tab looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"619\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82.png\" alt=\"slika\" class=\"wp-image-1593\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82-300x136.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82-1024x463.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82-768x348.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-82-1140x516.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><figcaption class=\"wp-element-caption\">Instead of only one, <em>Pixel History <\/em>tab shows multiple <em>DrawIndexed<\/em> calls.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When you have multiple <code>DrawIndexed<\/code> calls, then the correct option is the first option where the square next to <code>DrawIndexed<\/code> call has the same-ish color as the pixel you clicked on:<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"812\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83.png\" alt=\"slika\" class=\"wp-image-1594\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83-300x178.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83-1024x608.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83-768x456.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-83-1140x677.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Clicking that option should color your character purple:<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"810\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84.png\" alt=\"slika\" class=\"wp-image-1595\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84-300x178.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84-1024x606.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84-768x455.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-84-1140x675.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><figcaption class=\"wp-element-caption\">But only a part of it.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">However, you may have noticed that not everything is highlighted. That&#8217;s because your character is made from multiple meshes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can add the rest of the character by pressing <code>Ctrl<\/code>&nbsp;on your keyboard, clicking a bit of your character that isn&#8217;t highlighted, and then control-clicking the accompanying <code>DrawIndexed<\/code> call in the <em><strong>Pixel History <\/strong><\/em>tab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Repeat until your character is completely highlighted. Don&#8217;t forget to select the landmark.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"595\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86.png\" alt=\"slika\" class=\"wp-image-1597\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86-300x130.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86-1024x445.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86-768x334.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-86-1140x496.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><figcaption class=\"wp-element-caption\">This is how your selection would look like. Note that I also selected the cube, because it turns out that round spheres are a single 3D object made out of multiple distinct non-contiguous meshes, which makes the spheres a bad landmark.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">&#8212;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that you <em>did <\/em>actually select everything by switching to <code>Geometry<\/code> option in the <code>Output<\/code> section, and give your character a spin.<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1367\" height=\"598\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87.png\" alt=\"slika\" class=\"wp-image-1598\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87.png 1367w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87-300x131.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87-1024x448.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87-768x336.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-87-1140x499.png 1140w\" sizes=\"auto, (max-width: 1367px) 100vw, 1367px\" \/><figcaption class=\"wp-element-caption\">The character will probably appear squished, but that doesn&#8217;t matter at this point. Just make sure everything is there as you spin it around.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If your character appears to be missing an item that is hidden behind them in the screenshot, you may switch to <code>API Log<\/code> tab. You will notice that <code>DrawIndexed<\/code> calls responsible for your character&#8217;s existence on screen appear relatively close to each other. You can try control-clicking a few nearby <code>DrawIndexed<\/code> calls and observe whether anything gets added to your character or not. If this results in unintended items appearing on the preview, you can always remove them by control-clicking the offending <code>DrawIndexed<\/code> call again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, export output geometry by clicking the output geometry.<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1367\" height=\"598\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88.png\" alt=\"slika\" class=\"wp-image-1599\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88.png 1367w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88-300x131.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88-1024x448.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88-768x336.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-88-1140x499.png 1140w\" sizes=\"auto, (max-width: 1367px) 100vw, 1367px\" \/><figcaption class=\"wp-element-caption\">I&#8217;m not gonna show the file dialog. You probably know how those work \u2014 just make sure you save the <code>.obj<\/code> to somewhere you can find it.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lastly, scroll back up to <em>Input <\/em>section, find your landmark&#8217;s <em>Geometry <\/em>entry, and export it. Do note that your landmark isn&#8217;t guaranteed to appear as the first <em>Geometry <\/em>item in the output.<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"596\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90.png\" alt=\"slika\" class=\"wp-image-1601\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90.png 1368w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90-300x131.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90-1024x446.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90-768x335.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-90-1140x497.png 1140w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Exporting for purposes other than printing your mini<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re exporting stuff for your cosplay project, or if you want to have your characters in T-pose in order to animate or pose them manually, you probably want to skip exporting things from <em>Output<\/em> section and instead export ALL geometry items from the <em>Input <\/em>section instead. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If that&#8217;s the case, you also don&#8217;t have to export your landmark, as landmarks are only used to fix the exported output. <\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">This was the easiest 10 minutes of the whole process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"blender-segment-start\">Making Your Model Printable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The model you exported has some problems that make it not the most printable. Some more obvious than others.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You probably noticed that your character appears squished, and we don&#8217;t want that. Your model also contains gaps and other stuff that 3D printers don&#8217;t always like. This means we&#8217;ll have to open Blender and fix those issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"unsquish\">Unsquishing the model<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1737\" height=\"971\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26.png\" alt=\"\" class=\"wp-image-1253\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26.png 1737w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26-300x168.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26-1024x572.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26-768x429.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26-1536x859.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-26-1140x637.png 1140w\" sizes=\"auto, (max-width: 1737px) 100vw, 1737px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a>\u266b<a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a> Graphics driver sat upon my hat, it squished my model, it made it just go flat! <a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a>\u266b<a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a><br><a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a>\u266b<a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a> Tell me everybody, now, what do you think of that? <a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a>\u266b<a href=\"https:\/\/www.compart.com\/en\/unicode\/U+266B\">\u266b<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you did the Intel GPA step as instructed, your model should be squished in a very particular way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you&#8217;re playing a game, game engines convert coordinates of objects into something suitable for graphics card to work with. By convention, everything you can see on screen exists inside a cube from <code>(-1, -1, -1)<\/code>&nbsp;to <code>(1, 1, 1)<\/code> \u2014 though certain graphics APIs and\/or game engines may do things slightly differently. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This means that what your monitor displays as, say, 3440&#215;1440 rectangle, your GPU perceives as 2&#215;2 square. In order to undo the squish, we therefore need to stretch the square back into the rectangle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To be completely honest, you don&#8217;t <em>need<\/em> to do any fancy math. You can import model in Blender, press <code>Num 1<\/code> for front view, press <code>S<\/code> <code>X<\/code> and drag the mouse around until your model looks good from the front. You can get the exact amount by taking your in-game resolution and dividing width by height. Result is the correct scale factor for X axis. For 16:9, that&#8217;s <code>1.78<\/code>. For 21:9, that&#8217;s <code>2.39<\/code> or <code>2.37<\/code> Then, you press <code>Num 3<\/code> for side view, press <code>S<\/code> <code>Y<\/code>, and drag the mouse around until your model looks good from the size, and you&#8217;re <strong>done.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if you want your character model to appear exactly as in game, you can do some math in order to achieve that \u2014 assuming, of course, that you picked your landmark correctly. Because I&#8217;m occasionally doing these things a lot, I decided to write myself a tool that automatically corrects the squish for me and incorporates some other QoL improvements. <a href=\"https:\/\/tamius-han.github.io\/intel-gpa-squish-calculator\/\">Here&#8217;s the link<\/a>. Since we exported our landmark object both in squished and unsquished version, we can use some maths to calculate exactly(ish) how squished our character is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You just have to drag the files onto the fields of the webpage:<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1823\" height=\"1266\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71.png\" alt=\"slika\" class=\"wp-image-1577\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71.png 1823w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71-300x208.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71-1024x711.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71-768x533.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71-1536x1067.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-71-1140x792.png 1140w\" sizes=\"auto, (max-width: 1823px) 100vw, 1823px\" \/><figcaption class=\"wp-element-caption\">If you select both files at the same time, you can drag them in either field and the page will figure which file is landmark and which file is output geometry. It&#8217;s not 100% foolproof, but it works most of the time.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As soon as you&#8217;re done, the page will automatically calculate correction factors. If X factor matches your in-game aspect ratio, then the conversion likely happened without issues. Otherwise, you may need to pick a better landmark.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if everything is fine and you get that &#8220;fix and save&#8221; button, you can just click it in order to save the fixed version. If your landmark is character&#8217;s weapon, then also untick the &#8220;remove landmark from output geometry&#8221; checkbox.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1894\" height=\"1441\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72.png\" alt=\"slika\" class=\"wp-image-1578\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72.png 1894w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72-300x228.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72-1024x779.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72-768x584.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72-1536x1169.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-72-1124x855.png 1124w\" sizes=\"auto, (max-width: 1894px) 100vw, 1894px\" \/><figcaption class=\"wp-element-caption\">If everything was okay, you&#8217;ll get an option to save corrected geometry.<\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">By the way \u2014 this conversion page runs entirely in your browser. If you download the project from github, this converter will work without internet connection.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"blender-eli5\">How 2 Blender for absolute beginners<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re new to Blender, this resembles what you&#8217;ll see. Your first steps are:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ctrl-click &#8216;camera&#8217; and &#8216;light&#8217;. We don&#8217;t need those two things. Press &#8216;delete&#8217; to get rid of them. <br>Strictly speaking, we don&#8217;t need the cube either \u2014 but it&#8217;s gonna be mildly useful for the next 5 minutes. You can leave it for now, as it makes it easy to see which zoom level comes with millimeter squares on the grid in the background.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1517\" height=\"818\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20.png\" alt=\"\" class=\"wp-image-1247\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20.png 1517w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20-300x162.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20-1024x552.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20-768x414.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-20-1140x615.png 1140w\" sizes=\"auto, (max-width: 1517px) 100vw, 1517px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Click the <em>Viewport overlays <\/em>dropdown and check the <em>Face orientation <\/em>checkbox. The cube should turn blue. From now on, blue means good and red means bad.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1514\" height=\"825\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22.png\" alt=\"\" class=\"wp-image-1249\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22.png 1514w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22-300x163.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22-1024x558.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22-768x418.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-22-1140x621.png 1140w\" sizes=\"auto, (max-width: 1514px) 100vw, 1514px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>2025 update:<\/strong> Blender 4.4 came out, and changed a few defaults. When you check &#8216;Face Orientation&#8217; box, the model will remain gray on the outside. However, as said before: seeing red (when not clipped into the object) still indicates a problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I ain&#8217;t gonna go and update screenshots, though. Unless sections require corrections for other reasons.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Now it&#8217;s time to import the <code>.obj<\/code> file we saved in the previous chapter. Once our model has been imported, we should stand it upright and scale it to the size we want.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default, Blender works on the scale of 1 unit = 1 m, but 3D printer assume that 1 unit = 1 mm. This means that every time you see <em>1 m <\/em>in Blender, you&#8217;re looking at <em>1 mm <\/em>once printed. You could configure that away if it bothers you, but it hasn&#8217;t really been a problem for me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you haven&#8217;t used Blender before, your favourite keyboard friends will be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>S<\/code> \u2014 resize (scale)<\/li>\n\n\n\n<li><code>r<\/code> \u2014 rotate<\/li>\n\n\n\n<li><code>g<\/code> \u2014 move (grab)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You press the key to enter resize\/rotate\/move mode. While these modes are active, moving your mouse around will enlarge or shrink the object. When you reach the desired size, position, or rotation, left-click to finish the process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While rotating, resizing, or moving, you can also press <code>x<\/code>, <code>y<\/code>, <code>z<\/code> to limit movement \/ resizing \/ rotating along\/around the respective axis, and <code>shift-x<\/code>, <code>shift-y<\/code>, <code>shift-z<\/code> to limit movement\/resizing along the plane perpendicular to the respective axis. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to resize (or rotate, or move) the object by a given factor, you can also type out <code>S<\/code> <code>&lt;factor&gt;<\/code> and press enter, e.g. <code>S<\/code> <code>2<\/code> <code>[enter]<\/code>. This will make the object twice as large (along each dimension). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, there&#8217;s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Num 1<\/code>, <code>Num 3<\/code>, <code>Num 7<\/code> for front, side, and top view<\/li>\n\n\n\n<li><code>Num 9<\/code> \u2014 look at the model from the opposite side<\/li>\n\n\n\n<li><code>Num 4<\/code>, <code>Num 6<\/code>, <code>Num 2<\/code>, <code>Num 8<\/code> \u2014 rotate the camera around the model along the horizontal\/vertical axis.<\/li>\n\n\n\n<li><code>Num 5<\/code> switches between orthographic and perspective camera<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">I hope you&#8217;re not one of the peasants who think numpad part of the keyboard is optional, because it&#8217;s really \u00fcber-handy when you&#8217;re doing anything in blender.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If numpad doesn&#8217;t exist on your keyboard, you can use this gizmo instead:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"162\" height=\"160\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-24.png\" alt=\"\" class=\"wp-image-1251\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Another thing we need to cover upfront is movement:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Middle click + drag<\/code> will rotate the camera around the model<\/li>\n\n\n\n<li><code>Shift + middle-click + drag<\/code> will move you across the space<\/li>\n\n\n\n<li><code>Mouse scroll<\/code> will zoom\/unzoom<\/li>\n\n\n\n<li><code>Shift + `<\/code> turns on Walk\/Fly mode. This allows you to move around the scene with <code>WASD<\/code> (+<code>Q<\/code>\/<code>E<\/code> for up and down). Left-click while in the mode puts the camera at your current position. Escape resets camera position to where you were before you entered the walk\/fly mode.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That about covers the basic basics. Now you can resize your character to the size you want (I usually go for 100x100x100 mm bounding box), and rotate it upright.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When rotating your character, your character is rotated around an origin point. Said origin point may be far outside your character, which will cause the model to be rotated in unexpected ways. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you used the squish calculator earlier, the origin point should be approximately at your character&#8217;s feet, which is probably the most convenient position for rotations and scaling. But if for some reason the origin point of the character is widely outside of your character, you can fix that by right-clicking your character and selectubg <em>Set Origin -&gt; Origin to Center of Mass <\/em>(either option is fine).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"471\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-25.png\" alt=\"\" class=\"wp-image-1252\" style=\"object-fit:cover\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-25.png 550w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-25-300x257.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><figcaption class=\"wp-element-caption\">The dot (O) marks the point that Blender considers to be the origin of the model.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"low-poly\">Low-poly: Getting the &#8220;minimum viable model&#8221; <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In order for games to run as fast as they do, game engines and game designers tend to cheat a lot. Game objects \u2014 especially characters \u2014 often aren&#8217;t solid 3D objects, but a collection of triangle sheets that have no volume. When you&#8217;re playing a game, you aren&#8217;t going to notice this (unless you look <em>really <\/em>close), but your 3D printer will. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thus, we need to ensure our character consists of a single mesh that has absolutely no holes in it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s few other things we need to keep in mind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>all walls should ideally be at least 2 mm thick<\/li>\n\n\n\n<li>you can go thinner than 2mm if it&#8217;s an emergency, but don&#8217;t go under 1mm thick.<\/li>\n\n\n\n<li>Yes, even if printing resin<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Or at least that&#8217;s the advice I got. Sounds reasonable, so I&#8217;m going to pass it on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But back to our character model. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When we extracted the character model from the game, the meshes the character is made of got broken into individual triangles. This is bad, because it makes cleaning the model up much harder. Fortunately for us, we can fix that \u2014 in two ways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Option A: export the model as <code>.stl<\/code> and then re-import it again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Option B: add weld modifier, mode <code>All<\/code>, with the smallest positive non-zero number possible in the <em>Distance <\/em>field:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"351\" height=\"122\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-33.png\" alt=\"\" class=\"wp-image-1260\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-33.png 351w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-33-300x104.png 300w\" sizes=\"auto, (max-width: 351px) 100vw, 351px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Check that this didn&#8217;t delete any triangles you didn&#8217;t want to vanish. Apply modifier, then <code>Tab<\/code> to switch to edit mode.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Removing unnecessary parts<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Edit mode has a toolbar to the left. By long-pressing the top option <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>, you can choose the kind of select tool you want. Box select is adequate, but you can probably do better by using lasso select option. You can also choose whether you want to select polygon vertices, edges, or faces <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong> (keyboard shortcuts are <code>1<\/code>, <code>2<\/code> and <code>3<\/code> respectively \u2014 get used to them because they&#8217;ll speed up things a lot).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"693\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-35-1024x693.png\" alt=\"\" class=\"wp-image-1262\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-35-1024x693.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-35-300x203.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-35-768x520.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-35.png 1118w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before continuing, verify that weld modifier succeeded in joining triangles into meaningful meshes. Select any single face, edge, or vertex and press <code>Ctrl+L<\/code>. If this expands the selection to more than one triangle, then weld modifier did its job and we can continue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, press <code>A<\/code>. This should select everything (and if it doesn&#8217;t, press <code>A<\/code> again). Right-click anywhere and choose <em>Separate -&gt; By Loose Parts <\/em>in the popup that appears <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>. This should turn your one object into <em>a lot <\/em>of objects <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36-1024x561.png\" alt=\"\" class=\"wp-image-1263\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36-1024x561.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36-300x164.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36-768x420.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36-1140x624.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-36.png 1509w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At this point is to eliminate small meshes that we don&#8217;t want to deal with. Most notably, anything that&#8217;s<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>made up of single-digit number of polygons<\/li>\n\n\n\n<li>any small details that don&#8217;t have any width to them<\/li>\n\n\n\n<li>anything that you can tell is too small to print. If it&#8217;s nowhere close to being at least 1mm in every direction, it has to go<\/li>\n\n\n\n<li>honestly just use common sense. If you remove a mesh and you don&#8217;t think it has a meaningful effect on the appearance of your character, then it needs to go. If it&#8217;s less than 1mm along any axis, and if it has less than 1x1mm contact with the mesh next to it, it&#8217;s gonna be faster for you to just re-create that later.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Be careful because skirts and below-waist parts of trench coats aren&#8217;t always a single mesh \u2014 they could be made out of two meshes. Spearmarshall medium (on picture) doesn&#8217;t do this, but Rubicon does.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37-1024x519.png\" alt=\"\" class=\"wp-image-1264\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37-1024x519.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37-300x152.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37-768x390.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37-1140x578.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-37.png 1512w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">While you&#8217;re busy shift-clicking:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">If you make a mistake and lose your selection \u2014 in Blender, <code>Ctrl+Z<\/code> also undoes any changes to your selection. If you select 69 meshes and then accidentally click while not holding shift \u2014 no need to re-click all 69 individual parts, just <code>ctrl+Z<\/code> it.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Once you selected everything you want to keep, right-click and select &#8216;move to collection&#8217;. Choose the &#8216;new collection&#8217; option in the popup that appears, and name your collection whatever you want.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"834\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38-1024x834.png\" alt=\"\" class=\"wp-image-1265\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38-1024x834.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38-300x244.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38-768x625.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38-1050x855.png 1050w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-38.png 1110w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then, hide everything that&#8217;s not in your new collection and make sure everything is visible in your new collection. That allows you to see if you missed anything important:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39-1024x533.png\" alt=\"\" class=\"wp-image-1266\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39-1024x533.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39-300x156.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39-768x400.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39-1140x593.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-39.png 1514w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">In this example case, we&#8217;re missing quite a few important bits.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you are, hide your new collection, unhide your old collection, and repeat this process until all the important bits of your character are in your new collection, and the old collection contains just the tiny bits you don&#8217;t want to deal with. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For my specific case, the division between things I&#8217;m willing to put up with and the things I don&#8217;t looks something like so:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"431\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40-1024x431.png\" alt=\"\" class=\"wp-image-1267\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40-1024x431.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40-300x126.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40-768x323.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40-1140x479.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-40.png 1460w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key takeaways:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>yes, I do keep some of the tiny meshes \u2014 (spikes on the hand armor, jewelry, teeth). They do quite significantly contribute to final appearance, but they also have some relatively significant volume.<\/li>\n\n\n\n<li>I can hear the &#8220;yeah but net is a significant part of Spearmarshall&#8217;s armor&#8221; in the distance, and that&#8217;s correct. However, the mesh is nowhere near printable \u2014 certain parts are too thin or too twisted or turned inside out, with unholy amount of self-intersections. It&#8217;s gonna be a nightmare to boolean. It&#8217;s much easier and less effort to re-create the mesh from scratch, than it is to ensure the existing mesh is gucci for print<\/li>\n\n\n\n<li>I&#8217;m not willing to put in the effort to add backpack straps to the model (at this point), so backpack gotta go<\/li>\n\n\n\n<li>The bits at the bottom of spearmarshall armor&#8217;s skirt are zero-width and thus non-printable, you can see those bits are very 2D from the picture. You&#8217;re better off recreating those bits by hand if you want to have them. It&#8217;s gonna be much faster.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Fixing the geometry<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Now it&#8217;s time to do something about the red bits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The color of objects represents whether we&#8217;re looking at the inside face or the outside face. Since we&#8217;re looking from the outside, we should only be seeing blue faces. There&#8217;s four reasons why you could be seeing red that can be relatively easily fixed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the object has no volume, and consists of a single polygon sheet <\/li>\n\n\n\n<li>the object is open on one side (solution: fill the gap)<\/li>\n\n\n\n<li>the object is inside out (solution: <code>shift-n<\/code> recalculate normals)<\/li>\n\n\n\n<li>the object self-intersects in a way that part of the object is inside-out<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"643\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-45.png\" alt=\"\" class=\"wp-image-1272\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-45.png 838w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-45-300x230.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-45-768x589.png 768w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><figcaption class=\"wp-element-caption\">Cross-section of above four cases<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Example of latter is on the under-belt portion of the Spearmarshall&#8217;s armor \u2014 this red bit here:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"530\" height=\"476\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-46.png\" alt=\"\" class=\"wp-image-1273\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-46.png 530w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-46-300x269.png 300w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is solved by going into the <em>Edit Mode<\/em>, pressing <code>3<\/code> to select faces, and then selecting a ring of blue faces around the red bit like so:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"871\" height=\"607\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-47.png\" alt=\"\" class=\"wp-image-1274\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-47.png 871w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-47-300x209.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-47-768x535.png 768w\" sizes=\"auto, (max-width: 871px) 100vw, 871px\" \/><figcaption class=\"wp-element-caption\">Be careful NOT to select the red bits here.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We delete the faces (<code>Delete<\/code>). This leaves us with a gap in the model, which is bad. We don&#8217;t want holes, so we need to fill that. Press <code>2<\/code> to select edges, <code>Alt + click<\/code> to select all the edges around the hole (If <code>alt + click<\/code> does not select all the edges, you can add additional sections by pressing <code>alt + shift + click<\/code>), and then pressing <code>F<\/code>, followed by <code>T<\/code>. The hole should be filled and the fill should now be made of triangles:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-50-1024x632.png\" alt=\"\" class=\"wp-image-1277\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-50-1024x632.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-50-300x185.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-50-768x474.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-50.png 1119w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note that this action left us a bit of orphan faces we don&#8217;t want anymore. We need to find them and delete them, which is an exercise for the reader.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example of &#8220;object that&#8217;s open on one side&#8221; is on legs, arms, and <em>whole lot of other places, actually. <\/em>Select the guilty mesh, press <code>2<\/code> while in edit mode to select edges, <code>Alt + click<\/code> on an open edge. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48-1024x541.png\" alt=\"\" class=\"wp-image-1275\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48-1024x541.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48-300x159.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48-768x406.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48-1140x602.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-48.png 1512w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Press <code>F<\/code>, press <code>T<\/code>. Done.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"311\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-49.png\" alt=\"\" class=\"wp-image-1276\" style=\"width:517px;height:auto\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-49.png 517w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-49-300x180.png 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Repeat for all other models.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we&#8217;re getting into trickier bits. Hat is the case of being a polygon sheet without volume. This requires a little bit of thinking to solve, as it varies on case-by-case basis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our meshes should not have any inside walls, and there should be absolutely NO situations where more than two polygons share an edge. If you have more than two polygons along the same edge, you either have an inside wall, or a bit of geometry that&#8217;s a bit of red in the sea of blue.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2336\" height=\"1392\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section.webp\" alt=\"\" class=\"wp-image-1285\" style=\"width:1140px;height:auto\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section.webp 2336w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-300x179.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-1024x610.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-768x458.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-1536x915.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-2048x1220.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/not-gucci-cross-section-1140x679.webp 1140w\" sizes=\"auto, (max-width: 2336px) 100vw, 2336px\" \/><figcaption class=\"wp-element-caption\">Quick cross-section illustration of what geometry to avoid.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"554\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-51-1024x554.png\" alt=\"\" class=\"wp-image-1278\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-51-1024x554.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-51-300x162.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-51-768x416.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-51.png 1062w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The hat is a real-world example of upper left case from the previous picture.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The correct approach is to identify which edges are shared by more than 2 polygons, and deleting the offending polygons. Usually, that&#8217;s blue polygons that share a border with reds when watching model from the outside:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"634\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-52-1024x634.png\" alt=\"\" class=\"wp-image-1279\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-52-1024x634.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-52-300x186.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-52-768x476.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-52.png 1064w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">These faces must be deleted.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select the offending polygons and delete them (<code>Delete<\/code> -&gt; <code>Delete faces<\/code>). After deleting, you may move individual edges, polygons, and vertices around to achieve a better shape (to your taste). After you&#8217;re done, select the faces that were red initially (do not select red faces that were under the blue faces you just deleted) and press <code>E<\/code> to extrude. You can eyeball that &#8220;emergency 1mm thickness&#8221;, or you can press <code>Esc<\/code>. This will give you a dialog popup:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"662\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-53-1024x662.png\" alt=\"\" class=\"wp-image-1280\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-53-1024x662.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-53-300x194.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-53-768x497.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-53.png 1121w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can use the popup to move up exactly 1mm by adjusting the appropriate slider. You probably want to check the <code>Dissolve Orthogonal Edges<\/code> checkbox as well, because if you don&#8217;t, you may end up with inside walls:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"549\" height=\"470\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-54.png\" alt=\"\" class=\"wp-image-1281\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-54.png 549w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-54-300x257.png 300w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><figcaption class=\"wp-element-caption\"><strong>And that&#8217;s bad.<\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We also see that <code>extrude<\/code> only moved our polygons up and created walls, but it didn&#8217;t fill the bottom for us. One of the walls that were created by extrude will become inner wall once we fill the gaps. We delete this wall:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-55-1024x604.png\" alt=\"\" class=\"wp-image-1282\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-55-1024x604.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-55-300x177.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-55-768x453.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-55.png 1117w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then, we connect bottom faces of the hat on the inside end with bottom edge of the outer brim:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"639\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-56-1024x639.png\" alt=\"\" class=\"wp-image-1283\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-56-1024x639.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-56-300x187.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-56-768x479.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/08\/slika-56.png 1113w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You then fill the hole (Select edges with <code>Alt-click<\/code>, <code>F<\/code>, <code>T<\/code>), and do the same thing on the upper edge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After you&#8217;re done, parts of the hat will still be red. At this point, you press <code>A<\/code> to select all vertices\/edges\/faces of the mesh, and <code>Shift + N<\/code> to recalculate normals. If your mesh turns blue, you&#8217;re gucci. If it stays red (or if it becomes redder, but not completely so), then you probably have an unfilled hole somewhere in the mesh, or an inside wall. Find and fix.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember to do this for every individual piece in isolation. Just because something looks okay when you see all the parts, that doesn&#8217;t mean all the parts are okay \u2014 and if some parts aren&#8217;t okay, this could be problematic later when we try to join everything together.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"494\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1.png\" alt=\"\" class=\"wp-image-1286\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1.png 998w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1-300x148.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1-768x380.png 768w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><figcaption class=\"wp-element-caption\">The boots appear to be fine when everything is visible, but other parts hide a big hole in the boot mesh.<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Check that geometry is actually fixed<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">So here&#8217;s a (not so) fun fact: just because you can&#8217;t see the red, it doesn&#8217;t mean everything is cool. After fixing the &#8220;obvious&#8221; problems, you should also check if the problems are <em>really <\/em>gone with the <em>3D Print Toolbox <\/em>addon. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you installed 3D Print Toolbox addon, it should have added a new, <code>3D Print<\/code> tab to the right side of the viewport. Click the tab, expand <em>Analyze section <\/em>if necessary, and then click the <em>Check All <\/em>button.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"831\" height=\"450\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-51.png\" alt=\"\" class=\"wp-image-1428\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-51.png 831w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-51-300x162.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-51-768x416.png 768w\" sizes=\"auto, (max-width: 831px) 100vw, 831px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you click it, you will get a detailed report of all the problems with your model. If you&#8217;re in edit mode, each problem in the result will be a button. Clicking the button will select all the problematic edges or faces. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a few that you can ignore, and a few that you can&#8217;t. The non-ignorable problems are, as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Non Manifold Edges <\/strong>\u2014 they usually indicate a hole that you missed, or cases where the same edge belongs to more than two polygons (aka &#8220;the hat problem&#8221; from earlier). If you don&#8217;t fix this, you <strong>will <\/strong>experience problems down the line.<\/li>\n\n\n\n<li><strong>Intersect faces <\/strong>\u2014 we already said self intersection is bad, but fixing this one is pretty manual<\/li>\n\n\n\n<li><strong>Non-flat faces <\/strong>\u2014 you fix this issue by clicking the button and pressing <code>Ctrl + T<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can ignore everything else (except Bad Contiguous Edges, but I haven&#8217;t seen that one in the wild yet).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"403\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-1024x403.png\" alt=\"\" class=\"wp-image-1429\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-1024x403.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-300x118.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-768x302.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-1536x605.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-2048x806.png 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-52-1140x449.png 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Mesh was checked for problems. Problems were found. Notice the orange outline near the over-the-shoulder loop. There are actually <em>two <\/em>separate holes, but one of them is not easily visible as the problematic end self-intersects with the lower part of the mesh, and is therefore hidden inside the mesh.<br>Yes, this screenshot was added into this article <em>after <\/em>Blender 4.4 came out, whereas most of this article was written using Blender 4.2.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you explore the options offered by 3D Print Toolbox, you might notice that &#8216;Clean up&#8217; section offers a temptingly-named &#8220;Make manifold&#8221; button. In my experience, &#8216;make manifold&#8217; button is only rarely the &#8220;fix this for me because I can&#8217;t be bothered&#8221; button. In my experience, &#8220;Make manifold&#8221; has been more likely to destroy things than it was to fix them. You can <em>try <\/em>if it fixes the issues for you, but keep that <code>Ctrl + S<\/code> and &nbsp;<code>Ctrl + Z<\/code> handy if you go that route.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ensuring proper thickness<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;ve filled all the holes, it&#8217;s time to ensure sufficient thickness everywhere across the model. This one is simple: you go around model in front, side, and top view and use Blender&#8217;s background grid to find things that are thinner than 1-2 mm. Once you identify such parts, you enter into edit mode, set select mode to faces (<code>3<\/code>), and select all faces along one of the sides of the part. Angle your camera so you&#8217;re looking at the part from the side. Press <code>G<\/code> to move all the selected faces to the desired position. Click to make them stay there.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pressing <code>X<\/code>\/<code>Y<\/code>\/<code>Z<\/code> (and <code>Shift<\/code>&#8211;<code>X<\/code>\/<code>Y<\/code>\/<code>Z<\/code> will, as usual, limit the movement of faces along the world x,y,z axes.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2266\" height=\"718\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2.png\" alt=\"\" class=\"wp-image-1287\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2.png 2266w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-300x95.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-1024x324.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-768x243.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-1536x487.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-2048x649.png 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-2-1140x361.png 1140w\" sizes=\"auto, (max-width: 2266px) 100vw, 2266px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This isn&#8217;t always possible. Sometimes, faces of the side you want to move will share edges with the side you don&#8217;t to move. That&#8217;s when you extrude the faces (<code>E<\/code>). <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"3111\" height=\"945\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3.png\" alt=\"\" class=\"wp-image-1288\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3.png 3111w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-300x91.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-1024x311.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-768x233.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-1536x467.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-2048x622.png 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-3-1140x346.png 1140w\" sizes=\"auto, (max-width: 3111px) 100vw, 3111px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The problem with extrusion is that it can only move your faces in one direction you have relatively little control over &#8230; and it can mess up parts of your model a bit if you aren&#8217;t careful. But if extruding puts your faces in places where you don&#8217;t want them to be, you can still move them around by using <code>G<\/code> to move or <code>S<\/code> to scale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With fingers, you probably want to make them thicker <em>without <\/em>making them longer. You <em>could <\/em>select each edge loop that goes around the finger and make it bigger, but that would take a lot of time. Quicker approach is to enter <em>Sculpt Mode <\/em><strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>, choosing <em>Inflate\/Deflate <\/em>tool <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>, and then clicking the fingers until they get big enough (but they shouldn&#8217;t intersect). <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"872\" height=\"543\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-5.png\" alt=\"\" class=\"wp-image-1290\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-5.png 872w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-5-300x187.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-5-768x478.png 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If the process is too slow to your liking, you can also adjust how strong the tool is <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2462<\/strong> \u2014 and if you ever need things to shrink instead of inflate, that&#8217;s what the +\/- buttons <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2463<\/strong> do.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Other minor things<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Does this armor clipping bother you?<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-exs-square\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-6-800x800.png\" alt=\"\" class=\"wp-image-1291\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-6-800x800.png 800w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-6-150x150.png 150w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Things like that aren&#8217;t illegal to fix. Enter object mode, select the clipping object, and move <code>G<\/code> and rotate <code>R<\/code> it a bit until you find something that works. Sometimes (if the armor comes in enough distinct pieces), it can literally take less than 5 minutes to fix \u2014 and if the object rotates around a point you didn&#8217;t expect, you can <em>right click -&gt; set origin -&gt; center of mass<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"827\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13-1024x827.png\" alt=\"\" class=\"wp-image-1298\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13-1024x827.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13-300x242.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13-768x620.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13-1058x855.png 1058w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-13.png 1296w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is <em>much <\/em>better, and it didn&#8217;t cost a lot of time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In some cases, though, you might need to mess around with the lattice tool a fair bit.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Merging it all together<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In order to print the model, it needs to be in one piece. If you keep all the relevant meshes in a single collection, this is pretty straight-forward.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enter the object mode and draw a small cube, and move it so that the cube is completely, 100% inside your character.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-1024x432.png\" alt=\"\" class=\"wp-image-1432\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-1024x432.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-300x126.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-768x324.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-1536x647.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-2048x863.png 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-53-1140x480.png 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Initially, this part of the post had a much less straight-forward guide for merging the meshes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then, add a boolean modifier to the cube. Boolean should be set to <em>Union, <\/em>operand type should be set to <em>Collection,<\/em> and Collection should be set to the collection that you moved your fixed meshes to:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"366\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-54.png\" alt=\"\" class=\"wp-image-1433\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-54.png 612w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-54-300x179.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you do so, hide everything except the smaller cube. If you can still see your character in blue, then congrats: you probably have a model that you can print. If you don&#8217;t see your character in full, or if you see a cube, then something went wrong. Possible reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You didn&#8217;t fill all the holes in all the meshes of your character<\/li>\n\n\n\n<li>Blender booleans aren&#8217;t always reliable<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Possible fixes: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Find the problematic parts that you missed<\/li>\n\n\n\n<li>Try joining parts of your character in smaller steps \u2014 e.g. try joining just the legs, and just the arms, and just the head, and just the rest of the body. This will make it easier to identify which parts of your character are causing problems.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Speaking of that last point: there <em>is <\/em>some benefit to keeping your mini in multiple pieces \u2014 e.g. separate piece for legs, arms, head, and the rest of the body. You might want to keep your mini in multiple pieces if:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>you don&#8217;t have access to a a 3D printer big enough to print the entire mini in one piece<\/li>\n\n\n\n<li>you want to put shinies (LEDs) inside your mini<\/li>\n\n\n\n<li>you plan on painting your mini and don&#8217;t want to deal with the difficulty of painting hard-to-paint corners<\/li>\n\n\n\n<li>you want to sculpt back the details and have a mid- or especially low-range PC.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">If everything looks fine, apply all the modifiers. Now you can export the model as <code>stl<\/code> and head over to the TODO LINK \u2014 although you probably also want to create a base for your mini. Make sure that you select the smaller cube (which should now look like your character), and that you check the <em>Selection only<\/em> and <em>Apply Modifiers <\/em>checkboxes in the <em>Export STL <\/em>dialog window:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"303\" height=\"387\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-11.png\" alt=\"\" class=\"wp-image-1296\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-11.png 303w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-11-235x300.png 235w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Exporting multi-part prints<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If you decide to split your mini into multiple parts, you need to think about where you want one part end and the other begin. In general, you want to cut along a sharp edge in order to make seams less obvious. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step number one is to appropriately sort character meshes into different collections for each separate part you want to print. Meshes that cross the plane where you want your cut to be should be in both collections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step number two is to create a cut. Use the <em>Add cube <\/em>tool from earlier and create two cubes \u2014 one above the place where you want your cut, and one below. Scale and position them so that the part you want to cut goes completely through the middle. Use boolean modifiers to subtract lower cube from the upper part, and upper cube from the lower part. If upper part has any unwanted geometry remaining below the cut, or if the lower part has any unwanted geometry remaining above the cut, tab into edit mode and delete unwanted geometry. To make things easier, you can select a small handful of points of the unwanted geometry and press <code>Ctrl + L<\/code> to select everything that&#8217;s connected to the selection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After you create the cut, also make sure that parts don&#8217;t overlap. If two parts overlap, they won&#8217;t fit once printed. If you find your parts overlap, use boolean modifiers to subtract smaller part from the bigger part (or the other way around, if you think it&#8217;ll look better).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step 3 is to create some pegs and holes. While circular pegs and holes often are tempting, it&#8217;s generally better to have rectangular or at least elliptical pegs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, decide which part gets a peg and which part gets a hole. For strength, it&#8217;s usually better to have the peg on the smaller part, and hole on the bigger part. Then, draw the &#8220;peg&#8221; box. Start drawing on the surface, and extend the box about ~3-5mm from the surface. Once the box is drawn, move it slightly into the mesh of the part that will receive the peg. After moving, duplicate that box and make it slightly bigger. Try to make it 0.25-0.5 mm wider on both sides, and up to 0.25-1mm longer. The second box is your hole box.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Pegs should also always be as wide as possible.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Use boolean modifier to add (union) the peg box to the part that should have the peg, and subtract the hole box from the part that should have the hole. Ensure that your peg and hole are sized appropriately \u2014 you want your peg to be at least 2mm thick, and you want the walls around the hole to be at least 1mm thick. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Designing the base<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t need to put your character on a base. You probably should, though, because it gives your printed character stability and makes it harder to knock over.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can&#8217;t go wrong with a round base (although feel free to do different shapes if you want). Go back to object mode and select the <em>Add Cylinder <\/em>tool, which you can find by clicking and holding the <em>Add Cube <\/em>button <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>. Then, go to tool settings <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong> and set vertices to something higher than the default 32 <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2462<\/strong>. You probably want something between 256-1024 in order to get a sufficiently round cylinder.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1338\" height=\"769\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18.png\" alt=\"\" class=\"wp-image-1316\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18.png 1338w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18-300x172.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18-1024x589.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18-768x441.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-18-1140x655.png 1140w\" sizes=\"auto, (max-width: 1338px) 100vw, 1338px\" \/><figcaption class=\"wp-element-caption\">You can probably start guessing what order the chapters were written in just by the state of the mini model.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With options set to something that will actually give you something that resembles a smooth circle, draw a circle around your character. If you want a circle that&#8217;s not ever so slightly elliptical, hold shift. Ideally your base should be at least 5mm thick. If you&#8217;re going for extra credit by adding LEDs into your minis, you probably want to have your base 1-2cm thick. You also want a thicker and hollow base with enough space for few steel nuts if your character has a weapon that sticks far outside the base that risks tipping the mini over, such as the mini from the last blog post.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1381\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-scaled.webp\" alt=\"\" class=\"wp-image-961\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-scaled.webp 2560w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-300x162.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-1024x552.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-768x414.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-1536x829.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-2048x1105.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/02\/varran-w-measurements-1-1140x615.webp 1140w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">The gun of the long ass variety on the figure from the first post would cause the mini to tip over.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you want the base to slope a bit, you can tab into edit mode, set select mode to <em>Select faces <\/em><code>3<\/code>, select the top face of the cylinder and press <code>S<\/code> to resize it a bit. Do note that if you want to fit a type C connector somewhere later on, you probably don&#8217;t want to have the slope.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1434\" height=\"869\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20.png\" alt=\"\" class=\"wp-image-1317\" style=\"object-fit:cover\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20.png 1434w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20-300x182.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20-1024x621.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20-768x465.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-20-1140x691.png 1140w\" sizes=\"auto, (max-width: 1434px) 100vw, 1434px\" \/><figcaption class=\"wp-element-caption\">It&#8217;s a small change, but it makes a large difference<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In any case, consider triangulating (edit mode -&gt; select upper face -&gt; <code>Ctrl + T<\/code>) the upper face before creating the pegs. If the legs of your character are at different heights, make sure to add additional cylinders or boxes to your base as needed to fill in the gap, and use boolean modifiers to add (union) them together.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"649\" height=\"616\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-22.png\" alt=\"\" class=\"wp-image-1319\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-22.png 649w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-22-300x285.png 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You want to have a peg on each leg of the miniature, and a corresponding hole on the base. You also want the pegs to be perpendicular to the base. Go back to object mode, use <em>Add cube <\/em>tool and draw two boxes on the base:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"913\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21-1024x913.png\" alt=\"\" class=\"wp-image-1318\" style=\"width:1024px;height:auto\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21-1024x913.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21-300x268.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21-768x685.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21-958x855.png 958w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-21.png 1112w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hide the base and appropriately resize, rotate, and align the boxes with the feet of your character. Using front, side, and top view (<code>Num 1<\/code>, <code>Num 3<\/code>, <code>Num 7<\/code>, <code>Num 9<\/code>) helps a lot. Ensure that boxes intersect with the model at the top.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, unhide the base and duplicate both boxes. Resize each box to provide at least 0.25-0.5mm along each axis. Select both boxes again, and move <code>G<\/code> them directly down (press <code>Z<\/code> to limit movement along vertical axis). If necessary, individually adjust each box so that the top of the box just <em>barely <\/em>clips out of the base:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"763\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23-1024x763.png\" alt=\"\" class=\"wp-image-1320\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23-1024x763.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23-300x224.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23-768x573.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23-1140x850.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-23.png 1273w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(1) \u2014 peg boxes should clip into the feet just a little.<br>(2) \u2014 hole boxes should be almost fully submerged inside the base.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Use booleans to add (union) peg boxes to your character. Use booleans to cut (subtract) hole boxes from the base. Hide the box objects in order to verify that booleans work correctly, and then apply booleans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Congrats, you have a rudimentary base.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"smooth\">Smoothing out the edges<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can now relatively safely forget about the collection you started with, and work on your character-shaped cube we created at the end of previous chapter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Making the model smooth not particularly difficult. We can achieve this using the <em>Subdivision Surface <\/em>modifier, which will make all the edges smoother. There&#8217;s only one problem: there are some edges that we want to keep sharp. Fortunately, telling Blender which edges should remain sharp is incredibly easy. Unfortunately, it can be incredibly time-consuming.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, you enter the Edit mode, and select the <em>Edge select <\/em>(<code>2<\/code>) selection mode. Then, start selecting edges that should remain sharp.<br><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"716\" height=\"767\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-14.png\" alt=\"\" class=\"wp-image-1299\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-14.png 716w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-14-280x300.png 280w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><figcaption class=\"wp-element-caption\">For example, the edges of the flaps are an example of the edges we&#8217;d want to keep sharp.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s few tricks to make selecting edges faster.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Shift + click<\/code> adds or removes single edge from selection. <\/li>\n\n\n\n<li><code>Ctrl+click<\/code> will add all edges between this and previous click to the selection. <\/li>\n\n\n\n<li><code>Alt+click<\/code> will select edges along a loop.<\/li>\n\n\n\n<li><code>Shift+drag<\/code> adds all the edges in selected area to selection.<\/li>\n\n\n\n<li><code>Ctrl+drag<\/code> removes all the edges in selected are from selection<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t have to select all the edges in one go \u2014 it&#8217;s probably best if you only spend at most a minute or two selecting edges at a time. Once you have your edge selection, set <em>Mean crease <\/em>at the bottom of <em>Transform <\/em>popup to 1 (or something between 0 and 1, if the situation calls for it). If you can&#8217;t see the popup, click the <em>Item <\/em>tab on the right side of the viewport.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"687\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15-1024x687.png\" alt=\"\" class=\"wp-image-1300\" style=\"width:1027px;height:auto\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15-1024x687.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15-300x201.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15-768x516.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15-1140x765.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-15.png 1214w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In some cases, you may also want to keep certain vertices sharp (e.g. tips of weapons or claws). For cases like these, select <em>Vertex select <\/em>select mode and pick everything that needs to end in a sharp point. Then, put <em>Mean Vertex Crease <\/em>slider to 1.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17-1024x579.png\" alt=\"\" class=\"wp-image-1302\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17-1024x579.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17-300x170.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17-768x434.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17-1140x644.png 1140w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-17.png 1214w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note that setting Mean Vertex Crease is unnecessary for vertices along a sharp edge, nor is it necessary for vertices on the corner of sharp edges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re done, you can add <em>Subdivision Surface<\/em> modifier (<em>Add modifier -&gt; Generate -&gt; Subdivision surface)<\/em>. We keep the first option on Catmull-Clark, and set <em>Levels viewport <\/em>to something that&#8217;s gonna give us enough details (vertex density between 0.1-0.5mm), while also not completely bringing everything to a halt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Guild Wars 2 at a reasonable size of about ~10 cm (and captured at maxxed out graphics options in GW2), you can get away with setting &#8216;Levels viewport&#8217; to 3. Maybe 2.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"170\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-34.png\" alt=\"\" class=\"wp-image-1338\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-34.png 565w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-34-300x90.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With Guild Wars 2 models, this will bring you to 500k-1M triangles (levels viewport = 2) or 1-2 million triangles (levels viewport = 3). This is kind of a goldilocks zone \u2014 if you go higher than that, the performance will drop off a cliff, and operations will grow exponentially longer than what you&#8217;re used to. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more general sort of advice that&#8217;s not specific to Guild Wars 2 models, you should aim for no more than 1-2 million triangles on your model for performance reasons. If you&#8217;re reading this on a top end machine 10 years from now, you may get away with more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can see how many triangles your character consists of by checking the <em>Tris <\/em>stats in the status bar. at the bottom. If you don&#8217;t see a <em>Tris <\/em>stat at the bottom, right-click the status bar and check the <em>&#8220;Scene statistics&#8221;<\/em> checkbox.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1679\" height=\"495\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35.png\" alt=\"\" class=\"wp-image-1339\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35.png 1679w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35-300x88.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35-1024x302.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35-768x226.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35-1536x453.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-35-1140x336.png 1140w\" sizes=\"auto, (max-width: 1679px) 100vw, 1679px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After adding subdivision surface modifier, walk around your model and ensure all the edges that need to be sharp are actually sharp. After a few hours of hunting down all the edges that should be sharp, the model looks pretty decent already.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"898\" height=\"639\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-19.png\" alt=\"\" class=\"wp-image-1304\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-19.png 898w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-19-300x213.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-19-768x546.png 768w\" sizes=\"auto, (max-width: 898px) 100vw, 898px\" \/><figcaption class=\"wp-element-caption\">This is the &#8220;real deal&#8221; example, and not the model I&#8217;ve been playing with so far for the purposes of this tutorial.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Export your model and print away. If you don&#8217;t plan on re-creating any details, you can maybe also play around with <em>Decimate <\/em>modifier to reduce number of vertices the model has, but that&#8217;s rather optional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But that&#8217;s still missing some of the details we see in the game. If that bothers you, you&#8217;ll have to re-create them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"details\">Re-creating the details<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">So, this is about how far we can get without putting it any manual work into the final appearance of the character. However, if you want any other details, you will need to sculpt them yourself. We have very briefly mentioned the sculpt mode before.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can get to the sculpt mode from this dropdown in the upper left corner:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"205\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-31.png\" alt=\"\" class=\"wp-image-1334\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-31.png 349w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-31-300x176.png 300w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note that when in sculpt mode, <code>Tab<\/code> will switch between <em>Edit mode <\/em>and <em>Sculpt mode. <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When in sculpt mode, you can use tools to move vertices around. Normally, sculpt mode can only move around vertices that already exist. This is a problem when our model doesn&#8217;t have enough vertices to create the detail at the level we want. For example, if we want to create a flat narrow line on the shoulder piece, our &#8220;line&#8221; can only be this wide, and its slopes won&#8217;t be very steep:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1164\" height=\"861\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32.png\" alt=\"\" class=\"wp-image-1336\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32.png 1164w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32-300x222.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32-1024x757.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32-768x568.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-32-1140x843.png 1140w\" sizes=\"auto, (max-width: 1164px) 100vw, 1164px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If we want to sculpt details, we will need a denser mesh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;Sculpting for dummies&#8221; Blender tutorials will tell you that Multires modifier is the thing you&#8217;re looking for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Multires modifier does the exact same thing as subdivision surface modifier \u2014 the only difference between the two is that Subdivision surface modifier doesn&#8217;t let you sculpt on the subdivided surface before you apply it, but Multires modifier does. The problem with that is that at this point, we already have over a million triangles on our model. If we add Multires modifier on top of that, Blender is just going to seize up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We need to subdivide our surfaces in a smarter way. First, go to <em>Edit mode <\/em>and select all the faces you want to add details to \u2014 one part of your mini at the time<em>.<\/em> Right-click, and select &#8216;Subdivide&#8217; from the context menu:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"897\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36-1024x897.png\" alt=\"\" class=\"wp-image-1340\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36-1024x897.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36-300x263.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36-768x673.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36-976x855.png 976w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-36.png 1193w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This will give you an interface in the lower left corner, in which you can control how many subdivisions you want. Add as many subdivisions as you need. In order for details to appear sharp, your triangles should be at least ~10x smaller than the smallest detail you want to sculpt onto your mini. If you&#8217;re doing small areas at the time, you can afford to subdivide <em>a lot.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You probably don&#8217;t want to have details much smaller than 0.5mm wide, as that&#8217;s where things start getting into the territory of diminishing returns. 0.5mm <em>is<\/em> paintable, but you better have a very steady hand for that. Details smaller than 0.25mm are 100% wasted effort. That being said, you want the details to have non-jagged edges, which is why you&#8217;re subdividing mesh till triangles are smaller than 0.1 mm.<br><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1103\" height=\"635\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-37.png\" alt=\"\" class=\"wp-image-1341\" style=\"width:1103px;height:auto\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-37.png 1103w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-37-300x173.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-37-1024x590.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-37-768x442.png 768w\" sizes=\"auto, (max-width: 1103px) 100vw, 1103px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then switch to <em>Sculpt mode <\/em>and start playing with the tools to see what works. Personal favourites:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clay strips tool for adding detail<\/li>\n\n\n\n<li>Crease for creating narrow valleys<\/li>\n\n\n\n<li>You can set every tool to add material or remove material from your model<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s some of the brush settings you want to keep your eye on:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"682\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-38.png\" alt=\"\" class=\"wp-image-1342\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-38.png 483w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-38-212x300.png 212w\" sizes=\"auto, (max-width: 483px) 100vw, 483px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Radius. That&#8217;s how big your brush is. It can be either in px (view) or m (scene). <\/li>\n\n\n\n<li>Radius unit. When set to <em>View <\/em>(the default), brush is sized relative to the viewport, and its size will change (relative to the model) as you zoom. When set to <em>Scene, <\/em>brush will stay the same size relative to the model. If you want to draw details that are of constant width, you want to use <em>Scene <\/em>for radius unit.<\/li>\n\n\n\n<li>Strength and direction are pretty self-explanatory.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In <em>Advanced <\/em>section, the settings to keep an eye on are:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"495\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-39.png\" alt=\"\" class=\"wp-image-1343\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-39.png 483w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-39-293x300.png 293w\" sizes=\"auto, (max-width: 483px) 100vw, 483px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><em>Front Faces Only<\/em> checkbox. Check it. If you don&#8217;t, you may end up with unwanted holes on the opposite side of the surfaces you&#8217;re working on.<\/li>\n\n\n\n<li>Area Normal \u2014 by checking this option, you can make it so brush only affects triangles pointing in the same direction as triangles effected by the start of your stroke. By setting the <em>Limit <\/em>slider to appropriate number, you can prevent your brush stroke from spilling over sharp edges.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Last but not least, there&#8217;s the &#8216;Stroke&#8217; section:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"377\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-41.png\" alt=\"\" class=\"wp-image-1345\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-41.png 446w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-41-300x254.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">By default, <em>Stroke Method <\/em>is set to <em>Space. <\/em>With this method, brush will be applied to the model as you drag your mouse around. Two other situationally useful modes are <em>Line<\/em>, which makes it easy to draw straight lines, and <em>Anchored. <\/em>In <em>Anchored <\/em>mode, you click where you want the center of your brush stroke to be, and then drag the brush stroke to the desired size. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is very useful if you&#8217;re trying to add fur or feathers to your mini. You start by googling for free brushes for the thing you want. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Remember: some things are free legitimately, and some are not. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your supposedly &#8220;free&#8221; brush takes you to to a file sharing site that says &#8220;oh no, only people with premium can of download this file, gib euromonies&#8221;, you&#8217;re looking at a 100% certified scam. Don&#8217;t pay these sites a single cent. They don&#8217;t deserve it. The brushes you&#8217;re about to download are probably stolen, too \u2014 so if you want to pay to download those brushes, try finding the original artist and paying them instead. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And if you don&#8217;t want to pay, go look somewhere else. <\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">After you acquire your brushes, import them into Blender. You should consult with the instructions on the download page, but <em>in general <\/em>the instructions should look something like this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go to the texture tab of the properties bar  <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong> and click to add new texture <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1677\" height=\"1073\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43.png\" alt=\"\" class=\"wp-image-1347\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43.png 1677w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43-300x192.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43-1024x655.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43-768x491.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43-1536x983.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-43-1140x729.png 1140w\" sizes=\"auto, (max-width: 1677px) 100vw, 1677px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, click &#8216;add image&#8217; and browse to the brush file:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"452\" height=\"564\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-44.png\" alt=\"\" class=\"wp-image-1348\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-44.png 452w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-44-240x300.png 240w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Lastly, go back to the brush settings and select the texture with your brush <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>, and set <em>Mapping <\/em>to <em>Area Plane.<\/em><strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1154\" height=\"942\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45.png\" alt=\"\" class=\"wp-image-1349\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45.png 1154w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45-300x245.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45-1024x836.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45-768x627.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-45-1047x855.png 1047w\" sizes=\"auto, (max-width: 1154px) 100vw, 1154px\" \/><figcaption class=\"wp-element-caption\">Also make sure you don&#8217;t cause any part of the model to turn red while sculpting. That&#8217;s bad.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With that, proceed to draw fur or whatever details you want.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re finished by the detail in an area, it&#8217;s time to move on. The area we&#8217;ve been sculpting in has a ridiculous amount of triangles, though, and we want to reduce that. If we don&#8217;t, we can run into performance issue later down the line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do so, we tab back to edit mode and select all the faces in the area you subdivided earlier. You must select EVERYTHING \u2014 if you spot any blue or black in the sea of orange, Blender didn&#8217;t select everything \u2014 draw selection over black bits with while holding shift to add black bits to the selection. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With selection complete, go to <em>Mesh -&gt; Clean-up -&gt; Decimate<\/em> <em>Geometry.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1192\" height=\"950\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46.png\" alt=\"\" class=\"wp-image-1350\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46.png 1192w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46-300x239.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46-1024x816.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46-768x612.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-46-1073x855.png 1073w\" sizes=\"auto, (max-width: 1192px) 100vw, 1192px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the <em>Decimate Geometry <\/em>popup, select the appropriate ratio. This will depend on the extend of the subdivision from earlier, but remember: it&#8217;s generally okay if you decimate to the point where you only have a few vertices per millimeter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1191\" height=\"921\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47.png\" alt=\"\" class=\"wp-image-1351\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47.png 1191w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47-300x232.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47-1024x792.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47-768x594.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-47-1106x855.png 1106w\" sizes=\"auto, (max-width: 1191px) 100vw, 1191px\" \/><figcaption class=\"wp-element-caption\">This should be more than enough details for your mini. The exact ratio will depend on how far you subdivided your model.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Be aware that adding details is quite time-consuming. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do note that sculpting is not the answer to everything. For things like ropes, the easier approach is to create new geometry from scratch. If the rope is small enough (1-2mm), you can get away with the two cylinder method.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Draw two cylinders (ensure that you don&#8217;t have too many vertices. 32 or even 16 is enough): one thinner, but longer. This is going to be the &#8220;core&#8221; of the rope. Then, draw a second, bigger cylinder around it, and align them along the Z axis \u2014 you can also tilt it a bit. Select the larger cylinder and <code>Tab<\/code> into edit mode. Select the top and bottom edges of the cylinder and set <em>Mean crease <\/em>to something between 0 and 1, and add <em>Subdivision modifier <\/em>to it to make the edges slightly rounded. Then, multiply the larger cylinder by adding an <em>Array <\/em>modifier to it. &#8216;Count&#8217; parameter specifies the number of repetitions. <em>Relative offset <\/em>defines the spacing between element. Spacing should be big enough so that wider cylinders don&#8217;t intersect with themselves. Adjust <em>X, Y <\/em>and <em>Z <\/em>factors so that the line of wider cylinders aligns with the narrow but tall cylinder. Finally, apply the <em>Subdivision surface <\/em>and <em>Array <\/em>modifiers, and join the object with a boolean modifier. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1855\" height=\"946\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49.png\" alt=\"\" class=\"wp-image-1353\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49.png 1855w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49-300x153.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49-1024x522.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49-768x392.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49-1536x783.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-49-1140x581.png 1140w\" sizes=\"auto, (max-width: 1855px) 100vw, 1855px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This will give you a rope that looks convincing enough on small (1-2mm thick) scale, although for ropes significantly larger than that you might to look up a tutorial on how to make braids in Blender. Array modifier is also quite useful for creating long chains, if you have any on your character (do note that non-rigid chains aren&#8217;t the most printable at smaller sizes). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can then use lattice modifier to bend the ropes as needed. In order to do so, you want to head over to the lattice settings <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong> and increase lattice resolution along the length of the rope <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>. You also want to change Interpolation to <em>Linear <\/em>from the default (<em>Bspline<\/em>)<strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2462<\/strong>, as the rope will may not deform as you expect with <em>Interpolation <\/em>set to <em>Bspline.<\/em> If <em>Linear <\/em>interpolation doesn&#8217;t behave the way you expect, feel free to experiment with other options until you find something that behaves the way you want.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"896\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1024x896.png\" alt=\"\" class=\"wp-image-1354\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-1024x896.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-300x262.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-768x672.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-978x855.png 978w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika.png 1173w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note that lattice modifier works by changing position of vertices that already exist in the object. If you want to bend a plain cube or cylinder, you will need to subdivide the model in order to make it bendable. You can achieve that by slicing the object along its length: <code>Tab<\/code> into edit mode, press <code>Ctrl + R<\/code> to create a loop cut and scroll the mouse wheel to increase or decrease the number of loops. Click to finalize your slicing. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And this about concludes the tips, as far as details are concerned, as those are the things I use the most. For everything else, Youtube has a strong Blender community with lots of tutorials.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"skritt-bait\">Shinies! (Infusions IRL)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Re-creating details thing can go pretty far, but adding LEDs to your mini is pure flex, and require some skills with a soldering iron. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Worth it, though.<\/p>\n\n\n<div class=\"pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid \" data-gallery-id=\"37214405\"><div class=\"sgb-preloader\" id=\"pr_37214405\">\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div>\n\t<div class=\"sgb-square\" style=\"background:#d4d4d4\"><\/div><\/div><div class=\"simply-gallery-amp pgc_sgb_slider \"><noscript><div class=\"sgb-gallery\"><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1307\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-300x300.jpg\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-300x300.jpg 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-1024x1024.jpg 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta.jpg 2048w\" sizes=\"auto, 250px\"\/><\/a><\/div><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/09\/23\/thats-right-and-ill-do-it-again-branded-charr-mini\/dsc_1813\/\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-300x300.webp\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-300x300.webp 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-1024x1024.webp 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-scaled.webp 2560w\" sizes=\"auto, 250px\"\/><\/a><\/div><div class=\"sgb-item\"><a href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/01\/09\/mini-base-design-the-dwarf\/dsc_4004\/\" target=\"_blank\"><img decoding=\"async\" alt=\"\" width=\"300\" height=\"300\" loading=\"lazy\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-300x300.jpg\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-300x300.jpg 300w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-1024x1024.jpg 1024w,https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-scaled.jpg 2560w\" sizes=\"auto, 250px\"\/><\/a><\/div><\/div><\/noscript><\/div><script type=\"application\/json\" class=\"sgb-data\">{\"loadingAttachments\":true,\"galleryType\":\"pgc_sgb_grid\",\"galleryId\":\"37214405\",\"images\":[{\"id\":1307,\"title\":\"night - insta\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta.jpg\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1307\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/jpeg\",\"type\":\"image\",\"width\":2048,\"height\":2048,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-150x150.jpg\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-300x300.jpg\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta-1024x1024.jpg\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/night-insta.jpg\",\"height\":2048,\"width\":2048,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"2.8\",\"credit\":\"\",\"camera\":\"NIKON Z 50\",\"caption\":\"\",\"created_timestamp\":\"1706039662\",\"copyright\":\"\",\"focal_length\":\"65\",\"iso\":\"1000\",\"shutter_speed\":\"0.0025\",\"title\":\"\",\"orientation\":\"1\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/?attachment_id=1307\"},{\"id\":1093,\"title\":\"DSC_1813\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-scaled.webp\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/09\/23\/thats-right-and-ill-do-it-again-branded-charr-mini\/dsc_1813\/\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/webp\",\"type\":\"image\",\"width\":2560,\"height\":2560,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-150x150.webp\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-300x300.webp\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-1024x1024.webp\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/09\/DSC_1813-scaled.webp\",\"height\":2560,\"width\":2560,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/09\/23\/thats-right-and-ill-do-it-again-branded-charr-mini\/dsc_1813\/\"},{\"id\":920,\"title\":\"DSC_4004\",\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-scaled.jpg\",\"link\":\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/01\/09\/mini-base-design-the-dwarf\/dsc_4004\/\",\"alt\":\"\",\"description\":\"\",\"caption\":\"\",\"mime\":\"image\/jpeg\",\"type\":\"image\",\"width\":2560,\"height\":2560,\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-150x150.jpg\",\"orientation\":\"landscape\"},\"medium\":{\"height\":300,\"width\":300,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-300x300.jpg\",\"orientation\":\"landscape\"},\"large\":{\"height\":1024,\"width\":1024,\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-1024x1024.jpg\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2023\/01\/DSC_4004-scaled.jpg\",\"height\":2560,\"width\":2560,\"orientation\":\"landscape\"}},\"imageMeta\":{\"aperture\":\"7.1\",\"credit\":\"\",\"camera\":\"NIKON Z 50\",\"caption\":\"\",\"created_timestamp\":\"1673289979\",\"copyright\":\"\",\"focal_length\":\"116\",\"iso\":\"2000\",\"shutter_speed\":\"0.003125\",\"title\":\"\",\"orientation\":\"1\",\"keywords\":[]},\"meta\":false,\"postlink\":\"https:\/\/stuff.tamius.net\/sacred-texts\/2023\/01\/09\/mini-base-design-the-dwarf\/dsc_4004\/\"}],\"itemsMetaDataCollection\":[]}<\/script><script>(function(){if(window.PGC_SGB && window.PGC_SGB.searcher){window.PGC_SGB.searcher.initBlocks()}})()<\/script><\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Before we continue:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You probably want your printed mini to stand at least 7.5-10cm tall as well. Filling your mini with LEDs gets progressively more annoying and impractical the smaller your mini gets. Below 5 cm tall, you can probably outright forget about it.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">LEDs come in different sizes and varieties:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Standard 5mm\/3mm cylinder or brick.<\/li>\n\n\n\n<li>Surface mount LEDs, which can get <em>pretty small <\/em>(1-3mm) \u2014 and the advantage of these is also the disadvantage. These are very painful to work with, but not impossible with correct setup (holders that will hold your LEDs and wires still).<\/li>\n\n\n\n<li>Cob- or Filament-type LEDs, which resemble filament of old incandescent lightbulbs. There are flexible variants, and there are non-flexible variants that will break if you do try to bend them.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pick the kind of LEDs you want. When hollowing out your mini, ensure you&#8217;ve got enough space to stick your LED(s) where you want them. You will probably want to power your LEDs via USB, since that&#8217;s the single most ubiquitous low voltage DC power source in existance. USB will give you 5V by default, while LEDs typically require 2-3V (depends on color, consult LED specs for details). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since LEDs are designed for lower voltages than USB provides, you will also need to find space for resistors. As a rule of thumb, you&#8217;ll need a 150\u03a9 resistor for every LED. You could go lower, but not running LEDs at their maximum rated current is good for their lifespan.<em> <\/em>0.25W should be fine (though they can get a bit hot), unless you want filament-type LEDs. Then, you may need a resistor rated for higher heat dissipation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If rule of thumb isn&#8217;t good enough, you can use <a href=\"https:\/\/www.digikey.com\/en\/resources\/conversion-calculators\/conversion-calculator-led-series-resistor\">this website<\/a> to calculate what kind of resistor you need \u2014 both in terms of ohms, as well as the power the resistor needs to handle. In order to avoid resistors getting too hot, ensure resistor is rated for 2-10x the power the site will calculate for you.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">USB should be able to provide enough power for a few LEDs without much issue. Just in case, though:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>if you plan on powering LEDs from a USB port in your computer, 500mA is your limit.<\/li>\n\n\n\n<li>phone chargers can typically provide more (1-5A), but if you want to use enough LEDs to draw that amount of current, you should probably re-consider the number of LEDs you&#8217;re using<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">While conductive paint exists, it&#8217;s not very conductive. Which is why you want to use copper enamelled wire. The thinnest I could get was 0.2mm, which is \u2014 depending on what site you look at \u2014 good for anywhere between 0.3A to 0.05A. It&#8217;ll certainly handle one LED or two. If you don&#8217;t know what you&#8217;re doing, the limit is one LED per 0.2mm wire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Last but not least: you will need to make some space for a USB type C connector, and you will need some space to run the wires from type C connector to the LEDs inside your mini.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">I will not do a separate chapter for wiring your mini up and soldering things together, so:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>after you soldered everything together, varnish all the wires and metal parts of the resistors. Don&#8217;t varnish resistor itself.<\/li>\n\n\n\n<li>glue wires and resistor legs to the base. Do not use hot glue (too hot = potentially bad for your mini). You can probably get away with two-part epoxy.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Preparing the mini<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to run wires through your mini, then your mini needs to have a wire tunnel going through it. The wire tunnel should also have no sharp or excessive bends. Your wire will be able to handle gentle bends, but 90\u00b0 bends are very much off the table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve received a recommendation that if I&#8217;m going to have hollow spaces in my mini, I should hollow out the entire mini and ensure all walls are about 2mm thick. Helps with curing or something. Anyway, he does a lot more of 3D printing than me, so I&#8217;m just going to repeat his advice uncritically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The easiest way of hollowing out your parts is to export them to STL and drag the STLs into PrusaSlicer. If you don&#8217;t know what you&#8217;re doing, you should only hollow the parts that you plan on running your wires through.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once in PrusaSlicer, Make sure you choose a resin printer from the list of 3D printers, as hollowing feature will not be available to you if you choose a FDM printer <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2460<\/strong>. Then click the <em>Hollow and Drill <\/em>tool in the toolbox <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2461<\/strong>, check <em>Hollow this object<\/em>, set wall thickness to 2mm, and set closing distance to 0-0.5mm. <strong class=\"has-main-color has-text-color has-link-color\" style=\"font-size: 1.25rem\">\u2462<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1447\" height=\"855\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1.webp\" alt=\"\" class=\"wp-image-1322\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1.webp 1447w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1-300x177.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1-1024x605.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1-768x454.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/mini_led-prusaslicer1-1140x674.webp 1140w\" sizes=\"auto, (max-width: 1447px) 100vw, 1447px\" \/><figcaption class=\"wp-element-caption\">I&#8217;m doing examples from my intermediary files. If you followed this tutorial closely, you&#8217;ll notice that this particular STL doesn&#8217;t have any pegs and holes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re done, click &#8216;slice now&#8217; and move the slider on the right side of the preview panel to verify that the model is hollow. Then, right click the stl in the part list on the right, and select <em>Export as STL\/OBJ <\/em>option. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1609\" height=\"1030\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25.png\" alt=\"\" class=\"wp-image-1323\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25.png 1609w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25-300x192.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25-1024x656.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25-768x492.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25-1536x983.png 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-25-1140x730.png 1140w\" sizes=\"auto, (max-width: 1609px) 100vw, 1609px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Import the hollowed model into Blender. Since exporting the model from PrusaSlicer removed all positional information, the imported model will be offset a bit. You should align the imported hollow model so it occupies exactly the same space as the model you already have in Blender. The model you exported needs to align perfectly with the model you exported.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After you align the models, hide your original model and select the hollow model. Then, enter the edit mode and select a few vertices or faces of the outer shell, press <code>Ctrl + L<\/code> to select the entire outer shell, and press <code>Delete<\/code> to delete the outer shell. You should be left with a red blob. Because red is bad, select all faces (or edges, or vertices) by pressing <code>A<\/code> on your keyboard, and then <code>Shift + N<\/code> to recalculate normals. The blob should now be blue.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1246\" height=\"973\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26.png\" alt=\"\" class=\"wp-image-1324\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26.png 1246w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26-300x234.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26-1024x800.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26-768x600.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-26-1095x855.png 1095w\" sizes=\"auto, (max-width: 1246px) 100vw, 1246px\" \/><figcaption class=\"wp-element-caption\">That leg has a sharp 180\u00b0 bend, followed by a sharp 90\u00b0 bend. That is to say: we aren&#8217;t gonna get any wires through that. Deleting that isolated bit is going to be the easiest, least effort option.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Blob should be a singe piece. If there are any smaller isolated blobs like on this picture, you need to either connect the two separate parts (by now you&#8217;re probably familiar with <em>Add Cube<\/em>, <em>Add Cylinder, <\/em>and boolean modifiers, or delete the hollow bits), or delete them altogether. Good rule of the thumb is: if you&#8217;re not going to route wires through there and the hollow part is relatively small, just delete it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re done, first use boolean modifiers to subtract the hollow part from your main model. You also need to drill holes through the shell. If you don&#8217;t, then you won&#8217;t be able to pull wires into the hollow part of the mini, and the liquid resin won&#8217;t be able to exit the cavity during print (which is bad). Fortunately for us, pegs and holes are the ideal places to drill holes into your model. You can use <em>Add cube <\/em>or <em>Add cylinder <\/em>tool in combination with boolean modifier for drilling said holes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you only plan on running some wires through, the hole can be narrow (but should be at least 1mm wide. If your wires are thicker than 0.2, or if you use more than a few, you&#8217;ll want to go even wider). If the part is going to contain LEDs, the hole needs to be wide enough to fit your LED and possibly also tweezers (because you&#8217;ll pretty much need tweezers to place LED where you want it). The best idea is to keep the holes as wide as possible. Generally, you want to run a hole through the center of the peg, while keeping walls of the peg at least 2mm thick. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This isn&#8217;t always possible. If the peg is narrower than 5mm, keep the hole for the wires centered and the walls 1mm thick. If the peg is narrower than 3mm, you need to put the hole for wires at the edge of the peg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes, the cavity created by hollowing the mini out won&#8217;t be wide enough to fit the wires. If that&#8217;s the case, you will need to create a hole manually. If you&#8217;ve read this far, this shouldn&#8217;t be too much of an issue for you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new cube or cylinder in object mode (if creating cylinder, make sure to reduce the number of vertices back to 32 or 16. For the tube, you don&#8217;t need the insane number of vertices we had for the base)<\/li>\n\n\n\n<li>Tab back to edit mode<\/li>\n\n\n\n<li>Select top face, press <code>E<\/code> to extrude, and <code>R<\/code> to rotate the face as needed<\/li>\n\n\n\n<li>Once the hollow parts are connected, select the model and use boolean modifier to subtract your tunnel from your model<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Don&#8217;t forget to drill a hole at the bottom of the model (can be at different location as the peg).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Preparing the base<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You will also need to hollow out the base. To fit in all the resistors comfortably, you prolly want the hollow part of the base to be at least 1cm tall &#8230; but you know your skills better than I do. I hope you planned for that when designing your base.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a cube, position it so it cuts the base in half just slightly above the bottom wall of the base. Duplicate said cube. First, add boolean to one of the cubes, select <em>Intersect<\/em> mode, and apply the modifier. That is your bottom lid. Then, add boolean modifier to the base itself, set it to subtract, and select the other cube.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Print both parts of the base, as you will want to glue the lid to the base once you&#8217;re done installing the wiring.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You need to make a USB type-C shaped hole into the base. Here&#8217;s the specification for the type C female port:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"628\" height=\"303\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/molex-2171750001-type-c-6-lead-connector-photo-and-diagram.DIMvMs8u-1.webp\" alt=\"\" class=\"wp-image-1315\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/molex-2171750001-type-c-6-lead-connector-photo-and-diagram.DIMvMs8u-1.webp 628w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/molex-2171750001-type-c-6-lead-connector-photo-and-diagram.DIMvMs8u-1-300x145.webp 300w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Do note that 8.34 mm and 2.56 mm are measures of the inside of the socket. You have to add some extra millimeters to account for metal wall thickness. My calipers say the type C port I got from aliexpress is ~3.3mm tall and just under 9mm wide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a type C cutout is simple: create two cylinders with diameter of 3.3mm, put them just under 6mm apart (so that the outermost points are 9mm apart). Then, create a box that fills the space between them and union everything together.<\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-4147b10f wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"253\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-28.png\" alt=\"\" class=\"wp-image-1328\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-28.png 533w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-28-300x142.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"422\" height=\"353\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-29.png\" alt=\"\" class=\"wp-image-1329\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-29.png 422w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-29-300x251.png 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center has-text-color has-link-color has-small-font-size wp-elements-943bff87521c043ac81929652f2ac3b3 wp-block-paragraph\" style=\"color:#9f9285\">Your cutout should look something like this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can then use boolean modifiers to subtract this from the base, which should give you a hole that&#8217;s just big enough to stick a type C socket through the base.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"printing\">Getting the model printed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you have a 3D printer, then you know the drill. If you don&#8217;t, you will have to need to find someone who will print that for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As already stated in the intro: FDM printers are common. You could probably find someone advertising their 3D printing services on the internet who could print you the mini for cheap. Resin prints \u2014 although superior in quality \u2014 can be much more expensive, to the tune of &#8220;north of $100&#8221; for a 10cm mini.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if you know the right people, you can get your resin prints for cheaper. You are likely to find such people in miniature painting spaces, as well as in the world of tabletop RPGs and wargaming. Just don&#8217;t be an asshole.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before sending off your STLs, make sure your model has no errors. Open PrusaSlicer and drag your model in. If you get the exclamation mark beside the model, then your model isn&#8217;t quite on point.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1383\" height=\"802\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30.png\" alt=\"\" class=\"wp-image-1332\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30.png 1383w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30-300x174.png 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30-1024x594.png 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30-768x445.png 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/slika-30-1140x661.png 1140w\" sizes=\"auto, (max-width: 1383px) 100vw, 1383px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Or you can just try to #yolo it if there&#8217;s not too many of said errors.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"painting\">Getting the model painted<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now you can get to the fun part. I&#8217;m not gonna run you through the process, but:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Priming your minis with primer is not strictly necessary, but it is helpful as primer helps paint stick to the plastics<\/li>\n\n\n\n<li>Paints are relatively fragile. If you paint your mini, you probably also want to put some varnish on. Varnish comes in glossy and non-glossy variants. I strongly prefer non-gloss, but that&#8217;s a matter of taste.<\/li>\n\n\n\n<li>Brush size doesn&#8217;t matter <em>that <\/em>much. As long as you don&#8217;t ruin the point of your brush, you can paint tiny details with a relatively large brush. No need to go smaller than 0.<\/li>\n\n\n\n<li>Thin your paints. If you put on paint too thick, you&#8217;ll lose the details.<\/li>\n\n\n\n<li>Dry brushing is great for highlighting details and edges. After putting paint on your brush, wipe it against a paper towel until it no longer leaves a wet trail. Then, brush along the edge or perpendicular to details (such as fur). That way, paint will only get deposited along the edges, but not in the grooves. <\/li>\n\n\n\n<li>Know when to quit painting. There&#8217;s a point where painting your mini will only make things worse. This point is usually when you&#8217;re thinking about painting eyes. Don&#8217;t. Dunk the mini into nuln oil and be done with it.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you don&#8217;t have the materials, bottles of paint for miniature painting are usually 2-3\u20ac per bottle. You can also walk into a local gaming store and ask if they organize or know of any public miniature painting gatherings where you can join in and try painting minis <em>without <\/em>having to buy brushes and paints. Some places do, some places don&#8217;t. Don&#8217;t be too demanding in any case, and when asking, the question about the money should come dead last. If public mini painting sessions\/workshops exist, you&#8217;ll usually be told relatively fast if you can attend for free \u2014 and if you aren&#8217;t, ask &#8220;how much&#8221; instead of &#8220;is it free?&#8221; You&#8217;ll get the same answer either way, but one question leaves a much better impression than the other. Last but not least, if attendance is free and if you enjoyed the experience, and if the place runs on donations and volunteer work, consider leaving a donation \u2014 as at the end of the day, someone still has to foot the bill for space and supplies. Doesn&#8217;t have to be much \u2014 even the equivalent of having a beer in a bar is okay.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that about concludes this post, because assembling the mini (if applicable) and soldering an LED, a resistor, and a few wires to a female type C breakout board (if applicable) should be rather straightforward.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1024x682.webp\" alt=\"\" class=\"wp-image-1357\" srcset=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1024x682.webp 1024w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-300x200.webp 300w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-768x511.webp 768w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1536x1023.webp 1536w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-2048x1363.webp 2048w, https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-1140x759.webp 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>2025 update v2: I made a tool that fixes distortions introduced by Intel GPA, and that tool made few sections of this blog obsolete. As such, they&#8217;ve been deleted. Old version is still available here.2025 update. This blog post now also exists as a youtube video. Yes, the video is 1 hour 20, so about twice as long as it takes to read this<span class=\"more-dots\">&#8230;<\/span> <span class=\"more-tag d-block mt-05\"><a class=\"more-link\" href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/\">Continue Reading...<span class=\"screen-reader-text\"> \"How to print your Guild Wars 2 character (or any game, really)\"<\/span><\/a><\/span><!-- .more-tag --><\/p>\n","protected":false},"author":1,"featured_media":1357,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[47,43,38],"tags":[48],"class_list":["post-1209","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-miniatures","category-modelling-and-engineering","category-projects","tag-guildwars2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts\" \/>\n<meta property=\"og:description\" content=\"2025 update v2: I made a tool that fixes distortions introduced by Intel GPA, and that tool made few sections of this blog obsolete. As such, they&#8217;ve been deleted. Old version is still available here.2025 update. This blog post now also exists as a youtube video. Yes, the video is 1 hour 20, so about twice as long as it takes to read this...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/\" \/>\n<meta property=\"og:site_name\" content=\"Tamius&#039; sacred texts\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-18T11:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-13T19:56:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1704\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Tamius Han\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tamius Han\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"69 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/\"},\"author\":{\"name\":\"Tamius Han\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/#\\\/schema\\\/person\\\/4677d05a4f45974f27cd21481c561c21\"},\"headline\":\"How to print your Guild Wars 2 character (or any game, really)\",\"datePublished\":\"2024-09-18T11:37:00+00:00\",\"dateModified\":\"2026-03-13T19:56:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/\"},\"wordCount\":12336,\"commentCount\":9,\"image\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"keywords\":[\"GuildWars2\"],\"articleSection\":[\"Miniatures\",\"Modelling and engineering\",\"Projects\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/\",\"url\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/\",\"name\":\"How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"datePublished\":\"2024-09-18T11:37:00+00:00\",\"dateModified\":\"2026-03-13T19:56:38+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/#\\\/schema\\\/person\\\/4677d05a4f45974f27cd21481c561c21\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#primaryimage\",\"url\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"contentUrl\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/DSC_7333_01-no-spider-webs-blog-scaled.webp\",\"width\":2560,\"height\":1704},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/2024\\\/09\\\/18\\\/how-to-print-your-guild-wars-2-character-or-any-game-really\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to print your Guild Wars 2 character (or any game, really)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/#website\",\"url\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/\",\"name\":\"Tamius&#039; sacred texts\",\"description\":\"... containing one of the weirdest mix of pointless topics.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/#\\\/schema\\\/person\\\/4677d05a4f45974f27cd21481c561c21\",\"name\":\"Tamius Han\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg\",\"caption\":\"Tamius Han\"},\"url\":\"https:\\\/\\\/stuff.tamius.net\\\/sacred-texts\\\/author\\\/tamius-han\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/","og_locale":"en_US","og_type":"article","og_title":"How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts","og_description":"2025 update v2: I made a tool that fixes distortions introduced by Intel GPA, and that tool made few sections of this blog obsolete. As such, they&#8217;ve been deleted. Old version is still available here.2025 update. This blog post now also exists as a youtube video. Yes, the video is 1 hour 20, so about twice as long as it takes to read this...","og_url":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/","og_site_name":"Tamius&#039; sacred texts","article_published_time":"2024-09-18T11:37:00+00:00","article_modified_time":"2026-03-13T19:56:38+00:00","og_image":[{"width":2560,"height":1704,"url":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp","type":"image\/webp"}],"author":"Tamius Han","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tamius Han","Est. reading time":"69 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#article","isPartOf":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/"},"author":{"name":"Tamius Han","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/#\/schema\/person\/4677d05a4f45974f27cd21481c561c21"},"headline":"How to print your Guild Wars 2 character (or any game, really)","datePublished":"2024-09-18T11:37:00+00:00","dateModified":"2026-03-13T19:56:38+00:00","mainEntityOfPage":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/"},"wordCount":12336,"commentCount":9,"image":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#primaryimage"},"thumbnailUrl":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp","keywords":["GuildWars2"],"articleSection":["Miniatures","Modelling and engineering","Projects"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/","url":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/","name":"How to print your Guild Wars 2 character (or any game, really) - Tamius&#039; sacred texts","isPartOf":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#primaryimage"},"image":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#primaryimage"},"thumbnailUrl":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp","datePublished":"2024-09-18T11:37:00+00:00","dateModified":"2026-03-13T19:56:38+00:00","author":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/#\/schema\/person\/4677d05a4f45974f27cd21481c561c21"},"breadcrumb":{"@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#primaryimage","url":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp","contentUrl":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-content\/uploads\/2024\/09\/DSC_7333_01-no-spider-webs-blog-scaled.webp","width":2560,"height":1704},{"@type":"BreadcrumbList","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/2024\/09\/18\/how-to-print-your-guild-wars-2-character-or-any-game-really\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stuff.tamius.net\/sacred-texts\/"},{"@type":"ListItem","position":2,"name":"How to print your Guild Wars 2 character (or any game, really)"}]},{"@type":"WebSite","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/#website","url":"https:\/\/stuff.tamius.net\/sacred-texts\/","name":"Tamius&#039; sacred texts","description":"... containing one of the weirdest mix of pointless topics.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stuff.tamius.net\/sacred-texts\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/stuff.tamius.net\/sacred-texts\/#\/schema\/person\/4677d05a4f45974f27cd21481c561c21","name":"Tamius Han","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce12569905c4aff5d48778af8527565f1175c254ad56cc5e5221666ff1e222b?s=96&d=blank&r=pg","caption":"Tamius Han"},"url":"https:\/\/stuff.tamius.net\/sacred-texts\/author\/tamius-han\/"}]}},"_links":{"self":[{"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/posts\/1209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/comments?post=1209"}],"version-history":[{"count":32,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/posts\/1209\/revisions"}],"predecessor-version":[{"id":1717,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/posts\/1209\/revisions\/1717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/media\/1357"}],"wp:attachment":[{"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/media?parent=1209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/categories?post=1209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stuff.tamius.net\/sacred-texts\/wp-json\/wp\/v2\/tags?post=1209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}