{"id":2109,"date":"2026-08-31T07:42:02","date_gmt":"2026-08-31T07:42:02","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2109"},"modified":"2026-08-31T07:42:02","modified_gmt":"2026-08-31T07:42:02","slug":"%ea%b2%8c%ec%9e%84-%ec%88%98%ed%95%99-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2109","title":{"rendered":"\uac8c\uc784 \uc218\ud559 \ud575\uc2ec \uc815\ub9ac"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uc218\ud559\uc740 \ubcc4\ub3c4\uc758 \uae30\ub2a5\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uce90\ub9ad\ud130\uac00 \uc774\ub3d9\ud558\uace0, \uce74\uba54\ub77c\uac00 \ud68c\uc804\ud558\uace0, \ucd1d\uc54c\uc774 \ub0a0\uc544\uac00\uace0, \uc801\uc774 \ud50c\ub808\uc774\uc5b4\ub97c \ucd94\uc801\ud558\uace0, \ubb3c\uccb4\uac00 \ucda9\ub3cc\ud558\ub294 \ubaa8\ub4e0 \uacfc\uc815\uc5d0 \uc218\ud559\uc774 \ub4e4\uc5b4\uac04\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \uc218\ud559\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ud574\uc11c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\uc88c\ud45c -&gt; \ubca1\ud130 -&gt; \uc0bc\uac01\ud568\uc218 -&gt; \ud589\ub82c -&gt; \ud68c\uc804 -&gt; \ubcf4\uac04 -&gt; \uac70\ub9ac\/\ucda9\ub3cc -&gt; \ubb3c\ub9ac -&gt; \ud655\ub960<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubaa8\ub4e0 \uc218\ud559\uc744 \uae4a\uac8c \uacf5\ubd80\ud560 \ud544\uc694\ub294 \uc5c6\ub2e4. \uac8c\uc784\uc5d0\uc11c \uc5b4\ub5a4 \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \ub54c \uc5b4\ub5a4 \uc218\ud559\uc744 \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574\ud558\ub294 \uac83\uc774 \ub354 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc88c\ud45c\uacc4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uac00\uc7a5 \uae30\ubcf8\uc774 \ub418\ub294 \uac83\uc740 \uc88c\ud45c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0\uc5d0\uc11c\ub294 \ubcf4\ud1b5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(x, y)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(x, y, z)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5b4\ub5a4 \uc810\uc758 \uc704\uce58\ub97c \uc88c\ud45c\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player = (10, 3, 5)\nEnemy  = (20, 3, 8)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \uac8c\uc784\uc5d0\uc11c\ub294 \ud558\ub098\uc758 \uc88c\ud45c\uacc4\ub9cc \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local Space -&gt; World Space -&gt; View Space -&gt; Clip Space -&gt; Screen Space\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640 \uac19\uc774 \uc5ec\ub7ec \uacf5\uac04\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uce90\ub9ad\ud130\uc758 \ud314 \uc704\uce58\ub294 \uce90\ub9ad\ud130\ub97c \uae30\uc900\uc73c\ub85c \ud558\ub294 Local Space\uc5d0 \uc788\uc744 \uc218 \uc788\uace0, \uc2e4\uc81c \uac8c\uc784 \uc6d4\ub4dc\uc5d0\uc11c\uc758 \uc704\uce58\ub294 World Space\uc5d0 \uc874\uc7ac\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc88c\ud45c \ubcc0\ud658\uc744 \uc774\ud574\ud558\ub294 \uac83\uc740 \uac8c\uc784 \uc218\ud559\uc758 \uae30\ubcf8\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubca1\ud130<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130\ub294 \uac8c\uc784 \uc218\ud559\uc5d0\uc11c \uac00\uc7a5 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294 \uac1c\ub150\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130\ub294 \ud06c\uae30\uc640 \ubc29\ud5a5\uc744 \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vector2 = (x, y)\nVector3 = (x, y, z)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uac12\ub4e4\uc774 \ub300\ubd80\ubd84 \ubca1\ud130\ub85c \ud45c\ud604\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc704\uce58\n\ubc29\ud5a5\n\uc18d\ub3c4\n\uac00\uc18d\ub3c4\n\ud798\n\uc774\ub3d9\ub7c9\n\ubc95\uc120\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc704\uce58\uac00 \uc788\uc744 \ub54c \uc774\ub3d9 \ubc29\ud5a5\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = target - current\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \uad6c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>current = (2, 1, 3)\ntarget  = (7, 1, 5)\n\ndirection = (5, 0, 2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc29\ud5a5\ub9cc \ud544\uc694\ud558\ub2e4\uba74 \uc815\uaddc\ud654\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = Normalize(target - current)\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ubca1\ud130\uc758 \ud06c\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130\uc758 \ud06c\uae30\ub294 \ud53c\ud0c0\uace0\ub77c\uc2a4 \uc815\ub9ac\uc5d0\uc11c \ub098\uc628\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0 \ubca1\ud130<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>v = (x, y)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc758 \ud06c\uae30\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|v| = sqrt(x\u00b2 + y\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|v| = sqrt(x\u00b2 + y\u00b2 + z\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uac70\ub9ac \uacc4\uc0b0\uc5d0 \uc9c1\uc811 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance = |target - player|\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc \ub2e8\uc21c\ud788 \uac70\ub9ac\ub97c \ube44\uad50\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance\u00b2 = x\u00b2 + y\u00b2 + z\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810 \uc0ac\uc774\uc758 \uac70\ub9ac\uac00 <code>10<\/code>\ubcf4\ub2e4 \uac00\uae4c\uc6b4\uc9c0 \ud655\uc778\ud55c\ub2e4\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance\u00b2 &lt; 100\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \ube44\uad50\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd88\ud544\uc694\ud55c <code>sqrt<\/code>\ub97c \ud53c\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 \uac8c\uc784 \ucf54\ub4dc\uc5d0\uc11c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc815\uaddc\ud654<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\uaddc\ud654\ub294 \ubca1\ud130\uc758 \ud06c\uae30\ub97c 1\ub85c \ub9cc\ub4dc\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Normalize(v) = v \/ |v|\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc29\ud5a5\ub9cc \ud544\uc694\ud560 \ub54c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = target - player\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9cc \uc0ac\uc6a9\ud558\uba74 \ub300\uc0c1\uacfc\uc758 \uac70\ub9ac\uac00 \uba40\uc5b4\uc9c8\uc218\ub85d \ubca1\ud130\uc758 \ud06c\uae30\ub3c4 \ucee4\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub97c \uc815\uaddc\ud654\ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = Normalize(target - player)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00 \ub418\uace0 \uc21c\uc218\ud55c \ubc29\ud5a5 \ubca1\ud130\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc \uae38\uc774\uac00 0\uc778 \ubca1\ud130\ub294 \uc815\uaddc\ud654\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Normalize((0, 0, 0))\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \uacbd\uc6b0\ub97c \ucf54\ub4dc\uc5d0\uc11c \ucc98\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub0b4\uc801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub0b4\uc801\uc740 \ub450 \ubca1\ud130\uc758 \ubc29\ud5a5 \uad00\uacc4\ub97c \uacc4\uc0b0\ud558\ub294 \ub370 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a \u00b7 b = axbx + ayby + azbz\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a \u00b7 b = |a||b|cos\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\uaddc\ud654\ub41c \ubca1\ud130\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a \u00b7 b = cos\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ub0b4\uc801\uc758 \uacb0\uacfc\ub97c \uc774\uc6a9\ud574 \ub450 \ubc29\ud5a5\uc774 \uc5bc\ub9c8\ub098 \uac00\uae4c\uc6b4\uc9c0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1   -&gt; \uac19\uc740 \ubc29\ud5a5\n0   -&gt; \uc9c1\uac01\n-1  -&gt; \ubc18\ub300 \ubc29\ud5a5\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \ub9e4\uc6b0 \ub9ce\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4\uac00 \uc801\uc744 \ubc14\ub77c\ubcf4\uace0 \uc788\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>forward = Player Forward\ndirection = Normalize(Enemy - Player)\n\ndot = Dot(forward, direction)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>dot<\/code>\uc774 \ud2b9\uc815 \uac12\ubcf4\ub2e4 \ud06c\ub2e4\uba74 \uc801\uc774 \ud50c\ub808\uc774\uc5b4\uc758 \uc2dc\uc57c\uac01 \uc548\uc5d0 \uc788\ub2e4\uace0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc678\uc801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc678\uc801\uc740 3\ucc28\uc6d0 \ubca1\ud130 \ub450 \uac1c\ub97c \uc774\uc6a9\ud574\uc11c \ub450 \ubca1\ud130\uc5d0 \ubaa8\ub450 \uc218\uc9c1\uc778 \ubca1\ud130\ub97c \uad6c\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a \u00d7 b\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uc8fc\ub85c \ub2e4\uc74c\uc5d0 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ubc95\uc120 \ubca1\ud130 \uacc4\uc0b0\n\uc88c\uc6b0 \ubc29\ud5a5 \uacc4\uc0b0\n\ud68c\uc804 \ubc29\ud5a5 \ud310\ub2e8\n\ud3c9\uba74 \ubc29\ud5a5 \uacc4\uc0b0\n3\ucc28\uc6d0 \uc88c\ud45c\uacc4 \uad6c\uc131\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Forward\uc640 Up\uc73c\ub85c Right\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Right = Forward \u00d7 Up\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub0b4\uc801\uc774 <strong>\ubc29\ud5a5 \uc0ac\uc774\uc758 \uad00\uacc4\ub97c \ud310\ub2e8<\/strong>\ud558\ub294 \ub370 \uac15\ud558\ub2e4\uba74 \uc678\uc801\uc740 <strong>\uc0c8\ub85c\uc6b4 \ubc29\ud5a5\uc744 \ub9cc\ub4dc\ub294 \ub370<\/strong> \ub9ce\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bc\uac01\ud568\uc218<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0bc\uac01\ud568\uc218\ub294 \uac01\ub3c4\uc640 \uae38\uc774\uc758 \uad00\uacc4\ub97c \uacc4\uc0b0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ud568\uc218\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sin\ncos\ntan\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c1\uac01\uc0bc\uac01\ud615\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sin\u03b8 = \ub192\uc774 \/ \ube57\ubcc0\ncos\u03b8 = \ubc11\ubcc0 \/ \ube57\ubcc0\ntan\u03b8 = \ub192\uc774 \/ \ubc11\ubcc0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc758 \uad00\uacc4\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \ubc29\ud5a5\uacfc \ud68c\uc804\uc744 \uacc4\uc0b0\ud560 \ub54c \ub9ce\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac01\ub3c4 <code>\u03b8<\/code>\ub97c \ubc29\ud5a5 \ubca1\ud130\ub85c \ubc14\uafb8\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = (cos\u03b8, sin\u03b8)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud615\ud0dc\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2D \uce90\ub9ad\ud130\uac00 \ud2b9\uc815 \uac01\ub3c4\ub97c \ubc14\ub77c\ubcf4\ub3c4\ub85d \ub9cc\ub4e4\uac70\ub098 \uc6d0\ud615\uc73c\ub85c \uc6c0\uc9c1\uc774\ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \uad6c\ud604\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub77c\ub514\uc548<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ucef4\ud4e8\ud130 \uadf8\ub798\ud53d\uc2a4\uc640 \uac8c\uc784 \uc5d4\uc9c4\uc5d0\uc11c\ub294 \uac01\ub3c4\ub97c \ub77c\ub514\uc548\uc73c\ub85c \ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad00\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>180\u00b0 = \u03c0 rad\n360\u00b0 = 2\u03c0 rad\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcc0\ud658\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>radian = degree * \u03c0 \/ 180\ndegree = radian * 180 \/ \u03c0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01\ub3c4 \uacc4\uc0b0\uc744 \ud560 \ub54c \ub3c4(degree)\uc640 \ub77c\ub514\uc548(radian)\uc744 \ud63c\ub3d9\ud558\uba74 \uc774\uc0c1\ud55c \uacb0\uacfc\uac00 \ub098\uc628\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Atan2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">2D\uc5d0\uc11c \ub450 \uc810 \uc0ac\uc774\uc758 \uac01\ub3c4\ub97c \uad6c\ud560 \ub54c <code>atan2<\/code>\uac00 \ub9e4\uc6b0 \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>angle = atan2(y, x)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc704\uce58\uac00 \uc788\ub2e4\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>direction = target - current\nangle = atan2(direction.y, direction.x)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \ub300\uc0c1\uc758 \ubc29\ud5a5\uc744 \uac01\ub3c4\ub85c \ubcc0\ud658\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e8\uc21c\ud788 <code>atan(y \/ x)<\/code>\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\ubcf4\ub2e4 <code>atan2<\/code>\uac00 \uc88b\uc740 \uc774\uc720\ub294 <code>x<\/code>\uc758 \ubd80\ud638\uae4c\uc9c0 \uace0\ub824\ud574\uc11c \uc0ac\ubd84\uba74\uc744 \uc62c\ubc14\ub974\uac8c \ucc98\ub9ac\ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud68c\uc804<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0 \uac8c\uc784\uc5d0\uc11c \ud68c\uc804\uc740 \ub2e8\uc21c\ud788 <code>x, y, z<\/code>\uc5d0 \uac01\ub3c4\ub97c \uc800\uc7a5\ud558\ub294 \ubb38\uc81c\ub85c \ub05d\ub098\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ud45c\ud604 \ubc29\ubc95\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Euler Angle\nQuaternion\nRotation Matrix\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Euler Angle\uc740 \uc9c1\uad00\uc801\uc774\uc9c0\ub9cc \uc5ec\ub7ec \ucd95\uc758 \ud68c\uc804\uc774 \uacb9\uce58\uba74\uc11c Gimbal Lock \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quaternion\uc740 3\ucc28\uc6d0 \ud68c\uc804\uc744 \ud45c\ud604\ud558\uae30 \uc704\ud574 \uac8c\uc784 \uc5d4\uc9c4\uc5d0\uc11c \ub110\ub9ac \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc5d0\uc11c\ub3c4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Quaternion\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\ubb34\uc5d0\uc11c\ub294 Euler Angle\uc744 \ud3b8\uc9d1\uc774\ub098 UI\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc2e4\uc81c \ud68c\uc804 \uacc4\uc0b0\uc740 Quaternion\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud589\ub82c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud589\ub82c\uc740 \uc88c\ud45c \ubcc0\ud658\uc744 \ud45c\ud604\ud558\ub294 \ud575\uc2ec \ub3c4\uad6c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ubcc0\ud658\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Translation\nRotation\nScale\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c\ub294 \uc774\ub4e4\uc744 \ud589\ub82c\ub85c \ud45c\ud604\ud558\uace0 \uacb0\ud569\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local -&gt; World -&gt; View -&gt; Projection\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c 4&#215;4 \ud589\ub82c\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud589\ub82c \uacf1\uc148\uc740 \uc21c\uc11c\uac00 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AB != BA\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c \uad50\ud658\ubc95\uce59\uc774 \uc131\ub9bd\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Scale -&gt; Rotate -&gt; Translate\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Translate -&gt; Rotate -&gt; Scale\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc740 \uc11c\ub85c \ub2e4\ub978 \uacb0\uacfc\ub97c \ub9cc\ub4e0\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubcf4\uac04<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uac04(Interpolation)\uc740 \ub450 \uac12 \uc0ac\uc774\uc758 \uac12\uc744 \uacc4\uc0b0\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uac83\uc774 \uc120\ud615 \ubcf4\uac04\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Lerp(a, b, t) = a + (b - a)t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t = 0 -&gt; a\nt = 1 -&gt; b\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Lerp(0, 100, 0.5) = 50\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc704\uce58 \uc774\ub3d9\n\uc0c9\uc0c1 \ubcc0\ud654\nUI \uc560\ub2c8\uba54\uc774\uc158\n\uce74\uba54\ub77c \uc774\ub3d9\n\uac12\uc758 \ubd80\ub4dc\ub7ec\uc6b4 \ubcc0\ud654\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc5d0 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e8, <code>Lerp<\/code>\ub97c \ub9e4 \ud504\ub808\uc784<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>position = Lerp(position, target, 0.1)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \uc77c\ubc18\uc801\uc778 \uc2dc\uac04 \uae30\ubc18 \ubcf4\uac04\uacfc\ub294 \ub2e4\ub974\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacbd\uc6b0 \ub9e4 \ud504\ub808\uc784 \ud604\uc7ac \uc704\uce58\uc5d0\uc11c \ubaa9\ud45c \uc704\uce58\uc758 10%\ub9cc \uc774\ub3d9\ud558\uae30 \ub54c\ubb38\uc5d0 \ubaa9\ud45c\uc5d0 \uc9c0\uc218\uc801\uc73c\ub85c \uc811\uadfc\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SmoothStep<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc120\ud615 \ubcf4\uac04\uc740 \uc77c\uc815\ud55c \uc18d\ub3c4\ub85c \ubcc0\ud654\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub354 \ubd80\ub4dc\ub7ec\uc6b4 \uc2dc\uc791\uacfc \ub05d\uc744 \uc6d0\ud55c\ub2e4\uba74 <code>SmoothStep<\/code> \uac19\uc740 \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ud615\ud0dc\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>f(t) = 3t\u00b2 - 2t\u00b3\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>t<\/code>\uac00 <code>0<\/code>\uc5d0\uc11c <code>1<\/code>\ub85c \ubcc0\ud558\uba74\uc11c \uc2dc\uc791\uacfc \ub05d\uc758 \ubcc0\ud654\ub7c9\uc774 \ubd80\ub4dc\ub7fd\uac8c \uc904\uc5b4\ub4e0\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uc560\ub2c8\uba54\uc774\uc158, \uce74\uba54\ub77c, UI \ub4f1\uc758 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc6c0\uc9c1\uc784\uc744 \ub9cc\ub4dc\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac70\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810 \uc0ac\uc774\uc758 \uac70\ub9ac\ub294 \ubca1\ud130\uc758 \ud06c\uae30\ub85c \uacc4\uc0b0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance = |A - B|\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uac70\ub9ac \uacc4\uc0b0\uc740 \ub9e4\uc6b0 \ube48\ubc88\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uacf5\uaca9 \uc0ac\uac70\ub9ac\n\uc801 \ud0d0\uc9c0\n\uc544\uc774\ud15c \ud68d\ub4dd \ubc94\uc704\nAI \uac10\uc9c0\nLOD\n\uc624\ub514\uc624 \uac10\uc1e0\n\ud30c\ud2f0\ud074 \ud65c\uc131\ud654 \ubc94\uc704\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc131\ub2a5\uc774 \uc911\uc694\ud55c \uacbd\uc6b0\uc5d0\ub294 \uc2e4\uc81c \uac70\ub9ac\ubcf4\ub2e4 \uc81c\uacf1 \uac70\ub9ac\ub97c \ube44\uad50\ud558\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(A - B).sqrMagnitude &lt; range * range\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ucda9\ub3cc \uc218\ud559<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ucda9\ub3cc \uac80\uc0ac\ub294 \uac8c\uc784\uc5d0\uc11c \ud575\uc2ec\uc801\uc778 \uc218\ud559 \ubb38\uc81c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ucda9\ub3cc \ud615\ud0dc\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Point\nCircle\nSphere\nAABB\nOBB\nCapsule\nPlane\nRay\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2D \uc6d0 \ub450 \uac1c\uc758 \ucda9\ub3cc\uc740 \uac04\ub2e8\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uc2ec \uac04 \uac70\ub9ac\uac00 \ub450 \ubc18\uc9c0\ub984\uc758 \ud569\ubcf4\ub2e4 \uc791\uac70\ub098 \uac19\uc73c\uba74 \ucda9\ub3cc\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|A - B| &lt;= r1 + r2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc81c\uacf1\uadfc\uc744 \uc81c\uac70\ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|A - B|\u00b2 &lt;= (r1 + r2)\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \uacc4\uc0b0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AABB<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AABB\ub294 Axis-Aligned Bounding Box\uc758 \uc57d\uc790\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd95\uc5d0 \ub9de\ucdb0\uc9c4 \ubc15\uc2a4 \ud615\ud0dc\uc758 \ucda9\ub3cc \uc601\uc5ed\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2D\uc5d0\uc11c \ub450 AABB\uac00 \uacb9\uce58\ub294\uc9c0 \uac80\uc0ac\ud558\ub824\uba74 \uac01 \ucd95\uc5d0\uc11c \uacb9\uce58\ub294\uc9c0\ub97c \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A.left   &lt;= B.right\nA.right  &gt;= B.left\nA.bottom &lt;= B.top\nA.top    &gt;= B.bottom\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ucd95 \ubaa8\ub450 \uacb9\uce58\uba74 \ucda9\ub3cc\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AABB\ub294 \uacc4\uc0b0\uc774 \ub2e8\uc21c\ud558\uae30 \ub54c\ubb38\uc5d0 Broad Phase \ucda9\ub3cc \uac80\uc0ac\ub098 \uac04\ub2e8\ud55c \uacf5\uac04 \ubd84\ud560 \ub4f1\uc5d0 \uc0ac\uc6a9\ud558\uae30 \uc88b\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ray<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ray\ub294 \uc2dc\uc791\uc810\uacfc \ubc29\ud5a5\uc73c\ub85c \uc815\uc758\ub418\ub294 \ubc18\uc9c1\uc120\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ray = Origin + Direction * t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t &gt;= 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Raycast\n\ucd1d\uc54c \ud310\uc815\n\uc2dc\uc57c \uac80\uc0ac\n\ub9c8\uc6b0\uc2a4 \ud074\ub9ad \uc704\uce58\n\ubc14\ub2e5 \ud0d0\uc0c9\nLine of Sight\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc5d0 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud50c\ub808\uc774\uc5b4\uac00 \ubc14\ub77c\ubcf4\ub294 \ubc29\ud5a5\uc73c\ub85c Ray\ub97c \ubc1c\uc0ac\ud574\uc11c \uc801\uacfc \ucda9\ub3cc\ud588\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud3c9\uba74<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0 \uacf5\uac04\uc758 \ud3c9\uba74\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ax + by + cz + d = 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n = (a, b, c)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub294 \ud3c9\uba74\uc758 \ubc95\uc120 \ubca1\ud130\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810\uacfc \ud3c9\uba74\uc758 \uad00\uacc4\ub97c \uacc4\uc0b0\ud558\uac70\ub098 Ray\uc640 \ud3c9\uba74\uc758 \uad50\ucc28\uc810\uc744 \uacc4\uc0b0\ud560 \ub54c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c\ub294 \ud074\ub9ac\ud551, \ucda9\ub3cc, \uce74\uba54\ub77c Frustum \ub4f1\uacfc \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubb3c\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ubb3c\ub9ac\ub294 \ub274\ud134 \uc5ed\ud559\uc744 \uae30\ubc18\uc73c\ub85c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 \uc6b4\ub3d9 \ubc29\uc815\uc2dd\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>F = ma\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud798\uc774 \uc791\uc6a9\ud558\uba74 \uac00\uc18d\ub3c4\uac00 \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a = F \/ m\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0 \uac00\uc18d\ub3c4\ub97c \uc2dc\uac04\uc5d0 \ub530\ub77c \uc801\ubd84\ud558\uba74 \uc18d\ub3c4\uac00 \ub418\uace0, \uc18d\ub3c4\ub97c \uc801\ubd84\ud558\uba74 \uc704\uce58\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Force -&gt; Acceleration -&gt; Velocity -&gt; Position\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac04\ub2e8\ud55c \uc218\uce58 \uc801\ubd84\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>velocity += acceleration * deltaTime\nposition += velocity * deltaTime\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \ud615\ud0dc\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc911\ub825<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\ub825\ub3c4 \uac00\uc18d\ub3c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c0\uad6c \ud45c\uba74 \uadfc\ucc98\uc5d0\uc11c\ub294 \ub300\ub7b5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>g = 9.81 m\/s\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>velocity.y += gravity * deltaTime\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640 \uac19\uc740 \ud615\ud0dc\ub85c \uad6c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810\ud504 \uc5ed\uc2dc \ucd08\uae30 \uc18d\ub3c4\uc640 \uc911\ub825\uc758 \uad00\uacc4\ub85c \uc774\ud574\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>v(t) = v0 + gt\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>x(t) = x0 + v0t + 1\/2 gt\u00b2\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc6b4\ub3d9\ub7c9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6b4\ub3d9\ub7c9\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>p = mv\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c8\ub7c9\uc774 \ud06c\uac70\ub098 \uc18d\ub3c4\uac00 \ube60\ub97c\uc218\ub85d \uc6b4\ub3d9\ub7c9\uc774 \ucee4\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucda9\ub3cc \uc2dc\uc2a4\ud15c\uc774\ub098 \ubb3c\ub9ac \uc2dc\ubbac\ub808\uc774\uc158\uc5d0\uc11c \uc911\uc694\ud55c \uac1c\ub150\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc5d0\ub108\uc9c0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6b4\ub3d9 \uc5d0\ub108\uc9c0\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>E = 1\/2 mv\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc18d\ub3c4\uac00 2\ubc30\uac00 \ub418\uba74 \uc6b4\ub3d9 \uc5d0\ub108\uc9c0\ub294 4\ubc30\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb3c\ub9ac \uae30\ubc18 \uac8c\uc784\uc5d0\uc11c \ucda9\ub3cc\uc774\ub098 \ud3ed\ubc1c, \ubc1c\uc0ac\uccb4 \ub4f1\uc758 \ub3d9\uc791\uc744 \uc774\ud574\ud560 \ub54c \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud655\ub960<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub3c4 \ud655\ub960\uc740 \ub9ce\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Critical Hit\nLoot\nDrop Rate\nProc\nRandom Spawn\nAI \ud589\ub3d9\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc774 \ub300\ud45c\uc801\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc544\uc774\ud15c \ub4dc\ub78d \ud655\ub960\uc774 10%\ub77c\uba74 \ub2e8\uc21c\ud558\uac8c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Random() &lt; 0.1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud615\ud0dc\ub85c \uad6c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \ud655\ub960\uacfc \uc2e4\uc81c \uc7a5\uae30\uc801\uc778 \uccb4\uac10\uc740 \ub2e4\ub97c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10% \ud655\ub960\uc774\ub77c\uace0 \ud574\uc11c 10\ubc88 \uc2dc\ub3c4\ud558\uba74 \ubc18\ub4dc\uc2dc \ud55c \ubc88 \ub098\uc624\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac00\uc911\uce58 \ub79c\ub364<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc544\uc774\ud15c \uc911 \ud558\ub098\ub97c \uc120\ud0dd\ud560 \ub54c\ub294 \uac00\uc911\uce58\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A = 60\nB = 30\nC = 10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc804\uccb4 \uac00\uc911\uce58\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>100\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ubbc0\ub85c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A -&gt; 60%\nB -&gt; 30%\nC -&gt; 10%\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc758 \ud655\ub960\ub85c \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \uac8c\uc784\uc758 Loot Table\uc5d0\uc11c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc2dc\uac04\uacfc \ud504\ub808\uc784<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uc2dc\uac04\uc740 \uc218\ud559\uc801\uc73c\ub85c \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud504\ub808\uc784\ub9c8\ub2e4 \uc77c\uc815\ud55c \uc591\uc744 \uc6c0\uc9c1\uc774\uba74 \ud504\ub808\uc784 \ub808\uc774\ud2b8\uc5d0 \ub530\ub77c \uc18d\ub3c4\uac00 \ub2ec\ub77c\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc798\ubabb\ub41c \ubc29\uc2dd\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>position += speed\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud504\ub808\uc784\ub9c8\ub2e4 \ud55c \ubc88\uc529 \uc2e4\ud589\ub418\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>position += speed * deltaTime\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc2dc\uac04 \uac04\uaca9\uc744 \uacf1\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub7ec\uba74 FPS\uac00 \ub2ec\ub77c\uc838\ub3c4 \ucd08\ub2f9 \uc774\ub3d9\ub7c9\uc774 \uc77c\uc815\ud558\uac8c \uc720\uc9c0\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac01\uc18d\ub3c4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 \uc18d\ub3c4\uac00 \uc704\uce58\uc758 \ubcc0\ud654\uc728\uc774\ub77c\uba74 \uac01\uc18d\ub3c4\ub294 \ud68c\uc804\uc758 \ubcc0\ud654\uc728\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>velocity -&gt; position \ubcc0\ud654\nangular velocity -&gt; rotation \ubcc0\ud654\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud68c\uc804\uc5d0\uc11c\ub3c4 \uc2dc\uac04 \uac04\uaca9\uc744 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rotation += angularSpeed * deltaTime\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb3c\ub9ac \uc5d4\uc9c4\uc5d0\uc11c\ub294 \ud1a0\ud06c\uc640 \uad00\uc131 \ubaa8\uba58\ud2b8\uae4c\uc9c0 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac8c\uc784 \uc218\ud559\uc758 \uc804\uccb4 \uad6c\uc870<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uc218\ud559\uc740 \uc11c\ub85c \ub530\ub85c \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc5ec\ub7ec \uac1c\ub150\uc744 \uac19\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc801\uc774 \ud50c\ub808\uc774\uc5b4\ub97c \ud5a5\ud574 \uc774\ub3d9\ud558\ub294 \uacbd\uc6b0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Position -&gt; Target Direction -&gt; Normalize -&gt; Velocity -&gt; DeltaTime -&gt; Position\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2dc\uc57c \ud310\uc815\uc774\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Forward -&gt; Direction To Target -&gt; Normalize -&gt; Dot Product -&gt; FOV Check\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc1c\uc0ac\uccb4 \ucda9\ub3cc\uc774\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Position -&gt; Direction -&gt; Ray -&gt; Intersection -&gt; Collision\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uce74\uba54\ub77c\uc640 \uadf8\ub798\ud53d\uc2a4\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local Position -&gt; Transform Matrix -&gt; World Space -&gt; View Matrix -&gt; Projection Matrix -&gt; Screen\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb3c\ub9ac \uae30\ubc18 \uc774\ub3d9\uc774\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Force -&gt; Acceleration -&gt; Velocity -&gt; DeltaTime -&gt; Position\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud575\uc2ec \uc815\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uc218\ud559\uc5d0\uc11c \uc6b0\uc120\uc21c\uc704\ub97c \uc7a1\ub294\ub2e4\uba74 \ub2e4\uc74c \uc21c\uc11c\uac00 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc88c\ud45c\uacc4\n-&gt; \ubca1\ud130\n-&gt; \ubca1\ud130 \uc5f0\uc0b0\n-&gt; \ub0b4\uc801\n-&gt; \uc678\uc801\n-&gt; \uc0bc\uac01\ud568\uc218\n-&gt; \ud589\ub82c\n-&gt; \ud68c\uc804\n-&gt; Quaternion\n-&gt; \ubcf4\uac04\n-&gt; \uac70\ub9ac\n-&gt; \ucda9\ub3cc\n-&gt; Ray\n-&gt; \ubb3c\ub9ac\n-&gt; \ud655\ub960\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc911\uc5d0\uc11c\ub3c4 \uac00\uc7a5 \uba3c\uc800 \uc81c\ub300\ub85c \uc774\ud574\ud574\uc57c \ud558\ub294 \uac83\uc740 <strong>\ubca1\ud130<\/strong>\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130\ub97c \uc774\ud574\ud558\uba74 \uc704\uce58, \ubc29\ud5a5, \uc18d\ub3c4, \uac70\ub9ac, \ub0b4\uc801, \uc678\uc801\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub2e4\uc74c \ud589\ub82c\uacfc Quaternion\uc744 \uc774\ud574\ud558\uba74 3D \uacf5\uac04\uc5d0\uc11c\uc758 \uc774\ub3d9\uacfc \ud68c\uc804\uc774 \uc5f0\uacb0\ub418\uace0, \ucda9\ub3cc\uacfc \ubb3c\ub9ac\ub97c \uc774\ud574\ud558\uba74 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8\uc758 \uc0c1\ud638\uc791\uc6a9\uc744 \uc218\ud559\uc801\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d \uac8c\uc784 \uc218\ud559\uc758 \ud575\uc2ec\uc740 \uacf5\uc2dd\uc744 \ub9ce\uc774 \uc678\uc6b0\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ubb38\uc81c\n-&gt; \uacf5\uac04\uc5d0\uc11c \ubb34\uc5c7\uc744 \ud45c\ud604\ud574\uc57c \ud558\ub294\uac00\n-&gt; \uc5b4\ub5a4 \uc218\ud559\uc801 \uac12\uc73c\ub85c \ud45c\ud604\ud560 \uac83\uc778\uac00\n-&gt; \uc5b4\ub5a4 \uc5f0\uc0b0\uc774 \ud544\uc694\ud55c\uac00\n-&gt; \uacb0\uacfc\ub97c \uac8c\uc784 \ub85c\uc9c1\uc5d0 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud560 \uac83\uc778\uac00\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacfc\uc815\uc744 \ubc18\ubcf5\ud574\uc11c \uc775\ud788\ub294 \uac83\uc774 \ud575\uc2ec\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc218\ud559\uc740 \ubaa9\uc801\uc774 \uc544\ub2c8\ub77c <strong>\uacf5\uac04\uacfc \uc6c0\uc9c1\uc784\uc744 \uacc4\uc0b0\ud558\uae30 \uc704\ud55c \ub3c4\uad6c<\/strong>\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uac8c\uc784\uc5d0\uc11c \uc218\ud559\uc740 \ubcc4\ub3c4\uc758 \uae30\ub2a5\uc774 \uc544\ub2c8\ub2e4. \uce90\ub9ad\ud130\uac00 \uc774\ub3d9\ud558\uace0, \uce74\uba54\ub77c\uac00 \ud68c\uc804\ud558\uace0, \ucd1d\uc54c\uc774 \ub0a0\uc544\uac00\uace0, \uc801\uc774 \ud50c\ub808\uc774\uc5b4\ub97c \ucd94\uc801\ud558\uace0, \ubb3c\uccb4\uac00 \ucda9\ub3cc\ud558\ub294 \ubaa8\ub4e0 \uacfc\uc815\uc5d0 \uc218\ud559\uc774 \ub4e4\uc5b4\uac04\ub2e4. \ud2b9\ud788 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \uc218\ud559\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ud574\uc11c \ubcfc \uc218 \uc788\ub2e4. \uc88c\ud45c -&gt; \ubca1\ud130 -&gt; \uc0bc\uac01\ud568\uc218 -&gt; \ud589\ub82c -&gt; \ud68c\uc804 -&gt; \ubcf4\uac04 -&gt; \uac70\ub9ac\/\ucda9\ub3cc -&gt; \ubb3c\ub9ac -&gt; \ud655\ub960 \ubaa8\ub4e0 \uc218\ud559\uc744 \uae4a\uac8c \uacf5\ubd80\ud560 \ud544\uc694\ub294 \uc5c6\ub2e4. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-2109","post","type-post","status-publish","format-standard","hentry","category-mathematics"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2109","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=2109"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2109\/revisions"}],"predecessor-version":[{"id":2110,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2109\/revisions\/2110"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}