{"id":107,"date":"2024-07-19T22:47:33","date_gmt":"2024-07-19T22:47:33","guid":{"rendered":"https:\/\/willkolb.com\/?p=107"},"modified":"2024-07-19T22:47:43","modified_gmt":"2024-07-19T22:47:43","slug":"how-the-hell-do-i-open-these-doors","status":"publish","type":"post","link":"https:\/\/willkolb.com\/?p=107","title":{"rendered":"How the hell do I open these doors"},"content":{"rendered":"\n<p>Answer: A bunch of number keys and a non-de-script knob<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"571\" height=\"842\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-19.png\" alt=\"\" class=\"wp-image-108\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-19.png 571w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-19-203x300.png 203w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><figcaption class=\"wp-element-caption\">Now I see how damn clean that scroll wheel guard is and I hate it&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Past week I spent time making a keypad for the doors in one of my previous posts. This guy took some doing: specifically because 1.) I didn&#8217;t know that grids in blender existed and 2.) the coloring on the keys made me anxious every-time I tried to make something.<\/p>\n\n\n\n<p>Here&#8217;s the greybox: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"621\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-20.png\" alt=\"\" class=\"wp-image-109\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-20.png 509w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-20-246x300.png 246w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/figure>\n\n\n\n<p>I had a bunch of iterations here but the three main things were having a keypad, a indication LED and a screen. My hope is to hook this baby up to the doors i made previously to have a quick key code minigame thing in unreal.<\/p>\n\n\n\n<p>By far the hardest part was making not the keypad keys but the plate that would go in between the keys and surround them. One of the biggest things I always try to prevent when using blender is having any issues with normals. Usually it&#8217;s hard to come by them if you model in a proper manner (which can be summarized to: always make quad faces.). However, in this case I thought I could use a boolean modifier to make the plate which turned out pretty bad:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"494\" height=\"494\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-21.png\" alt=\"\" class=\"wp-image-110\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-21.png 494w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-21-300x300.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-21-150x150.png 150w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><figcaption class=\"wp-element-caption\">With the keys<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"448\" height=\"542\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-22.png\" alt=\"\" class=\"wp-image-111\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-22.png 448w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-22-248x300.png 248w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><figcaption class=\"wp-element-caption\">Without the keys<\/figcaption><\/figure>\n\n\n\n<p>You can see here the whole face is messed up however in blender things were looking fine. I don&#8217;t have an image for what it looked like but basically it was the keyholes with a subtraction modifier then beveled. Here&#8217;s quick demo of what I did:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23-1024x541.png\" alt=\"\" class=\"wp-image-112\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23-1024x541.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23-300x158.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23-768x405.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23-1536x811.png 1536w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-23.png 1608w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Step 1. make a bunch of cubes, add an x and z array modifier to each then apply.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-24-1024x489.png\" alt=\"\" class=\"wp-image-113\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-24-1024x489.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-24-300x143.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-24-768x367.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-24.png 1518w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Step 2: add a difference modifier to the plate mesh<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"749\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-25.png\" alt=\"\" class=\"wp-image-114\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-25.png 920w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-25-300x244.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-25-768x625.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><figcaption class=\"wp-element-caption\">Step 3, select all of the forward face, the ctrl+b and bevel that<\/figcaption><\/figure>\n\n\n\n<p>Now there&#8217;s some disconnect because if you pull this into substance (I didn&#8217;t do this with the demo) all hell breaks loose and your normals are thrown into a rock tumbler to get that keypad image above. <\/p>\n\n\n\n<p>However I got past it by using the now holy grid:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"516\" height=\"247\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-26.png\" alt=\"\" class=\"wp-image-115\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-26.png 516w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-26-300x144.png 300w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><figcaption class=\"wp-element-caption\">Praise be to the grid baby<\/figcaption><\/figure>\n\n\n\n<p>Which is a bit more painful for inital creation because you have to line it up with your keys but once you do it&#8217;s just a quick insert faces, then delete command.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"blob:https:\/\/willkolb.com\/129bd2ec-d5ac-4437-baab-64013b24193b\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Pretty much that, assume there are perfect squares infront of each face, then I deleted each key face ans solidified + beveled<\/figcaption><\/figure>\n\n\n\n<p>But anyways It seems to look fine in game:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"517\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-28.png\" alt=\"\" class=\"wp-image-117\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-28.png 642w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-28-300x242.png 300w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/figure>\n\n\n\n<p>The knob doesn&#8217;t have the notches I want, but I can easily make the screen look like it&#8217;s on with emissives:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"308\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-29-1024x308.png\" alt=\"\" class=\"wp-image-118\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-29-1024x308.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-29-300x90.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-29-768x231.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2024\/07\/image-29.png 1413w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pretty cool, now I gotta hook it up and import the new doors to start fleshing out this building.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Answer: A bunch of number keys and a non-de-script knob Past week I spent time making a keypad for the doors in one of my previous posts. This guy took some doing: specifically because 1.) I didn&#8217;t know that grids in blender existed and 2.) the coloring on the keys made me anxious every-time I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7,10,9],"tags":[],"class_list":["post-107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-gamedev","category-substance","category-unreal"],"_links":{"self":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=107"}],"version-history":[{"count":2,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/107\/revisions"}],"predecessor-version":[{"id":120,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/107\/revisions\/120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/media\/108"}],"wp:attachment":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}