{"id":1569,"date":"2025-10-08T23:25:23","date_gmt":"2025-10-08T22:25:23","guid":{"rendered":"https:\/\/grimms3dworlds.ddns.net\/?page_id=1569"},"modified":"2025-10-08T23:39:16","modified_gmt":"2025-10-08T22:39:16","slug":"simple-archways","status":"publish","type":"page","link":"https:\/\/grimms3dworlds.ddns.net\/index.php\/simple-archways\/","title":{"rendered":"Simple archways"},"content":{"rendered":"\n<div style=\"font-family: 'Segoe UI', Arial, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px; background: #ffffff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n    <script>\n        function copyCode(button) {\n            const pre = button.previousElementSibling;\n            const code = pre.querySelector('code');\n            const text = code.innerText;\n            navigator.clipboard.writeText(text).then(() => {\n                button.textContent = 'Copied!';\n                button.style.background = '#28a745';\n                setTimeout(() => {\n                    button.textContent = 'Copy';\n                    button.style.background = '#007bff';\n                }, 2000);\n            }).catch(err => {\n                console.error('Failed to copy: ', err);\n            });\n        }\n    <\/script>\n\n    <h1 style=\"color: #1a3c5e; border-bottom: 2px solid #e0e6ed; margin-bottom: 15px; padding-bottom: 8px;\">Creating Simple Archways in Call of Duty 2<\/h1>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">In <em>Call of Duty 2<\/em>, the simplest way to create an archway is by using a patch mesh. This guide provides a straightforward approach to building an archway, along with tips to help mappers refine their technique.<\/p>\n\n    <h2 style=\"color: #1a3c5e; border-bottom: 2px solid #e0e6ed; margin-bottom: 15px; padding-bottom: 8px;\">Building a Basic Arch<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">To begin, create a brush that will serve as the foundation for your patch mesh. In the 2D viewport (top view), drag out a new brush to form a rectangular shape.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/1.dragout.png\" alt=\"Dragging out a brush in the 2D viewport\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">For simplicity, orient the brush as shown in the image above. This layout makes later steps easier, as you can rotate and position the arch as needed after creation.<\/p>\n    <p style=\"background: #e7f3fe; border: 1px solid #b6d4fe; padding: 15px; color: #0c5460; border-radius: 5px; margin-bottom: 20px;\">\n        <strong>Note:<\/strong> When creating a patch mesh, its orientation is determined by the axis viewed in the 2D viewport. For this process, the top view is recommended.\n    <\/p>\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Next, convert the brush into a patch mesh. In the top toolbar, navigate to <strong>Patch > Simple Patch Mesh<\/strong>. A dialog box will appear, as shown below.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/2.density.png\" alt=\"Simple Patch Mesh dialog\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Set the width to 5 and keep the height at 3. This configuration is crucial because the cap operation (described later) only affects the width.<\/p>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">After clicking OK, the brush will transform into a patch mesh, as shown below.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/3.verts_.png\" alt=\"Patch mesh with visible vertices\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">With the 2D viewport active, press <strong>V<\/strong> to display the patch mesh vertices (shown in green and pink in the image above). In the front view (XZ front), select the vertices by dragging your cursor over them. Hold <strong>Alt<\/strong> and move the vertices to shape the arch, as shown below.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/4.verts2_.png\" alt=\"Adjusted vertices forming an arch\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">If the patch appears inverted, press <strong>Ctrl+I<\/strong> to correct its orientation.<\/p>\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">To complete the arch, cap the patch mesh. Press <strong>Shift+C<\/strong> or navigate to <strong>Patch > Cap<\/strong> in the toolbar. In the dialog box, select <strong>Inverted Endcap<\/strong>.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/5.cap_.png\" alt=\"Cap dialog for patch mesh\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">After clicking OK, the patch mesh will gain two additional parts, forming a complete arch, as shown below.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/6.capped.png\" alt=\"Capped patch mesh forming an arch\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n\n    <h2 style=\"color: #1a3c5e; border-bottom: 2px solid #e0e6ed; margin-bottom: 15px; padding-bottom: 8px;\">Increasing Patch Complexity<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">While not documented in the key map, you can use keyboard shortcuts to adjust the complexity of a patch mesh without adding extra vertices, which is a more efficient approach.<\/p>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">With the patch mesh selected, press <strong>Shift+]<\/strong> to increase complexity or <strong>Shift+[<\/strong> to decrease it. This adjusts the quality of the patch, making it smoother or simpler as needed.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/7.patch_quality.png\" alt=\"Increased patch mesh complexity\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">You can repeat these shortcuts multiple times to achieve the desired level of detail.<\/p>\n\n    <h2 style=\"color: #1a3c5e; border-bottom: 2px solid #e0e6ed; margin-bottom: 15px; padding-bottom: 8px;\">Texturing the Arch<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Apply textures to the patch mesh as you would with any other surface. However, textures may initially appear misaligned, as shown below.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/8.texture_messed.png\" alt=\"Misaligned texture on patch mesh\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">To correct this, use the Surface Inspector (press <strong>S<\/strong>) for manual adjustments. Alternatively, press <strong>Ctrl+Shift+N<\/strong> multiple times to cycle through texture alignment options until the texture fits correctly.<\/p>\n    <img decoding=\"async\" src=\"https:\/\/grimms3dworlds.ddns.net\/wp-content\/uploads\/2025\/10\/9.texture_fixed.png\" alt=\"Correctly aligned texture on patch mesh\" style=\"max-width: 500px; display: block; margin: 0 auto 20px; border: 1px solid #ddd; border-radius: 5px;\">\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">With these steps, your archway should be complete and properly textured, ready for use in your <em>Call of Duty 2<\/em> map.<\/p>\n\n    <h3 style=\"color: #1a3c5e; border-bottom: 1px solid #e0e6ed; margin-bottom: 15px; padding-bottom: 8px;\">Quick Reference: Keyboard Shortcuts<\/h3>\n    <ul style=\"color: #4a4a4a; padding-left: 20px;\">\n        <li style=\"margin-bottom: 8px;\"><strong>V<\/strong>: Show vertices in the 2D viewport.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Alt + drag<\/strong>: Move selected vertices.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Ctrl+I<\/strong>: Invert patch orientation.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Shift+C<\/strong>: Cap the patch mesh.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Shift+]<\/strong>: Increase patch complexity.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Shift+[<\/strong>: Decrease patch complexity.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>S<\/strong>: Open the Surface Inspector for texture adjustments.<\/li>\n        <li style=\"margin-bottom: 8px;\"><strong>Ctrl+Shift+N<\/strong>: Cycle through texture alignments.<\/li>\n    <\/ul>\n\n    \n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>function copyCode(button) { const pre = button.previousElementSibling; const code = pre.querySelector(&#8216;code&#8217;); const text = code.innerText; navigator.clipboard.writeText(text).then(() => { button.textContent = &#8216;Copied!&#8217;; button.style.background = &#8216;#28a745&#8217;; setTimeout(() => { button.textContent = &#8216;Copy&#8217;; button.style.background = &#8216;#007bff&#8217;; }, 2000); }).catch(err => { console.error(&#8216;Failed to copy: &#8216;, err); }); } Creating Simple Archways in Call of Duty 2 In Call [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1569","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=1569"}],"version-history":[{"count":7,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1569\/revisions"}],"predecessor-version":[{"id":1580,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1569\/revisions\/1580"}],"wp:attachment":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=1569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}