{"id":2175,"date":"2026-09-05T17:19:12","date_gmt":"2026-09-05T17:19:12","guid":{"rendered":"https:\/\/socs.binus.ac.id\/game\/?p=2175"},"modified":"2026-09-05T17:19:12","modified_gmt":"2026-09-05T17:19:12","slug":"surface-snap-plugin-godot-untuk-mempermudah-penempatan-objek-3d-dalam-game","status":"publish","type":"post","link":"https:\/\/socs.binus.ac.id\/game\/2026\/09\/05\/surface-snap-plugin-godot-untuk-mempermudah-penempatan-objek-3d-dalam-game\/","title":{"rendered":"Surface Snap, Plugin Godot untuk Mempermudah Penempatan Objek 3D dalam Game"},"content":{"rendered":"<p class=\"PDq2pG_selectionAnchorContainer\" style=\"text-align: left\" data-section-id=\"1peol1j\" data-start=\"0\" data-end=\"77\"><span style=\"font-family: inherit;color: #5e5e5e;font-size: 16px\">Membuat environment 3D untuk <\/span>game<span style=\"font-family: inherit;color: #5e5e5e;font-size: 16px\">\u00a0sering membutuhkan proses penempatan objek yang cukup teliti. Developer perlu mengatur posisi berbagai asset agar setiap objek berada di permukaan yang tepat. Proses tersebut juga dapat memakan waktu ketika sebuah\u00a0<\/span>game<span style=\"font-family: inherit;color: #5e5e5e;font-size: 16px\">\u00a0memiliki banyak prop dan elemen environment.<\/span><\/p>\n<div class=\"text-center\" style=\"text-align: left\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"386\" data-end=\"650\">Surface Snap hadir sebagai plugin Godot yang membantu developer mempercepat proses tersebut. Tool ini memungkinkan pengguna menempelkan objek 3D langsung ke permukaan objek lain. Selain itu, Surface Snap dapat menyelaraskan orientasi objek dengan permukaan target.<\/p>\n<p data-start=\"652\" data-end=\"848\">Jettelly membagikan demonstrasi Surface Snap melalui X. Video tersebut menunjukkan bagaimana plugin ini dapat mempercepat penempatan objek untuk kebutuhan level design dan environment\u00a0game\u00a03D.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"uv24l7\" data-start=\"850\" data-end=\"874\">Apa Itu Surface Snap?<\/h1>\n<h1><span style=\"font-size: 12pt\"><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2176 size-full\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/09\/image_2026-09-06_001845156.png\" alt=\"\" width=\"1625\" height=\"857\" \/>Source: <a href=\"https:\/\/x.com\/jettelly\/status\/2090439344469262748\">https:\/\/x.com\/jettelly\/status\/2090439344469262748<\/a><\/em><\/span><\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"876\" data-end=\"998\">Surface Snap merupakan editor plugin untuk Godot 4.7+ yang membantu pengguna memindahkan\u00a0<code data-start=\"965\" data-end=\"973\">Node3D<\/code>\u00a0ke permukaan objek lain.<\/p>\n<p data-start=\"1000\" data-end=\"1134\">Cara penggunaannya cukup sederhana. Developer memilih objek, menahan tombol Alt, lalu menyeret objek tersebut menuju permukaan target.<\/p>\n<p data-start=\"1136\" data-end=\"1289\">Plugin kemudian menghitung posisi dan alignment objek secara otomatis. Dengan demikian, developer tidak perlu mengatur posisi dan rotasi secara terpisah.<\/p>\n<p data-start=\"1291\" data-end=\"1483\">Surface Snap juga memberikan fleksibilitas lebih dibanding vertex snapping. Alih-alih hanya menggunakan titik vertex tertentu, developer dapat menempatkan objek pada berbagai bagian permukaan.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"18eqk8u\" data-start=\"1485\" data-end=\"1523\">Objek Bisa Mengikuti Arah Permukaan<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"1525\" data-end=\"1587\">Salah satu fitur utama Surface Snap adalah alignment otomatis.<\/p>\n<p data-start=\"1589\" data-end=\"1724\">Plugin menyelaraskan sumbu Y objek dengan normal dari permukaan target. Karena itu, objek dapat mengikuti arah permukaan yang disentuh.<\/p>\n<p data-start=\"1726\" data-end=\"1819\">Fitur ini sangat berguna untuk kebutuhan\u00a0game\u00a03D, terutama saat developer bekerja dengan:<\/p>\n<ul data-start=\"1821\" data-end=\"1927\">\n<li data-section-id=\"w7iv29\" data-start=\"1821\" data-end=\"1831\">Dinding.<\/li>\n<li data-section-id=\"1lrf6bu\" data-start=\"1832\" data-end=\"1851\">Permukaan miring.<\/li>\n<li data-section-id=\"e5y8pp\" data-start=\"1852\" data-end=\"1877\">Lantai yang tidak rata.<\/li>\n<li data-section-id=\"1uqh1fn\" data-start=\"1878\" data-end=\"1909\">Objek dengan bentuk kompleks.<\/li>\n<li data-section-id=\"awekro\" data-start=\"1910\" data-end=\"1927\">Environment 3D.<\/li>\n<\/ul>\n<p data-start=\"1929\" data-end=\"2035\">Selain itu, Surface Snap memberikan offset agar objek tidak langsung masuk atau menembus permukaan target.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"egqxv3\" data-start=\"2037\" data-end=\"2072\">Mempermudah Level Design Game 3D<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"2074\" data-end=\"2148\">Penempatan objek menjadi bagian penting dalam pembuatan level\u00a0game\u00a03D.<\/p>\n<p data-start=\"2150\" data-end=\"2289\">Biasanya, developer perlu memindahkan objek terlebih dahulu. Setelah itu, mereka harus memutar dan menyesuaikan posisi asset secara manual.<\/p>\n<p data-start=\"2291\" data-end=\"2336\">Surface Snap menyederhanakan proses tersebut.<\/p>\n<p data-start=\"2338\" data-end=\"2496\">Sebagai contoh, developer ingin menempatkan sebuah prop di atas permukaan yang miring. Tanpa plugin, developer harus mengatur posisi dan rotasi secara manual.<\/p>\n<p data-start=\"2498\" data-end=\"2642\">Sebaliknya, dengan Surface Snap, developer cukup menyeret prop menuju permukaan target. Plugin langsung menyesuaikan posisi dan orientasi objek.<\/p>\n<p data-start=\"2644\" data-end=\"2729\">Oleh karena itu, developer dapat melakukan iterasi level\u00a0game\u00a0dengan lebih cepat.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"n86q2a\" data-start=\"2731\" data-end=\"2780\">Menggunakan Collision sebagai Permukaan Target<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"2782\" data-end=\"2857\">Surface Snap menggunakan sistem collision untuk mengenali permukaan target.<\/p>\n<p data-start=\"2859\" data-end=\"3042\">Developer perlu menambahkan collision fisik pada objek yang ingin digunakan sebagai target. Contohnya, developer dapat memakai\u00a0<code data-start=\"2986\" data-end=\"3004\">CollisionShape3D<\/code>\u00a0bersama\u00a0<code data-start=\"3013\" data-end=\"3027\">StaticBody3D<\/code>\u00a0atau\u00a0<code data-start=\"3033\" data-end=\"3041\">Area3D<\/code>.<\/p>\n<p data-start=\"3044\" data-end=\"3120\">Selain itu, pengguna juga dapat memakai\u00a0<code data-start=\"3084\" data-end=\"3096\">CSGShape3D<\/code>\u00a0dengan collision aktif.<\/p>\n<p data-start=\"3122\" data-end=\"3298\">Developer dapat mengatur physics layer melalui Collision Mask. Dengan pengaturan tersebut, mereka dapat memilih objek atau layer mana yang berfungsi sebagai permukaan snapping.<\/p>\n<p data-start=\"3300\" data-end=\"3395\">Hasilnya, developer memiliki kontrol yang lebih jelas saat mengatur asset dalam scene\u00a0game.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"cituns\" data-start=\"3397\" data-end=\"3434\">Mendukung Workflow Non-Destructive<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"3436\" data-end=\"3503\">Surface Snap juga bekerja dengan sistem Undo dan Redo bawaan Godot.<\/p>\n<p data-start=\"3505\" data-end=\"3679\">Godot mencatat setiap perubahan posisi yang dibuat melalui proses snapping. Karena itu, developer dapat membatalkan perubahan menggunakan Ctrl+Z ketika hasilnya belum sesuai.<\/p>\n<p data-start=\"3681\" data-end=\"3741\">Fitur ini membuat proses eksperimen menjadi lebih fleksibel.<\/p>\n<p data-start=\"3743\" data-end=\"3888\">Developer dapat mencoba berbagai posisi untuk asset\u00a0game. Jika satu posisi kurang cocok, mereka bisa membatalkannya dan mencoba pilihan lain.<\/p>\n<p data-start=\"3890\" data-end=\"4006\">Selain itu, workflow seperti ini membantu developer ketika desain level berubah selama proses pengembangan\u00a0game.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"b8u8oo\" data-start=\"4008\" data-end=\"4042\">Cocok untuk Berbagai Asset Game<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"4044\" data-end=\"4130\">Surface Snap dapat membantu developer mengatur berbagai jenis asset dalam\u00a0game\u00a03D.<\/p>\n<p data-start=\"4132\" data-end=\"4171\">Beberapa contoh penggunaannya meliputi:<\/p>\n<ul data-start=\"4173\" data-end=\"4410\">\n<li data-section-id=\"1m7bno8\" data-start=\"4173\" data-end=\"4215\">Mengatur furniture di dalam environment.<\/li>\n<li data-section-id=\"6hbz18\" data-start=\"4216\" data-end=\"4252\">Menambahkan dekorasi pada dinding.<\/li>\n<li data-section-id=\"1jh8bax\" data-start=\"4253\" data-end=\"4285\">Memasang prop di atas terrain.<\/li>\n<li data-section-id=\"1ekbff8\" data-start=\"4286\" data-end=\"4331\">Menyesuaikan objek dengan permukaan miring.<\/li>\n<li data-section-id=\"aav1n4\" data-start=\"4332\" data-end=\"4368\">Mengatur asset untuk level design.<\/li>\n<li data-section-id=\"1ijt615\" data-start=\"4369\" data-end=\"4410\">Mempercepat pembuatan environment game.<\/li>\n<\/ul>\n<p data-start=\"4412\" data-end=\"4598\">Plugin ini memang memiliki fungsi yang sederhana. Namun, tool kecil seperti Surface Snap dapat menghemat banyak waktu ketika developer harus mengatur ratusan asset dalam sebuah\u00a0game.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"s9do5c\" data-start=\"4600\" data-end=\"4640\">Surface Snap dan Fitur Snapping Godot<\/h1>\n<div class=\"mt-3 w-full empty:hidden\" style=\"text-align: left\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p data-start=\"4642\" data-end=\"4773\">Godot sudah menyediakan beberapa fitur snapping bawaan. Namun, Surface Snap menawarkan workflow yang lebih berfokus pada permukaan.<\/p>\n<p data-start=\"4775\" data-end=\"4938\">Developer dapat menyeret objek langsung menuju permukaan target. Setelah itu, Surface Snap membantu menyesuaikan posisi dan orientasi berdasarkan bentuk permukaan.<\/p>\n<p data-start=\"4940\" data-end=\"5088\">Pembuat plugin juga menjelaskan bahwa Surface Snap berbeda dari vertex snapping. Surface Snap tidak membatasi penempatan objek pada vertex tertentu.<\/p>\n<p data-start=\"5090\" data-end=\"5225\">Karena itu, plugin ini dapat menjadi pilihan tambahan bagi developer yang ingin mengatur asset\u00a0game\u00a0dengan cara yang lebih praktis.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1806px6\" data-start=\"5227\" data-end=\"5240\">Kesimpulan<\/h1>\n<div class=\"mt-3 w-full empty:hidden\">\n<div class=\"text-center\">\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<p style=\"text-align: left\" data-start=\"5242\" data-end=\"5358\">Surface Snap menunjukkan bagaimana plugin sederhana dapat membantu mempercepat workflow pembuatan\u00a0game\u00a0di Godot.<\/p>\n<p style=\"text-align: left\" data-start=\"5360\" data-end=\"5558\">Developer dapat menyeret objek ke permukaan target dan membiarkan plugin menyesuaikan alignment secara otomatis. Sistem collision juga membantu Surface Snap mengenali permukaan yang dapat digunakan.<\/p>\n<p style=\"text-align: left\" data-start=\"5560\" data-end=\"5645\">Selain itu, dukungan Undo dan Redo membuat proses eksperimen menjadi lebih fleksibel.<\/p>\n<p style=\"text-align: left\" data-start=\"5647\" data-end=\"5848\">Bagi developer yang membuat\u00a0game\u00a03D menggunakan Godot, Surface Snap dapat menjadi tool yang berguna untuk mempercepat level design, mengatur environment, dan menempatkan asset dengan lebih praktis.<\/p>\n<p style=\"text-align: left\" data-start=\"5850\" data-end=\"5995\" data-is-last-node=\"\" data-is-only-node=\"\">Informasi lengkap mengenai Surface Snap dapat kamu lihat melalui postingan Surface Snap di Reddit atau halaman Surface Snap di Godot Asset Store.<\/p>\n<p style=\"font-size: 11pt;margin-top: 40px;padding-top: 20px;border-top: 1px solid #eee\">Referensi:<br \/>\n<a href=\"https:\/\/x.com\/jettelly\/status\/2090439344469262748\">X.com<\/a><br \/>\n<a href=\"https:\/\/socs.binus.ac.id\/game\/\">Game Application and Technology<\/a><\/p>\n<p><!-- Author Box --><\/p>\n<div style=\"flex-wrap: wrap;justify-content: space-between;background: linear-gradient(135deg, #fb8e16 0%, #e86c00 100%);padding: 20px;border-radius: 15px;color: white;margin: 50px 0\">\n<p style=\"color: white\"><!-- Author --><\/p>\n<div style=\"flex: 1;min-width: 250px;align-items: center;margin-bottom: 10px\">\n<div style=\"width: 70px;height: 70px;border-radius: 50%;background: white;margin-right: 15px;overflow: hidden;border: 2px solid white;flex-shrink: 0\">\n<h1><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1143\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/03\/image_2026-03-09_152905006.png\" alt=\"\" width=\"1864\" height=\"2056\" \/><\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1043 size-full\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/02\/image011.png\" alt=\"Kelvin\" width=\"570\" height=\"570\" \/><\/p>\n<\/div>\n<h3 style=\"margin: 0 0 3px;font-size: 16px\">Eduard Sutanto<\/h3>\n<p style=\"margin: 0;font-size: 13px;font-weight: 600\">Author<\/p>\n<p style=\"margin: 0;font-size: 12px;opacity: 0.9\">Content Creator Intern @BINUS Game Application &amp; Technology<\/p>\n<p style=\"color: white\"><!-- Editor --><\/p>\n<div style=\"flex: 1;min-width: 250px;align-items: center;padding-top: 20px;border-top: 1px solid #eee\">\n<div style=\"width: 70px;height: 70px;border-radius: 50%;background: white;margin-right: 15px;overflow: hidden;border: 2px solid white;flex-shrink: 0\"><img decoding=\"async\" style=\"width: 100%;height: 100%;object-fit: cover\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2025\/07\/Fajar.jpg\" alt=\"Muhamad Fajar\" \/><\/div>\n<div>\n<h3 style=\"margin: 0 0 3px;font-size: 16px\">Muhamad Fajar<\/h3>\n<p style=\"margin: 0;font-size: 13px;font-weight: 600\">Editor<\/p>\n<p style=\"margin: 0;font-size: 12px;opacity: 0.9\">Lecturer @BINUS Game Application Technology<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Membuat environment 3D untuk game\u00a0sering membutuhkan proses penempatan objek yang cukup teliti. Developer perlu mengatur posisi berbagai asset agar setiap objek berada di permukaan yang tepat. Proses tersebut juga dapat memakan waktu ketika sebuah\u00a0game\u00a0memiliki banyak prop dan elemen environment. Surface Snap hadir sebagai plugin Godot yang membantu developer mempercepat proses tersebut. Tool ini memungkinkan pengguna [&hellip;]<\/p>\n","protected":false},"author":704,"featured_media":2176,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-article"],"_links":{"self":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/users\/704"}],"replies":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/comments?post=2175"}],"version-history":[{"count":1,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2175\/revisions"}],"predecessor-version":[{"id":2177,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2175\/revisions\/2177"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/media\/2176"}],"wp:attachment":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/media?parent=2175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/categories?post=2175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/tags?post=2175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}