{"id":2428,"date":"2026-09-12T06:34:32","date_gmt":"2026-09-12T06:34:32","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2428"},"modified":"2026-09-12T06:34:32","modified_gmt":"2026-09-12T06:34:32","slug":"%eb%a7%8e%ec%9d%80-%ea%b0%9d%ec%b2%b4-%ec%a4%91-%ea%b0%80%ec%9e%a5-%ea%b0%80%ea%b9%8c%ec%9a%b4-%ea%b0%9d%ec%b2%b4%eb%a5%bc-%ec%b0%be%eb%8a%94-%eb%b0%a9%eb%b2%95","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2428","title":{"rendered":"\ub9ce\uc740 \uac1d\uccb4 \uc911 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\ub294 \ubc29\ubc95"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc744 \ub9cc\ub4e4\ub2e4 \ubcf4\uba74 \ud50c\ub808\uc774\uc5b4 \uc8fc\ubcc0\uc5d0\uc11c \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\uc544\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4\uac00 \uc0c1\ud638\uc791\uc6a9\ud560 \uc218 \uc788\ub294 NPC\ub098 \uc544\uc774\ud15c\uc744 \ucc3e\ub294\ub2e4\uace0 \ud574\ubcf4\uc790.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \ub2e8\uc21c\ud558\uac8c \uad6c\ud604\ud558\uba74 \ubaa8\ub4e0 \uac1d\uccb4\uc758 \uac70\ub9ac\ub97c \ud655\uc778\ud558\uace0 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Entity* nearest = nullptr;\nfloat minDistance = FLT_MAX;\n\nfor (Entity* entity : entities)\n{\n    float distance = Distance(player.position, entity.position);\n\n    if (distance &lt; minDistance)\n    {\n        minDistance = distance;\n        nearest = entity;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 N\uac1c\ub77c\uba74 \ubaa8\ub4e0 \uac1d\uccb4\ub97c \ud55c \ubc88\uc529 \ud655\uc778\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc2dc\uac04 \ubcf5\uc7a1\ub3c4\ub294 <code>O(N)<\/code>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 100\uac1c \uc815\ub3c4\ub77c\uba74 \ud06c\uac8c \ubb38\uc81c\uac00 \ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb38\uc81c\ub294 \uac1d\uccb4\uac00 \ub9ce\uc544\uc84c\uc744 \ub54c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ud50c\ub808\uc774\uc5b4\n    \u2193\n100,000\uac1c\uc758 Entity\n    \u2193\n\ubaa8\ub4e0 Entity\uc640 Distance \ube44\uad50\n    \u2193\n\uac00\uc7a5 \uac00\uae4c\uc6b4 Entity \uc120\ud0dd\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacfc\uc815\uc744 \ub9e4 \ud504\ub808\uc784 \ubc18\ubcf5\ud55c\ub2e4\uba74 \ubd88\ud544\uc694\ud55c \uc5f0\uc0b0\uc774 \uc0c1\ub2f9\ud788 \ucee4\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uba3c\uc800 \uac70\ub9ac \uacc4\uc0b0 \uc790\uccb4\ub97c \uc904\uc77c \uc218 \uc788\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc704\uce58\uc758 \uac70\ub9ac\ub97c \ube44\uad50\ud560 \ub54c \uc2e4\uc81c \uac70\ub9ac\uac00 \ud544\uc694\ud55c \uac83\uc774 \uc544\ub2c8\ub77c <strong>\uc5b4\ub290 \ucabd\uc774 \ub354 \uac00\uae4c\uc6b4\uc9c0\ub9cc \ud310\ub2e8\ud558\ub294 \uacbd\uc6b0<\/strong>\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub54c \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud558\ub294 <code>Distance<\/code> \ub300\uc2e0 \uc81c\uacf1 \uac70\ub9ac\uc778 <code>sqrMagnitude<\/code>\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810\uc758 \uac70\ub9ac\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uacc4\uc0b0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance = \u221a(x\u00b2 + y\u00b2 + z\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \ub450 \uac70\ub9ac\uc758 \ub300\uc18c\ub9cc \ube44\uad50\ud55c\ub2e4\uba74 \uc81c\uacf1\uadfc\uc740 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distanceA &lt; distanceB\n\n\u2193\n\ndistanceA\u00b2 &lt; distanceB\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Unity\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc791\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vector3 offset = entity.position - player.position;\nfloat sqrDistance = offset.sqrMagnitude;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Entity nearest = null;\nfloat minSqrDistance = float.MaxValue;\n\nforeach (Entity entity in entities)\n{\n    Vector3 offset = entity.position - player.position;\n    float sqrDistance = offset.sqrMagnitude;\n\n    if (sqrDistance &lt; minSqrDistance)\n    {\n        minSqrDistance = sqrDistance;\n        nearest = entity;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ud558\uba74 \uc81c\uacf1\uadfc \uc5f0\uc0b0\uc744 \ud53c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc \uc774\uac83\ub9cc\uc73c\ub85c \uc2dc\uac04 \ubcf5\uc7a1\ub3c4\uac00 \uc904\uc5b4\ub4dc\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>N\uac1c \uac1d\uccb4\n\u2192 N\ubc88 \ube44\uad50\n\nO(N)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 \uc815\ub9d0 \ub9ce\ub2e4\uba74 <strong>\uac00\uc7a5 \uc911\uc694\ud55c \uac83\uc740 \uac70\ub9ac \uacc4\uc0b0\uc744 \ube60\ub974\uac8c \ub9cc\ub4dc\ub294 \uac83\uc774 \uc544\ub2c8\ub77c \ube44\uad50\ud574\uc57c \ud560 \uac1d\uccb4 \uc790\uccb4\ub97c \uc904\uc774\ub294 \uac83<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc8fc\ubcc0 \uac1d\uccb4\ub9cc \ud6c4\ubcf4\ub85c \uac00\uc838\uc628\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uc640 \uc0c1\ud638\uc791\uc6a9\ud560 \uc218 \uc788\ub294 \uac1d\uccb4\uac00 \ud50c\ub808\uc774\uc5b4\ub85c\ubd80\ud130 5m \uc774\ub0b4\uc5d0\ub9cc \uc874\uc7ac\ud55c\ub2e4\uace0 \ud574\ubcf4\uc790.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub807\ub2e4\uba74 \uad73\uc774 \uc6d4\ub4dc \uc804\uccb4\uc758 \uac1d\uccb4\ub97c \ud655\uc778\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc804\uccb4 Entity\n        \u2193\n\uc0c1\ud638\uc791\uc6a9 \ubc94\uc704\n        \u2193\n\uc8fc\ubcc0 Entity\n        \u2193\nDistance \ube44\uad50\n        \u2193\n\uac00\uc7a5 \uac00\uae4c\uc6b4 Entity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Unity\uc5d0\uc11c\ub294 \ubb3c\ub9ac \uc2dc\uc2a4\ud15c\uc744 \uc774\uc6a9\ud574 \ud2b9\uc815 \ubc94\uc704 \uc548\uc758 Collider\ub97c \uac00\uc838\uc62c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Collider&#91;] colliders =\n    Physics.OverlapSphere(\n        player.position,\n        interactionRadius,\n        interactionLayer\n    );\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \uac00\uc838\uc628 \uac1d\uccb4\ub9cc \uac80\uc0ac\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc804\uccb4 Entity = 100,000\uac1c\n\n\uc0c1\ud638\uc791\uc6a9 \ubc94\uc704\n\u2192 30\uac1c\n\n30\uac1c\ub9cc Distance \ube44\uad50\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ud558\uba74 \uc2e4\uc81c \uac70\ub9ac \ube44\uad50 \ub300\uc0c1\uc774 \ud06c\uac8c \uc904\uc5b4\ub4e0\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uadf8\ub7f0\ub370 \uc8fc\ubcc0 \uac1d\uccb4\ub97c \ucc3e\ub294 \uac83 \uc790\uccb4\uac00 \ubb38\uc81c\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \ud55c \uac00\uc9c0 \ubb38\uc81c\uac00 \uc0dd\uae34\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uacfc \uac19\uc774 \ubaa8\ub4e0 Entity\ub97c \uc21c\ud68c\ud558\uba74\uc11c \uc8fc\ubcc0 \uac1d\uccb4\ub97c \ucc3e\ub294\ub2e4\uba74 \uacb0\uad6d \ucc98\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>foreach (Entity entity in allEntities)\n{\n    if (Distance(player.position, entity.position) &lt; radius)\n    {\n        candidates.Add(entity);\n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc804\uccb4 Entity\uac00 100,000\uac1c\ub77c\uba74 \uc8fc\ubcc0\uc5d0 \uc788\ub294 \uac1d\uccb4\uac00 30\uac1c\ubfd0\uc774\uc5b4\ub3c4 <strong>100,000\uac1c\ub97c \uc804\ubd80 \uac80\uc0ac\ud574\uc57c \ud55c\ub2e4.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \uac1d\uccb4\uac00 \ub9e4\uc6b0 \ub9ce\ub2e4\uba74 <strong>\uc8fc\ubcc0 \uac1d\uccb4\ub97c \ube60\ub974\uac8c \ucc3e\uc744 \uc218 \uc788\ub294 \uad6c\uc870<\/strong>\uac00 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Spatial Partitioning<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ubc29\ubc95\uc774 Spatial Partitioning\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6d4\ub4dc\ub97c \uc77c\uc815\ud55c \uacf5\uac04\uc73c\ub85c \ub098\ub204\uace0 \uac01 \uacf5\uac04\uc5d0 \uc5b4\ub5a4 \uac1d\uccb4\uac00 \uc874\uc7ac\ud558\ub294\uc9c0 \uad00\ub9ac\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \ub2e8\uc21c\ud55c \ubc29\ubc95\uc774 Grid\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u250c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502     \u2502     \u2502     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502     \u2502  P  \u2502     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502     \u2502     \u2502     \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uac00 \uac00\uc6b4\ub370 Grid\uc5d0 \uc788\ub2e4\uba74 \uc6d4\ub4dc \uc804\uccb4\uc758 Entity\ub97c \uac80\uc0c9\ud558\uc9c0 \uc54a\uace0 \ud604\uc7ac Grid\uc640 \uc8fc\ubcc0 Grid\ub9cc \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc804\uccb4 Entity\n    \u2193\n\ud604\uc7ac \uc704\uce58\uc758 Grid \ud655\uc778\n    \u2193\n\uc8fc\ubcc0 Grid \uc870\ud68c\n    \u2193\n\ud6c4\ubcf4 Entity \ud68d\ub4dd\n    \u2193\nDistance \ube44\uad50\n    \u2193\n\uac00\uc7a5 \uac00\uae4c\uc6b4 Entity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc804\uccb4 Entity\uac00 100,000\uac1c\ub77c\ub3c4 \uc8fc\ubcc0 Grid\uc5d0 50\uac1c\ub9cc \uc874\uc7ac\ud55c\ub2e4\uba74 \uc2e4\uc81c \ube44\uad50 \ub300\uc0c1\uc740 50\uac1c\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub54c \uc911\uc694\ud55c \uac83\uc740 <strong>\uac70\ub9ac \uacc4\uc0b0\uc744 \ucd5c\uc801\ud654\ud558\ub294 \uac83\ubcf4\ub2e4 \ud6c4\ubcf4\uad70\uc744 \uc904\uc774\ub294 \uac83<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Spatial Hash<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Grid\ub97c \uc870\uae08 \ub354 \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\ub824\uba74 Spatial Hash\ub97c \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6d4\ub4dc \uc88c\ud45c\ub97c Grid \uc88c\ud45c\ub85c \ubcc0\ud658\ud558\uace0 \ud574\ub2f9 \uc88c\ud45c\ub97c Key\ub85c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>World Position\n    \u2193\nGrid Coordinate\n    \u2193\nHash\n    \u2193\n\ud574\ub2f9 \uacf5\uac04\uc758 Entity \ubaa9\ub85d\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hash(10, 20)\n\u2192 NPC A\n\u2192 NPC B\n\u2192 Item C\n\nHash(10, 21)\n\u2192 NPC D\n\u2192 Item E\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uac00 <code>(10, 20)<\/code> \uadfc\ucc98\uc5d0 \uc788\ub2e4\uba74 \uad00\ub828\ub41c Hash \uc601\uc5ed\ub9cc \uc870\ud68c\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ubc29\uc2dd\uc740 \ud2b9\ud788 <strong>\ub9ce\uc740 \uac1d\uccb4\uac00 \uc874\uc7ac\ud558\uace0 \uc704\uce58\uac00 \uacc4\uc18d \ubcc0\ud558\ub294 \uac8c\uc784<\/strong>\uc5d0\uc11c \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud56d\uc0c1 \ubcf5\uc7a1\ud55c \uacf5\uac04 \ubd84\ud560\uc774 \ud544\uc694\ud55c \uac83\uc740 \uc544\ub2c8\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 \uc218\ubc31 \uac1c \uc815\ub3c4\ub77c\uba74 \ub2e8\uc21c\ud55c \uc21c\ud68c\ub9cc\uc73c\ub85c\ub3c4 \ucda9\ubd84\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac1d\uccb4\uac00 \uc801\uc74c\n\u2192 \uc804\uccb4 \uc21c\ud68c\n\u2192 Distance \ube44\uad50\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 \ub9ce\uc544\uc9c0\uace0 \uac80\uc0c9 \ube48\ub3c4\uac00 \ub192\uc544\uc9c4\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac1d\uccb4\uac00 \ub9ce\uc74c\n\u2192 Spatial Partitioning\n\u2192 \uc8fc\ubcc0 \ud6c4\ubcf4 \uac80\uc0c9\n\u2192 Distance \ube44\uad50\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ubc1c\uc804\uc2dc\ud0a4\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc989 \ucc98\uc74c\ubd80\ud130 KD-Tree\ub098 Octree \uac19\uc740 \ubcf5\uc7a1\ud55c \uad6c\uc870\ub97c \ub123\uc744 \ud544\uc694\ub294 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud604\uc7ac \ub370\uc774\ud130 \uaddc\ubaa8\uc640 \uac80\uc0c9 \ube48\ub3c4\uc5d0 \ub9de\ucdb0 \ud544\uc694\ud55c \ub9cc\ud07c \ucd5c\uc801\ud654\ud558\ub294 \uac83\uc774 \uc911\uc694\ud558\ub2e4.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uacb0\uad6d \ud575\uc2ec\uc740 \ud6c4\ubcf4\uad70\uc744 \uc904\uc774\ub294 \uac83\uc774\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\ub294 \ubb38\uc81c\uc5d0\uc11c \ub2e8\uc21c\ud55c \uad6c\ud604\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc804\uccb4 Entity\n\u2192 \ubaa8\ub4e0 Entity\uc640 Distance \ube44\uad50\n\u2192 \uac00\uc7a5 \uac00\uae4c\uc6b4 Entity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4\uac00 \ub9ce\uc544\uc9c0\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \ubc14\uafc0 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc804\uccb4 Entity\n\u2192 Spatial Partitioning\n\u2192 \uc8fc\ubcc0 Entity\n\u2192 sqrDistance \ube44\uad50\n\u2192 \uac00\uc7a5 \uac00\uae4c\uc6b4 Entity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uac01\uac01\uc758 \ucd5c\uc801\ud654\uac00 \ub2f4\ub2f9\ud558\ub294 \uc5ed\ud560\uc774 \ub2e4\ub974\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Spatial Partitioning\n\u2192 \ube44\uad50\ud560 Entity\uc758 \uc218\ub97c \uc904\uc784\n\nsqrMagnitude\n\u2192 \uac01 Distance \uacc4\uc0b0 \ube44\uc6a9\uc744 \uc904\uc784\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d <strong>N\uac1c\uc758 \uac1d\uccb4\ub97c \ubaa8\ub450 \ube60\ub974\uac8c \uac80\uc0ac\ud558\ub294 \uac83\ubcf4\ub2e4, \uc560\ucd08\uc5d0 \uac80\uc0ac\ud560 \ud544\uc694\uac00 \uc5c6\ub294 \uac1d\uccb4\ub97c \ud6c4\ubcf4\uc5d0\uc11c \uc81c\uac70\ud558\ub294 \uac83\uc774 \ub354 \ud070 \ucd5c\uc801\ud654<\/strong>\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \ud50c\ub808\uc774\uc5b4 \uc8fc\ubcc0\uc758 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\ub294 \uae30\ub2a5\uc774\ub77c\uba74 \ubcf4\ud1b5 \uc774 \uad6c\uc870\ubd80\ud130 \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player\n\u2192 Interaction Range\n\u2192 \uc8fc\ubcc0 \ud6c4\ubcf4 \uac80\uc0c9\n\u2192 Distance \ube44\uad50\n\u2192 Nearest Entity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1d\uccb4 \uc218\uac00 \ub354 \ucee4\uc9c0\uace0 \uac80\uc0c9 \ube48\ub3c4\uae4c\uc9c0 \ub192\uc544\uc9c4\ub2e4\uba74 \uadf8\ub54c Spatial Hash, Grid, KD-Tree, Octree \ub4f1\uc758 \uacf5\uac04 \uc790\ub8cc\uad6c\uc870\ub97c \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uac8c\uc784\uc744 \ub9cc\ub4e4\ub2e4 \ubcf4\uba74 \ud50c\ub808\uc774\uc5b4 \uc8fc\ubcc0\uc5d0\uc11c \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \ucc3e\uc544\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4\uac00 \uc0c1\ud638\uc791\uc6a9\ud560 \uc218 \uc788\ub294 NPC\ub098 \uc544\uc774\ud15c\uc744 \ucc3e\ub294\ub2e4\uace0 \ud574\ubcf4\uc790. \uac00\uc7a5 \ub2e8\uc21c\ud558\uac8c \uad6c\ud604\ud558\uba74 \ubaa8\ub4e0 \uac1d\uccb4\uc758 \uac70\ub9ac\ub97c \ud655\uc778\ud558\uace0 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uac1d\uccb4\ub97c \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4. \uac1d\uccb4\uac00 N\uac1c\ub77c\uba74 \ubaa8\ub4e0 \uac1d\uccb4\ub97c \ud55c \ubc88\uc529 \ud655\uc778\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc2dc\uac04 \ubcf5\uc7a1\ub3c4\ub294 O(N)\uc774\ub2e4. \uac1d\uccb4\uac00 100\uac1c \uc815\ub3c4\ub77c\uba74 \ud06c\uac8c \ubb38\uc81c\uac00 \ub418\uc9c0 \uc54a\ub294\ub2e4. \ubb38\uc81c\ub294 \uac1d\uccb4\uac00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[],"class_list":["post-2428","post","type-post","status-publish","format-standard","hentry","category-game"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2428"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2428\/revisions"}],"predecessor-version":[{"id":2429,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2428\/revisions\/2429"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}