{"id":10047,"date":"2016-11-01T20:32:00","date_gmt":"2016-11-01T11:32:00","guid":{"rendered":"http:\/\/w3devlabs.net\/wp\/?p=10047"},"modified":"2016-11-01T20:37:25","modified_gmt":"2016-11-01T11:37:25","slug":"%ec%9c%a0%eb%8b%88%ed%8b%b0-%ec%9e%91%ec%97%85%ec%97%90-%eb%8c%80%ed%95%9c-50-%ed%8c%81-%eb%aa%a8%eb%b2%94-%ec%82%ac%eb%a1%80-50-tips-for-working-with-unity-best-practices","status":"publish","type":"post","link":"http:\/\/w3devlabs.net\/wp\/?p=10047","title":{"rendered":"\uc720\ub2c8\ud2f0 \uc791\uc5c5\uc5d0 \ub300\ud55c 50 \ud301 (\ubaa8\ubc94 \uc0ac\ub840) 50 Tips for Working with Unity (Best Practices)"},"content":{"rendered":"<h2><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"http:\/\/devmag.org.za\/blog\/wp-content\/uploads\/2012\/07\/unityLogo.png\" alt=\"\" width=\"900\" height=\"450\" \/><\/h2>\n<h2>\ud301\ub4e4\uc5d0 \ub300\ud574\uc11c<\/h2>\n<div>\uc774 \ud301\ub4e4\uc740 \ubaa8\ub4e0 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\uc6a9 \uac00\ub2a5\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4.<\/div>\n<ul>\n<li>\uc774\uac83\ub4e4\uc740 3~20\uba85\uc758 \uc778\uc6d0\uc73c\ub85c \uad6c\uc131\ub41c \uc791\uc740\ud300\uc758 \ud504\ub85c\uc81d\ud2b8 \uacbd\ud5d8\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4.<\/li>\n<li>\uad6c\uc870, \uc7ac\uc0ac\uc6a9\uc131, \uba85\ud655\uc131, \uae30\ud0c0 \ub4f1\ub4f1 \uc758 \ube44\uc6a9\uc740 \ud300 \ud06c\uae30\uc640 \ud504\ub85c\uc81d\ud2b8\uc758 \ud06c\uae30\uc5d0 \ub530\ub77c \ube44\uc6a9 \uc9c0\ubd88 \uc5ec\ubd80\uac00 \uacb0\uc815 \ub429\ub2c8\ub2e4.<\/li>\n<li>\ub9ce\uc740 \ud301\ub4e4\uc740 \ucde8\ud5a5\uc758 \ubb38\uc81c \uc785\ub2c8\ub2e4.<br \/>\n(\ud558\uc9c0\ub9cc \uc5ec\uae30\uc5d0 \ub098\uc628 \uc5ec\ub7ec \ud301\ub4e4\uc740 \uc6b0\uc5f4\uc744 \uac00\ub9ac\uae30 \uc5b4\ub824\uc6b8 \uc815\ub3c4\ub85c \uc88b\uc740 \uae30\uc220\ub4e4 \uc785\ub2c8\ub2e4.)<\/li>\n<li>\uba87\uac1c\uc758 \ud301\uc740 \uacf5\uc2dd Unity \uac1c\ubc1c\uc5d0 \uc704\ubc30 \ub418\ub294 \uac83\ub4e4\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74, \uba87\uac1c\uc758 \ud2b9\uc218\ud55c \uc778\uc2a4\ud134\uc2a4\ub97c \uc704\ud55c \ud504\ub9ac\ud339\uc758 \uc0ac\uc6a9\uc740 \ub9e4\uc6b0 Unity \uc5d0\uc11c \uc2eb\uc5b4\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c, \ube44\uc6a9 \ub610\ud55c \uc0c1\ub2f9\ud788 \ub192\uc2b5\ub2c8\ub2e4(\uc774\ub807\uac8c \ub77c\ub3c4 prefab \ub4e4\uc744 \uc0ac\uc6a9\ud558\ub294\uac8c \ub098\uc744 \ub54c\ub3c4 \uc788\uc2b5\ub2c8\ub2e4). \u00a0\uadf8\ub7ec\ub098 \ub098\ub294 \uc774\ub7f0 \ud301\ub4e4\uc774\u00a0\ubbf8\uce5c \uc9d3 \uac19\uc544 \ubcf4\uc5ec\ub3c4 \uac00\ub054 \uc88b\uc740 \uacb0\uacfc\ub97c \uac00\uc9c0\uace0 \uc624\ub294 \uacbd\uc6b0\ub3c4 \ubcf4\uace4 \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div><\/div>\n<h2>Process<\/h2>\n<div><b>1. \uc790\uc0b0\uc744 \uc5ec\ub7ec \ubc84\uc804\uc73c\ub85c \ub098\ub204\uc9c0 \ub9d0\ub77c.\u00a0<\/b>\ud56d\uc0c1 \ubaa8\ub4e0 \uc790\uc0b0\uc740 \uc624\uc9c1 \ud55c \ubc84\uc804\uc73c\ub85c \uc788\uc5b4\uc57c \ud55c\ub2e4. \ub9cc\uc57d \uc808\ub300\uacbd\ub85c\ub85c \ud504\ub9ac\ud339, \uc52c, \ub610\ub294 \uba54\uc26c \ub4f1\uc744 \ubd84\uae30 \ud558\uc5ec \ub9cc\ub4dc\ub294 \uacbd\uc6b0\u00a0<b>\uc633\uc740<\/b>\u00a0\ubc84\uc804\uc774\ub2e4. &#8220;<b>\uc798\ubabb\ub41c<\/b>&#8221; \ubd84\uae30\ub294 \uc784\uc2dc\uc801 \uc774\ub984\uc73c\ub85c, \uc608\ub97c\ub4e4\uba74 \ubc11\uc904 \ub450\uac1c\ub97c \uc811\ub450\ub85c \ubd99\uc774\ub294 \uacbd\uc6b0\ub2e4.\u00a0<code>__MainScene_Backup<\/code>.\u00a0\ud504\ub9ac\ud339\uc744 \ubd84\uae30 \ud558\ub294 \uacbd\uc6b0 \ubd84\uba85\ud558\uac8c \uc774\ub984\uc744 \uba85\uc2dc\ud558\ub294\uac8c \uc548\uc804\ud558\uac8c \uc0dd\uc131\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. (Prefabs \uc139\uc158\uc744 \ucc38\uace0)<\/div>\n<div id=\"more162_0\" class=\"moreless_fold\"><\/div>\n<div><b>2. \ubc84\uc804 \ucee8\ud2b8\ub864\uc744 \uc0ac\uc6a9\ud560 \uacbd\uc6b0\u00a0\uac01 \ud300 \uad6c\uc131\uc6d0\ub4e4\uc740 \ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \uccb4\ud06c \uc544\uc6c3\ud55c \ud504\ub85c\uc81d\ud2b8\uc758 \ub450\ubc88\uc9f8 \ubcf5\uc0ac\ubcf8\uc774 \uc788\uc5b4\uc57c \ud55c\ub2e4.\u00a0<\/b>\ubcc0\uacbd \ud6c4, \ub450\ubc88\uc9f8 \ubcf5\uc0ac\ubcf8\uc740 clean copy \ubc0f update \ub97c \ud558\uace0 test \ub97c \ud574\uc57c \ud55c\ub2e4. \ubaa8\ub4e0 \uc0ac\ub78c\ub4e4\uc740\u00a0clean copy \uc0c1\ud0dc\uc5d0\uc11c \ubcc0\uacbd\uc744 \ud574\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div><\/div>\n<div id=\"more162_1\" class=\"moreless_fold\"><\/div>\n<div>3.\u00a0<b>\ub808\ubca8 \uc218\uc815\uc744 \uc704\ud55c \uc678\ubd80 \ub808\ubca8 \ud234\uc744 \uc0ac\uc6a9\ud558\ub294\uac78 \uace0\ub824\ud558\ub77c.<\/b>\u00a0Unity \ub294 \uc644\ubcbd\ud55c \ub808\ubca8 \uc5d0\ub514\ud130\uac00 \uc544\ub2c8\ub2e4. \uc608\ub85c, \uc6b0\ub9ac\ub294 3D tile \uae30\ubc18\uc758 \uac8c\uc784\uc744 \uc704\ud574 \ub808\ubca8 \ube4c\ub4dc\ub97c\u00a0<a class=\"con_link\" href=\"http:\/\/www.diorgo.com\/v1\/?p=366\" target=\"_blank\">TuDee<\/a>\u00a0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9cc\ub4e4\uc5c8\uc73c\uba70,\u00a0\uc6b0\ub9ac\ub294 tile \uce5c\ud654\uc801\uc778 \ud234\uc744 \ud1b5\ud574 \ub3c4\uc6c0\uc744 \ubc1b\uc558\ub2e4 (\uadf8\ub9ac\ub4dc \uac00 \ubd99\ub294, \uadf8\ub9ac\uace0 90 \ub3c4 \ub85c \uc5ec\ub7ec\ubc88 \ud68c\uc804, 2d \ubdf0, \ube60\ub978 \uc120\ud0dd). XML \ud30c\uc77c\uc744 \ud1b5\ud55c prefab \ucd08\uae30\ud654\ub294 \uac04\ub2e8\ud569\ub2c8\ub2e4.\u00a0<a class=\"con_link\" href=\"http:\/\/devmag.org.za\/2009\/10\/23\/guerrilla-tool-development\/\" target=\"_blank\">Guerrilla Tool Development<\/a>\u00a0\uc5d0 \uc790\uc138\ud55c \uc544\uc774\ub514\uc5b4\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_2\" class=\"moreless_fold\"><\/div>\n<div><strong>4. \ub808\ubca8 \uc800\uc7a5\uc744 scene \ub300\uc2e0 XML \uc73c\ub85c \ud558\ub294\uac78 \uace0\ub824\ud558\ub77c.\u00a0<\/strong>\uc774\uac74 \ud6cc\ub96d\ud55c\u00a0\uae30\uc220\uc774\ub2e4:<\/div>\n<ul>\n<li>\uc774\ub807\uac8c \ub9cc\ub4e4\uba74 \uac01\uac01\uc758 scene \uc744 \ub2e4\uc2dc \ub9cc\ub4dc\ub294\uac8c \ubd88\ud544\uc694\ud574 \uc9d1\ub2c8\ub2e4.<\/li>\n<li>\uc774\ub807\uac8c \ub9cc\ub4e4\uba74 \ubcf4\ub2e4 \ube60\ub974\uac8c \ub85c\ub529 \ud569\ub2c8\ub2e4(\ub300\ubd80\ubd84\uc758 \uac1d\uccb4\uac00 scene \uc5d0\uc11c \uacf5\uc720\ub418\ub294 \uacbd\uc6b0)<\/li>\n<li>\uc774\ub807\uac8c \ub9cc\ub4e4\uba74 scene \uc744 \ud569\uce58\ub294\uac8c \uc26c\uc6cc\uc9d1\ub2c8\ub2e4.(Unity \uc758 \uc0c8\ub85c\uc6b4 text \uae30\ubc18 scene \uc740 \ub108\ubb34 \ub9ce\uc740 \ub370\uc774\ud130\ub97c \ud3ec\ud568\ud558\uace0 \uc788\uc5b4 \ud569\uce58\ub294\uac8c \ube44\ud604\uc2e4\uc801\uc73c\ub85c \ubcf4\uc785\ub2c8\ub2e4)<\/li>\n<li>\uc774\ub807\uac8c \ub9cc\ub4e4\uba74 \ub370\uc774\ud130 \ub808\ubca8 \uc218\uc900\uc5d0\uc11c \uad00\ub9ac\ub97c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div>\ub2f9\uc2e0\uc740 \uc5ec\uc804\ud788 Unity \ub97c \ub808\ubca8 \uc5d0\ub514\ud130 \ub85c \uc0ac\uc6a9 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\ud544\uc694\uc131\uc744 \ubabb \ub290\ub084\uacbd\uc6b0). \ub124\uac00 \ub370\uc774\ud130 ,\u00a0\uc5d0\ub514\ud130\uc640 \ub808\ubca8 \ub85c\ub4dc \ub97c \uc2e4\uc2dc\uac04\uc73c\ub85c \ucc98\ub9ac, \uc5d0\ub514\ud130\ub85c \ubd80\ud130 \ub808\ubca8 \uc800\uc7a5\uc744 \ud574\uc57c \ud560 \uacbd\uc6b0 \uba87\uba87\uc758 \ucf54\ub4dc\ub294 \uc9c1\ub82c\ud654 \uc640 \uc5ed\uc9c1\ub82c\ud654\ub97c \ud544\uc694\ub85c \ud558\uac8c \ub41c\ub2e4. \ub108\ub294 \uc544\ub9c8 \ub610\ud55c \uac1d\uccb4\uac04 \ucc38\uc870\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud574 Unity \uc758 id system \uc744 \ubaa8\ubc29 \ud574\uc57c \ud560 \uac83\uc785\ub2c8\ub2e4.<\/div>\n<div><\/div>\n<div id=\"more162_3\" class=\"moreless_fold\"><\/div>\n<div><b>5. \uc77c\ubc18\uc801\uc778 \ucee4\uc2a4\ud140 inspector \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac78 \uace0\ub824\ud558\ub77c.<\/b>\u00a0\ucee4\uc2a4\ud140 inspector \ub97c \uc791\uc131\ud558\ub294\uac74 \ub9e4\uc6b0 \uac04\ub2e8\ud558\ub098, Unity \uc758 \uc2dc\uc2a4\ud15c\uc740 \ub9ce\uc740 \ub2e8\uc810\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4.<\/div>\n<div><\/div>\n<div><\/div>\n<ul>\n<li>\uc0c1\uc18d\uc744 \ud65c\uc6a9\ud55c \ubc29\uc2dd\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub2f9\uc2e0\uc774 \uc815\uc758 \ud558\ub294 inspector \ucef4\ud3ec\ub10c\ud2b8\ub294 \ud544\ub4dc \ud0c0\uc785 \uc218\uc900\uc5d0\uc11c \uad6c\uc131\uc774 \uc548\ub418\uba70, \uc624\ub85c\uc9c0 \ud074\ub798\uc2a4 \ud0c0\uc785 \ub808\ubca8\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc608 \ub85c, \ub9cc\uc57d \ubaa8\ub4e0 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8\uac00\u00a0SomeCoolType \ud544\ub4dc\ud0c0\uc785\u00a0\uc774\uace0, inspector \uc5d0\uc11c \ub2e4\ub974\uac8c \ub80c\ub354\ub9c1 \ud558\ub824 \ud560 \uacbd\uc6b0,\ub2f9\uc2e0\uc740 \ubaa8\ub4e0 \ud074\ub798\uc2a4\ub4e4\uc5d0 \ub300\ud574\uc11c inspector \ub97c \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div><\/div>\n<h2>\ub2f9\uc2e0\uc740 \uae30\ubcf8\uc801\uc73c\ub85c inspector \uc2dc\uc2a4\ud15c\uc744 \ub2e4\uc2dc \uad6c\ud604\ud568\uc73c\ub85c\uc368 \uc774\ub7ec\ud55c \ubb38\uc81c\ub97c \ud574\uacb0 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. reflection\uc758 \uba87\uac00\uc9c0 \uae30\uc220\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud574\uacb0\ud560 \uc218 \uc788\uc73c\uba70, \uc790\uc138\ud55c \ubc29\ubc95\uc740 \ubb38\uc11c\uc758 \ub05d\uc5d0 \ub098\uc640 \uc788\uc2b5\ub2c8\ub2e4.<\/h2>\n<div id=\"more162_4\" class=\"moreless_fold\"><\/div>\n<div><\/div>\n<h2>Scene Organisation<\/h2>\n<div><b>6. scene \ud3f4\ub354\ub97c \ube48 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8 \uc758 \uc774\ub984\uc73c\ub85c \uc0ac\uc6a9\ud558\ub77c.<\/b>\u00a0\ub2f9\uc2e0\uc758 scene \uc5d0\uc11c \ucc3e\uace0\uc790 \ud558\ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \uc27d\uac8c \ucc3e\uc744\uc218 \uc788\ub3c4\ub85d \uad6c\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_5\" class=\"moreless_fold\"><\/div>\n<div><strong>7. \uad00\ub9ac\ud558\ub294 prefab \uacfc \ud3f4\ub354 (\ube48 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8) \ub97c 0 0 0 \uc5d0 \ub123\uc2b5\ub2c8\ub2e4.\u00a0<\/strong>\ub9cc\uc57d \uc704\uce58\ub97c \uba85\uc2dc\ud558\uc9c0 \uc54a\uc740 \ucc44 \uc624\ube0c\uc81d\ud2b8\uc758 \uc704\uce58\ub97c \uc0ac\uc6a9 \ud558\uba74, \uc544\ub9c8 \uc6d0\uc810\uc5d0 \uc788\uc744\uac81\ub2c8\ub2e4. \uadf8 \ubc29\ubc95\uc740, \uc2e4\ud589 \uc911 \ub85c\uceec\uacfc \uc6d4\ub4dc \uacf5\uac04\uac04\uc758 \ubb38\uc81c\ub97c \uc904\uc5ec\uc904 \uc218 \uc788\uc73c\uba70,\u00a0\ucf54\ub4dc\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_6\" class=\"moreless_fold\"><\/div>\n<div><strong>8. GUI \ucef4\ud3ec\ub10c\ud2b8\uc758 offset \uc0ac\uc6a9\uc744 \ucd5c\uc18c\ud654 \ud558\ub77c.<\/strong>\u00a0Offset \uc740 \ud56d\uc0c1 \uc790\uc2e0\uc758 \ubd80\ubaa8 Component \uc5d0\uc11c \ub808\uc774\uc544\uc6c3 Component \ub97c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0\uadf8\ub4e4\uc740 \uc870\ubd80\ubaa8(\ubd80\ubaa8\uc758\ubd80\ubaa8)\uc758 \uc704\uce58\uc5d0 \uc758\uc874\ud574\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4. Offset \uc744 \uc62c\ubc14\ub974\uac8c \ud45c\uc2dc\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc11c\ub85c\ub97c \ucde8\uc18c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4\u00a0. \uc774\ub7f0 \uc77c\uc744 \ubc29\uc9c0\ud558\uae30 \uc704\ud574 \uae30\ubcf8\uc801\uc73c\ub85c:<\/div>\n<div>\ubd80\ubaa8 \ucee8\ud14c\uc774\ub108\uac00\u00a0\uc784\uc758\uc758\u00a0\uc704\uce58\ub85c\u00a0\u00a0(100, -50) \uc774\uace0, \uc790\uc2dd\uc758 \uc704\uce58\uac00\u00a0\u00a0(10, 10) \uc774\uae30\ub97c \ud76c\ub9dd \ud560 \uacbd\uc6b0, \uc704\uce58 \uc815\uc758\ub97c\u00a0(90, 60) [relative to parent] \uc73c\ub85c \ud558\uba74 \ub41c\ub2e4.<\/div>\n<div>\uc774 \uc5d0\ub7ec\ub294 \ucee8\ud14c\uc774\ub108\uac00 invisible \uc0c1\ud0dc\uc77c\ub54c \uacf5\ud1b5\uc73c\ub85c \ubc1c\uc0dd\ud558\uba70, \ub610\ub294 \uc2dc\uac01\uc801 \ud45c\ud604\uc774 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \ud574\ub2f9\ud569\ub2c8\ub2e4.<\/div>\n<div><\/div>\n<div id=\"more162_7\" class=\"moreless_fold\"><\/div>\n<div><strong>9. \ub2f9\uc2e0\uc758 \uc6d4\ub4dc \ubc14\ub2e5\uc744 y = 0 \uc73c\ub85c \ud558\ub77c.<\/strong>\u00a0\uc774\uc640 \uac19\uc774 \ud558\uba74 \uc624\ube0c\uc81d\ud2b8\ub97c \ubc14\ub2e5\uc5d0 \uc0dd\uc131\ud558\ub294\uac8c \uc26c\uc6cc\uc9c0\uba70, \uac8c\uc784 \ub85c\uc9c1, AI, \ubb3c\ub9ac \ub4f1\uc744 2D \uacf5\uac04(\uc774\uac8c \uc801\uc808\ud560 \uacbd\uc6b0)\uc73c\ub85c \uc6d4\ub4dc\uc5d0 \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_8\" class=\"moreless_fold\"><\/div>\n<div><strong>10. \ubaa8\ub4e0 scene \uc744 \uac8c\uc784 \uc2e4\ud589 \uac00\ub2a5\ud558\uac8c \ub9cc\ub4ed\ub2c8\ub2e4.<\/strong>\u00a0\uc774\uac74 \ub300\ud3ed\uc801\uc73c\ub85c \ud14c\uc2a4\ud2b8 \uc2dc\uac04\uc744 \uc904\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 scene \uc744 \uc2e4\ud589 \uac00\ub2a5\ud558\uac8c \ub9cc\ub4e4\ub824\uba74 \ub450\uac00\uc9c0 \uace0\ub824\uc0ac\ud56d\uc774 \uc788\uc2b5\ub2c8\ub2e4:<\/div>\n<div>\uccab\ubc88\uc9f8\ub85c, \uc774\uc804\uc5d0 \ub85c\ub4dc\ud574\uc57c \ud558\ub294 scene \uc758 \ub370\uc774\ud130\uac00 \ud544\uc694\ub85c \ud558\ub294\ub370 \uc0ac\uc6a9 \ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0, \uc784\uc2dc \ub370\uc774\ud130 \ub97c \uc81c\uacf5 \ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div>\ub450\ubc88\uc9f8\ub85c, \uc0dd\uc131\ud55c \uc624\ube0c\uc81d\ud2b8\ub294 \ub2e4\uc74c\uc758 scene \uacfc\u00a0scene \uc744 \ubd88\ub7ec\uc624\ub294 \uc0ac\uc774\uc5d0 \uacc4\uc18d \ub418\uc5b4\uc57c \ud55c\ub2e4.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">myObject = FindMyObjectInScene();\r\n\u00a0\r\nif (myObjet == null)\r\n{\r\n   myObject = SpawnMyObject();\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_9\" class=\"moreless_fold\"><\/div>\n<h2><\/h2>\n<h2>Art<\/h2>\n<div><strong>11. \ucf00\ub9ad\ud130\uc640 \uc11c\uc788\ub294 \uc624\ube0c\uc81d\ud2b8\ub294 pivot \uae30\ubc18\uc774\uc5ec \ud558\uba70, center \uc911\uc2ec\uc774\uc5b4\uc120 \uc548\ub41c\ub2e4\u00a0.\u00a0<\/strong>\uc774\ub7f0\uc2dd \uc73c\ub85c \ub9cc\ub4e4\uba74 \ubcf4\ub2e4 \uc27d\uac8c \ucf00\ub9ad\ud130\uc640 \uc624\ube0c\uc81d\ud2b8\ub97c \ubc14\ub2e5\uc5d0 \uc62c\ub824\ub193\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4<strong>\u00a0<\/strong>. \uc774\uac83\uc740 \ub610\ud55c \uac8c\uc784 \ub85c\uc9c1, AI \uc640 \ubb3c\ub9ac \ub4f1\uc774 \ud544\uc694\ub85c \ud558\ub294 \uacbd\uc6b0\uc5d0 3D \ud658\uacbd\uc5d0\uc11c 2D \uac19\uc774 \uc81c\uc791 \ud560 \uacbd\uc6b0 \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div><\/div>\n<div id=\"more162_10\" class=\"moreless_fold\"><\/div>\n<div><strong>12. \uc81c\uc791\ud558\ub294 \ubaa8\ub4e0 \uba54\uc2dc\uc758 \ubc14\ub77c\ubcf4\ub294 \ubc29\ud5a5\uc744 \uc77c\uce58 \ud569\ub2c8\ub2e4(+Z \ub610\ub294 -Z).<\/strong>\u00a0\ucf00\ub9ad\ud130\uc640 \ub2e4\ub978 \uc624\ube0c\uc81d\ud2b8\ub4e4\uc758 \uba54\uc2dc\ub294\u00a0\ubc14\ub77c\ubcf4\ub294 \ubc29\ud5a5\uc774 \ub2e4\ub974\uac8c \uc801\uc6a9\uc774 \ub429\ub2c8\ub2e4. \ubc14\ub77c\ubcf4\ub294 \ubc29\ud5a5\uc744 \ud1b5\uc77c \uc2dc\ud0a4\uba74 \ub9ce\uc740 \uc54c\uace0\ub9ac\uc998\ub4e4\uc744 \uc27d\uac8c \uc801\uc6a9 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_11\" class=\"moreless_fold\"><\/div>\n<div><strong>13. \uc2dc\uc791\uc2dc \uc2a4\ucf00\uc77c\uc758 \uaddc\ubaa8\ub97c \uc815\ud558\ub3c4\ub85d \ud55c\ub2e4.<\/strong>\u00a0\ub9cc\ub4e0 \uc791\uc5c5\ubb3c\uc744 \uc784\ud3ec\ud2b8 \ud560\ub54c \uc2a4\ucf00\uc77c \ud06c\uae30\ub97c 1\ub85c \ud558\uac8c \ub418\uba74 \uadf8\uac83\uc758 \ud2b8\ub79c\uc2a4\ud3fc \uc2a4\ucf00\uc77c\uc740 1 1 1 \uc774 \ub41c\ub2e4. \uc2a4\ucf00\uc77c\uc758 \ube44\uad50\ub97c \uc27d\uac8c \ud558\uae30 \uc704\ud574\uc11c \ucc38\uc870 \uc624\ube0c\uc81d\ud2b8(Unity \uc0c1\uc790)\ub97c \uc0ac\uc6a9 \ud569\ub2c8\ub2e4. \uac8c\uc784\uc5d0 \uc801\ud569\ud55c Unity \ub2e8\uc704 \ube44\uc728\uc744 \uc120\ud0dd\ud558\uace0, \uc815\ud55c\uac83\uc5d0\u00a0\ucda9\uc2e4\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_12\" class=\"moreless_fold\"><\/div>\n<div><strong>14.\u00a0<\/strong>GUI \ucef4\ud3ec\ub10c\ud2b8\uc640 \ud30c\ud2f0\ud074\uc744 \uc218\ub3d9\uc73c\ub85c \uc0dd\uc131 \ud574\uc57c \ud560 \uacbd\uc6b0\u00a0<b>2\uac1c\uc758 \uc0bc\uac01\ud615\uc73c\ub85c \ub41c \ud3c9\uba74<\/b>\uc744 \uc0ac\uc6a9 \ud569\ub2c8\ub2e4.\u00a0\ud3c9\uba74\uc744 Z+ \ubc29\ud5a5\uc73c\ub85c \ud558\ub294\uac8c \ube4c\ubcf4\ub4dc\uc640 GUI \ub97c \ub9cc\ub4dc\ub294\ub370 \uc27d\uac8c \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_13\" class=\"moreless_fold\"><\/div>\n<div><strong>15. \ud14c\uc2a4\ud2b8 \uc791\uc5c5\ubb3c \ub9cc\ub4e4\uae30 \ubc0f \uc0ac\uc6a9<\/strong><\/div>\n<ul>\n<li>\uc2a4\uce74\uc774 \ubc15\uc2a4\ub4e4\uc744 \uc704\ud55c \uc0ac\uac01\ud615 \ud45c\uae30.<\/li>\n<li>\uadf8\ub9ac\ub4dc(\uaca9\uc790).<\/li>\n<li>shader \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \ub2e4\uc591\ud55c \ud3c9\uba74 \uc0c9\uc0c1: \ud770\uc0c9, \uac80\uc740\uc0c9, 50% \ud68c\uc0c9, \uc801\uc0c9, \ub179\uc0c9, \uccad\uc0c9, \ub9c8\uc820\ud0c0, \ub178\ub791, \uccad\ub85d\uc0c9.<\/li>\n<li>shader \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \uadf8\ub77c\ub370\uc774\uc158: \uac80\uc740\uc0c9 \uc5d0\uc11c \ud770\uc0c9, \uc801\uc0c9\uc5d0\uc11c \ub179\uc0c9, \uc801\uc0c9\uc5d0\uc11c \uccad\uc0c9, \ub179\uc0c9\uc5d0\uc11c \uccad\uc0c9.<\/li>\n<li>\uac80\uc740\uc0c9\uacfc \ud770\uc0c9\uc73c\ub85c \ub41c \uccb4\ucee4\ubcf4\ub4dc(\uccb4\ucee4\ud310).<\/li>\n<li>\ubd80\ub4dc\ub7fd\uace0 \uac70\uce5c \ub178\uba40\ub9f5.<\/li>\n<li>\ube60\ub978 \ud14c\uc2a4\ud2b8 scene \uc124\uc815\uc744 \uc704\ud55c \ub77c\uc774\ud305 \uc744 \uac16\ucda4(\ud504\ub9ac\ud339).<\/li>\n<\/ul>\n<div id=\"more162_14\" class=\"moreless_fold\"><\/div>\n<h2>Prefabs<\/h2>\n<div><strong>16. \ubaa8\ub4e0 \uac83\uc5d0 \ud504\ub9ac\ud339\uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud55c\ub2e4.<\/strong>\u00a0 \u00a0\ub2f9\uc2e0\uc758 scene \uc5d0 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8\ub9cc \uc788\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud504\ub9ac\ud339\uc774 \ud3f4\ub354\uc5d0 \uc788\uc744 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc2ec\uc9c0\uc5b4 \ud55c\ubc88\ub9cc \uc0ac\uc6a9 \ud558\ub354\ub77c\ub3c4 \uace0\uc720 \uac1d\uccb4\ub97c \ud504\ub9ac\ud339\uc73c\ub85c \ud574\uc57c\ud569\ub2c8\ub2e4.\u00a0scene \uc744 \ubc14\uafb8\uc9c0 \uc54a\ub294 \uacbd\uc6b0\u00a0\ub9cc\ub4e0\uac83\uc744 \uc218\uc815\ud558\ub294\uac78 \ud3b8\ud558\uac8c \uc791\uc5c5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0(\ub610 \ub2e4\ub978 \uc7a5\uc810\uc740\u00a0<a class=\"con_link\" href=\"http:\/\/www.anbsoft.com\/middleware\/ezgui\/\" target=\"_blank\">EZGUI<\/a>\u00a0\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uc2e0\ub8b0 \ud560\ub9cc\ud55c \uc2a4\ud504\ub77c\uc774\ud2b8 \uc544\ud2c0\ub77c\uc2a4 \ub97c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.).<\/div>\n<div><\/div>\n<div id=\"more162_15\" class=\"moreless_fold\"><\/div>\n<div><strong>17. \ud2b9\uc218\ud654\ub41c \ud504\ub9ac\ud339\uc740 \uc0ac\uc6a9\ud574\ub3c4 \uc88b\uc9c0\ub9cc; \ud2b9\uc218\ud654 \ub41c \uc778\uc2a4\ud134\uc2a4\ub294 \uc0ac\uc6a9\ud558\uc9c0 \ub9d0\ub77c.\u00a0<\/strong>\ub9cc\uc57d \ub2e4\uc2e0\uc774 \ub450\uac1c\uc758 \uc801 \ud0c0\uc785\uc744 \uac00\uc9c0\uace0 \uc788\ub294 \uacbd\uc6b0, \uadf8\ub9ac\uace0 \uadf8\uac83\ub4e4\uc774 \ud504\ub85c\ud37c\ud2f0\ub9cc \ub2e4\ub978 \uacbd\uc6b0, \uc18d\uc131\uc5d0 \ub300\ud574 \ubcc4\ub3c4\uc758 \ud504\ub9ac\ud339\uc744 \ub9cc\ub4e4\uace0, \uadf8\uac83\uc744 \ub9c1\ud06c \ud569\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\ub294\uac8c \uac00\ub2a5\ud55c \uacbd\uc6b0\ub294<\/div>\n<ul>\n<li>\ud55c \uacf3\uc5d0\uc11c\u00a0\uac01\uac01\uc758 \ud0c0\uc785\uc744 \ubcc0\uacbd \ud560 \uacbd\uc6b0<\/li>\n<li>scene \uc744 \ubcc0\uacbd\ud558\uc9c0 \uc54a\uace0 \ubcc0\uacbd \ud560 \uacbd\uc6b0<\/li>\n<\/ul>\n<div>\ub2f9\uc2e0\uc774 \ub108\ubb34 \ub9ce\uc740 \uc801 \ud0c0\uc785\uc744 \uac00\uc9c0\uace0 \uc788\uc744\uc9c0\ub77c\ub3c4, \ud2b9\uc218\ud654\ub294 \uc5ec\uc804\ud788 \uc5d0\ub514\ud130\uc758\u00a0\uc778\uc2a4\ud134\uc2a4\ub97c \ub9cc\ub4e4\uc5b4\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4.\u00a0\ud55c\uac00\uc9c0 \ub300\uc548\ucc45\uc740 \uc808\ucc28\ub97c \ub530\ub974\uac70\ub098 \ub610\ub294 \ubaa8\ub4e0 \uc801\ub4e4\uc744 \uae30\uc900\uc758 \ud30c\uc77c \/ \ud504\ub9ac\ud339\uc744 \uc0ac\uc6a9\ud558\ub294 \uac81\ub2c8\ub2e4. \uc801\ub4e4\uc744 \uad6c\ubd84\ud558\ub294\uac78 \uc0ac\uc6a9\ud558\uc5ec\u00a0\ud558\ub098\uc758 \uc801\uc744 \uc4f0\ub7ec\ud2b8\ub9ac\uac70\ub098, \uc801\uc758 \uc704\uce58 \ub610\ub294 \ud50c\ub808\uc774\uc5b4 \uc9c4\ud589 \uae30\ubc18\uc758 \uc54c\uace0\ub9ac\uc998\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_16\" class=\"moreless_fold\"><\/div>\n<div><strong>18. \ud504\ub9ac\ud339\uacfc \ud504\ub9ac\ud339\uc758 \ub9c1\ud06c\ub294 \ub418\ub098; \uc778\uc2a4\ud134\uc2a4\uc640 \uc778\uc2a4\ud134\uc2a4 \uac04\uc758 \ub9c1\ud06c\ub294 \uc548\ub41c\ub2e4.\u00a0<\/strong>scene \uc5d0 \ud504\ub9ac\ud339\uc744 \ub04c\uc5b4\ub193\uc744 \ub54c \ud504\ub9ac\ud339\uc758 \uc5f0\uacb0\uc774 \uc720\uc9c0 \ub429\ub2c8\ub2e4; \uc778\uc2a4\ud134\uc2a4\uc5d0\ub294 \ub9c1\ud06c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.\u00a0\ud504\ub9ac\ud339\uc744 \uc5f0\uacb0\ud560 \ub54c\ub9c8\ub2e4\u00a0scene \uc758 \uc124\uc815\uc744 \uc904\uc5ec \uc8fc\ub294\uac8c \uac00\ub2a5\ud574\uc9c0\uba70, scene \uc744 \ubcc0\uacbd\ud560 \uacbd\uc6b0\ub3c4 \uc904\uc5ec\uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_17\" class=\"moreless_fold\"><\/div>\n<div><b>19. \uac00\ub2a5\ud558\ub2e4\uba74, \uc778\uc2a4\ud134\uc2a4\uac04\uc758 \uc5f0\uacb0 \uc124\uc815\uc740 \uc790\ub3d9\uc73c\ub85c \ud558\ub77c.\u00a0<\/b>\ub9cc\uc57d \ub2f9\uc2e0\uc774 \uc778\uc2a4\ud134\uc2a4\uac04\uc758 \ub9c1\ud06c\ub97c \ud544\uc694\ub85c \ud55c\ub2e4\uba74, \ud504\ub85c\uadf8\ub798\ubc0d\uc801\uc73c\ub85c \ub9c1\ud06c\ub97c \uc124\uc815 \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, Player \ud504\ub9ac\ud339 \uc790\uccb4\ub97cGameManager \uc744 \uc2dc\uc791\ud568\uacfc \ub3d9\uc2dc\uc5d0 \ub4f1\ub85d \ud560 \uc218 \uc788\uc73c\uba70, \ub610\ub294 GameManager \uac00 \uc2dc\uc791 \ud560\ub54c Player \ud504\ub9ac\ud339 \uc778\uc2a4\ud134\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div>\ub9cc\uc57d \ub2f9\uc2e0\uc774 \ud504\ub9ac\ud339\uc5d0\u00a0\ub2e4\ub978 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ucd94\uac00 \ud558\uae38 \uc6d0\ud55c\ub2e4\uba74 \ub8e8\ud2b8\uc5d0 \ub2e4\ub978 \uba54\uc2dc\ub97c \ub123\uc5b4\uc120 \uc548\ub429\ub2c8\ub2e4. \ub2f9\uc2e0\uc774 \uba54\uc2dc\ub85c \ubd80\ud130 \ud504\ub9ac\ud339\uc744 \ub9cc\ub4e4\ub824\uace0 \ud55c\ub2e4\uba74, \uccab\ubc88\uc9f8 \uba54\uc2dc\uc758 \ubd80\ubaa8\ub294 \ube44\uc5b4\uc788\ub294 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8 \uc774\uc5b4\uc57c \ud558\uba70, \uadf8\uac83\uc740 \ub8e8\ud2b8 \uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub8e8\ud2b8\uc5d0 \ub123\uac8c \ub418\uba74, \uba54\uc2dc \ub178\ub4dc\uac00 \uc544\ub2c8\uac8c \ub429\ub2c8\ub2e4. \uadf8 \ubc29\ubc95\uc740 \ub2f9\uc2e0\uc774 inspector \uc5d0\uc11c \uc124\uc815\ud55c \ubaa8\ub4e0 \uac12\uc744 \uc783\uc5b4\ubc84\ub9b4\uc77c \uc5c6\uc774 \ub2e4\ub978 \uba54\uc26c\uc640 \uba54\uc2dc\ub97c \ub300\uccb4\ud558\uae30 \ud6e8\uc52c \uc26c\uc6b8 \uac83 \uc785\ub2c8\ub2e4.<\/div>\n<div><strong>\ud558\uc704 \ud504\ub9ac\ud339\uc758 \ub300\uc548\uc73c\ub85c \uc5f0\uacb0\ub41c \ud504\ub9ac\ud339\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\u00a0<\/strong>Unity\u00a0\ub294 \ud558\uc704 \ud504\ub9ac\ud339\uc744 \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc73c\uba70, \ud558\uc704 \ud504\ub9ac\ud339 \uac04\uc758 \uad00\uacc4\uac00 \uba85\ud655\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ud300\uc5d0\uc11c \uc791\uc5c5 \ud560 \ub54c \uae30\uc874\uc758 \ud0c0\uc0ac \uc194\ub8e8\uc158\uc740 \uc704\ud5d8 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_18\" class=\"moreless_fold\"><\/div>\n<div><strong>20. \ubd84\uae30 \ud504\ub9ac\ud339\uc5d0 \ub300\ud574\uc11c \uc548\uc804\ud55c \uc808\ucc28\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud558\ub77c.<\/strong>\u00a0\uc124\uba85\uc740 Player \ud504\ub9ac\ud339 \uc608\uc81c\ub97c \ud1b5\ud574\uc11c \ud569\ub2c8\ub2e4.<\/div>\n<div>\ud504\ub9ac\ud339\uc744 \ubc14\uafb8\ub294\uac70\uc5d0 \ub300\ud574 \ub9ce\uc740 \ubb38\uc81c\uc5d0 \ub300\ud55c \uc808\ucc28\ub294:<\/div>\n<ol>\n<li>\ubcf5\uc81c\ub41c Player \ud504\ub9ac\ud339\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ubcf5\uc81c\ub41c \uac70\uc5d0 \ub300\ud55c \uc774\ub984\uc744\u00a0<code>__Player_Backup \ub85c \ubcc0\uacbd\ud569\ub2c8\ub2e4<\/code>.<\/li>\n<li><code>Player<\/code>\u00a0prefab \uc73c\ub85c \uc0dd\uc131\ud55c\uac78 \ubc14\uafc9\ub2c8\ub2e4.<\/li>\n<li>\uc791\uc5c5\uc774 \uc9c4\ud589 \ub420 \uacbd\uc6b0\u00a0__Player_Backup\u00a0\ub97c \uc9c0\uc6c1\ub2c8\ub2e4<\/li>\n<\/ol>\n<div>\ubcf5\uc81c\ud6c4 Player_New \uc73c\ub85c \uc774\ub984\uc744 \ubc14\uaebc\uc120 \uc548\ub418\uba70, \uc0dd\uc131\ub41c\uac78 \ubc14\uaebc\uc120 \uc548\ub429\ub2c8\ub2e4!<\/div>\n<div>\uc77c\ubd80\ub294 \uc0c1\ud669\uc774 \ub354 \ubcf5\uc7a1\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ud2b9\uc815 \ubcc0\ud654\ub294 \ub450 \uc0ac\ub78c\uc744 \ud3ec\ud568 \ud560 \uc218 \uc788\uc73c\uba70, \ub450\uc0ac\ub78c\uc774 \uc704\uc758 \uacfc\uc815\uc744 \ub530\ub77c\ud558\uba74\uc11c \uc791\uc5c5\uc744 \uc644\ub8cc\ud558\uba74 \uc791\uc5c5\ud55c scene \uc744 \ub9dd\uac00\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0If it is quick enough, still follow the process above \uadf8\ub798\ub3c4 \uc5ec\uc804\ud788 \ud544\uc694\ub85c \ud558\ub294\uacbd\uc6b0, \uc704\uc758 \uc808\ucc28\ub97c \ub530\ub974\uc2ed\uc2dc\uc624. \ubc14\uafb8\ub294\ub370 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9b4\uacbd\uc6b0,\u00a0\ub2e4\uc74c\uc758 \uc808\ucc28\ub97c \ub530\ub77c\uc57c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/div>\n<ol>\n<li>\uc0ac\ub78c 1:\n<ol>\n<li><code>Player<\/code>\u00a0\ud504\ub9ac\ud339\uc744 \ubcf5\uc81c \ud569\ub2c8\ub2e4.<\/li>\n<li>\uc774\ub984\uc744\u00a0<code>__Player_WithNewFeature<\/code>\u00a0\ub098\u00a0<code>__Player_ForPerson2 \ub85c \ubc14\uafc9\ub2c8\ub2e4<\/code>.<\/li>\n<li>\ubcf5\uc81c\ub41c \uac78\ub85c \ubcc0\uacbd\uc744 \ud558\uace0, \ucee4\ubc0b\uc744 \ud558\uc5ec [\uc0ac\ub78c 2] \uc5d0\uac8c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n<\/li>\n<li>\uc0ac\ub78c 2:\n<ol>\n<li>\uc0c8\ub85c\uc6b4 \ud504\ub9ac\ud339\uc73c\ub85c \ubcc0\uacbd \uc0dd\uc131 \ud569\ub2c8\ub2e4.<\/li>\n<li><code>Player<\/code>\u00a0\ud504\ub9ac\ud339\uc744 \ubcf5\uc81c\ud558\uace0,\u00a0<code>__Player_Backup\u00a0<\/code>\uc774\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4.<\/li>\n<li><code>__Player_WithNewFeature<\/code>\u00a0\uc778\uc2a4\ud134\uc2a4\ub97c scene \uc73c\ub85c \ub4dc\ub798\uadf8 \ud569\ub2c8\ub2e4.<\/li>\n<li>\uc624\ub9ac\uc9c0\ub0a0 Player \ud504\ub9ac\ud339\uc744 \uc778\uc2a4\ud134\uc2a4\uc5d0 \ub4dc\ub798\uadf8 \ud569\ub2c8\ub2e4.<\/li>\n<li>\uc791\uc5c5\uc774 \uc9c4\ud589 \ub420 \uacbd\uc6b0\u00a0<code>__Player_Backup<\/code>\u00a0\uc640\u00a0<code>__Player_WithNewFeature \ub97c \uc9c0\uc6c1\ub2c8\ub2e4.<\/code><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<div id=\"more162_19\" class=\"moreless_fold\"><\/div>\n<h2>Extensions and MonoBehaviourBase<\/h2>\n<div><strong>21. \uae30\ubcf8 mono behaviour \uc744 \ud655\uc7a5\ud558\uace0, \ub2f9\uc2e0\uc758 \ucef4\ud3ec\ub10c\ud2b8\ub97c \uadf8\uac83\uc73c\ub85c\ubd80\ud130 \ubaa8\ub450 \ud30c\uc0dd\ud558\ub77c.\u00a0<\/strong><\/div>\n<div>\uc774\ub807\uac8c \ud558\uba74 \uba87\uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \uae30\ub2a5\uc744 \uad6c\ud604 \ud560 \uc218 \uc788\uc73c\uba70, \uc774\ub7ec\ud55c \uc720\ud615\uc758 \ud638\ucd9c\uc5d0 \uc548\uc804\ud558\uace0 \ubcf5\uc7a1\ud55c \ud638\ucd9c\uc774 \uac00\ub2a5\ud574 \uc9d1\ub2c8\ub2e4.(\uc608\ub85c \ubb34\uc791\uc704 \ud638\ucd9c)<\/div>\n<div id=\"more162_20\" class=\"moreless_fold\"><\/div>\n<div><strong>22.\u00a0<\/strong><strong>Invoke \ub97c \uc704\ud574 \uc548\uc804\ud55c \uba54\uc11c\ub4dc\ub97c \uc815\uc758 \ud558\uba70,\u00a0<\/strong><strong>StartCoroutine \uacfc\u00a0<\/strong><strong>Instantiate \uac00 \uc788\ub2e4.<\/strong><\/div>\n<div>Task delegate\u00a0\ub97c \uc815\uc758\ud558\uace0, \ubb38\uc790\uc5f4 \uc774\ub984\uc5d0 \uc758\uc874\ud558\uc9c0 \uc54a\ub294 \ubc29\ubc95\uc744 \uc815\uc758 \ud558\ub294\ub370 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<br \/>\n<span id=\"callbacknestseungngiltistorycom153926\"><embed id=\"bootstrapperseungngiltistorycom153926\" src=\"http:\/\/seungngil.tistory.com\/plugin\/CallBack_bootstrapperSrc?nil_profile=tistory&amp;nil_type=copied_post\" type=\"application\/x-shockwave-flash\" width=\"1\" height=\"1\" data-mce-fragment=\"1\"><\/embed><\/span>\uc608\ub97c \ub4e4\uba74:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public void Invoke(Task task, float time)\r\n{\r\n   Invoke(task.Method.Name, time);\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_21\" class=\"moreless_fold\"><\/div>\n<div><strong>23. \uacf5\uc720 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucef4\ud3ec\ub10c\ud2b8\ub97c \ud568\uaed8 \uc791\ub3d9\ud558\ub3c4\ub85d \ud655\uc7a5\uc744 \uc0ac\uc6a9 \ud569\ub2c8\ub2e4.\u00a0<\/strong>\uac00\ub054 \ud2b9\uc815 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uad6c\ud604\ub41c \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc5bb\uc5b4\uc624\ub294\ub370 \ud3b8\ub9ac\ud558\uac70\ub098, \uc55e\uc758 \uc5b8\uae09\ud55c \ucef4\ud3ec\ub10c\ud2b8\ub97c \uac00\uc9c0\uace0 \uc624\ube0c\uc81d\ud2b8\ub97c \ucc3e\ub294\ub370 \ud3b8\ud569\ub2c8\ub2e4.<\/div>\n<div>\uc544\ub798\uc5d0 \uad6c\ud604\ub41c \ub0b4\uc6a9\uc740 typeof \ub300\uc2e0\uc5d0\u00a0generic \ubc84\uc804\uc758 \ud568\uc218\ub4e4\ub85c \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.\u00a0generic\u00a0\ubc84\uc804\uc740 \uc778\ud130\ud398\uc774\uc2a4\uc640 \ud568\uaed8 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc9c0\ub9cc, typeof \ub294 \uac00\ub2a5\ud569\ub2c8\ub2e4.\u00a0\uc544\ub798\uc758 \ubc29\ubc95\uc740 generic \uba54\uc18c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \ub798\ud551\ud569\ub2c8\ub2e4.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">\/\/Defined in the common base class for all mono behaviours\r\npublic I GetInterfaceComponent&lt;I&gt;() where I : class\r\n{\r\n   return GetComponent(typeof(I)) as I;\r\n}\r\n\u00a0\r\npublic static List&lt;I&gt; FindObjectsOfInterface&lt;I&gt;() where I : class\r\n{\r\n   MonoBehaviour[] monoBehaviours = FindObjectsOfType&lt;MonoBehaviour&gt;();\r\n   List&lt;I&gt; list = new List&lt;I&gt;();\r\n\u00a0\r\n   foreach(MonoBehaviour behaviour in monoBehaviours)\r\n   {\r\n      I component = behaviour.GetComponent(typeof(I)) as I;\r\n\u00a0\r\n      if(component != null)\r\n      {\r\n         list.Add(component);\r\n      }\r\n   }\r\n\u00a0\r\n   return list;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_22\" class=\"moreless_fold\"><\/div>\n<div><b>24. \uad6c\ubb38\ubcf4\ub2e4 \ud3b8\ub9ac\ud558\uac8c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574 \ud655\uc7a5\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\u00a0<\/b>\uc608\ub97c \ub4e4\uba74:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public static class CSTransform \r\n{\r\n   public static void SetX(this Transform transform, float x)\r\n   {\r\n      Vector3 newPosition = \r\n         new Vector3(x, transform.position.y, transform.position.z);\r\n\u00a0\r\n      transform.position = newPosition;\r\n   }\r\n   ...\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_23\" class=\"moreless_fold\"><\/div>\n<div><strong>25. \ubc29\uc5b4\uc801\uc778 GetComponent \ub97c \ub300\uc548\uc73c\ub85c \uc0ac\uc6a9 \ud558\ub77c.\u00a0<\/strong>Sometimes forcing component dependencies (through\u00a0<code>RequiredComponent<\/code>) can be a pain. \ub54c\ub54c\ub85c \uac15\uc81c\uc801\uc778 \ucef4\ud3ec\ub10c\ud2b8 \uc758\uc874(RequiredComponent \uc720\ubc1c)\uc740 \uace0\ud1b5\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\uc608\ub97c\ub4e4\uc5b4, it makes it difficult to change components in the inspector \uadf8\uac83\uc740 \uc5b4\ub824\uc6b4 inspector \uc758 \uad6c\uc131\uc694\uc18c\ub97c \ubcc0\uacbd \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(base type \uc774 \uac19\uc740 \uacbd\uc6b0). As an alternative, the following extension of\u00a0<code>GameObject<\/code>\u00a0can be used when a component is required to print out an error message when it is not found. \ub300\uc548\uc73c\ub85c,\u00a0\ud655\uc7a5\ub41c GameObject \ub97c \ucc3e\uc744\ub54c\u00a0\ucef4\ud3ec\ub10c\ud2b8\uac00 \ubc1c\uacac\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc624\ub958 \uba54\uc138\uc9c0\ub97c \ucd9c\ub825\u00a0\ud558\uba74 \ub41c\ub2e4.<\/div>\n<div><\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public static T GetSafeComponent&lt;T&gt;(this GameObject obj) where T : MonoBehaviour\r\n{\r\n   T component = obj.GetComponent&lt;T&gt;();\r\n\u00a0\r\n   if(component == null)\r\n   {\r\n      Debug.LogError(\"Expected to find component of type \" \r\n         + typeof(T) + \" but found none\", obj);\r\n   }\r\n\u00a0\r\n   return component;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_24\" class=\"moreless_fold\"><\/div>\n<h2>Idioms<\/h2>\n<div><strong>26. \ube44\uc2b7\ud55c \uc77c\uc5d0 \ub2e4\ub978 \ud574\uacb0\ucc45\uc744\u00a0\uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2ed\uc2dc\uc624.<\/strong>\u00a0\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \uc77c\uc744 \ud560\ub54c\ub9c8\ub2e4 \ud558\ub098 \uc774\uc0c1\uc758 \ud574\uacb0\ucc45\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uacbd\uc6b0, \ud504\ub85c\uc81d\ud2b8\uc5d0 \ud55c\uac00\uc9c0 \ubc29\ubc95\uc744 \uc120\ud0dd\ud558\uace0 \uc9c4\ud589 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc774\uc720\uac00 \uc788\uc2b5\ub2c8\ub2e4:<\/div>\n<ul>\n<li>\uba87\uac00\uc9c0 \ud574\uacb0\ucc45\uc774 \ud568\uaed8 \uc798 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud55c\uac00\uc9c0 \ud574\uacb0\ucc4c\uc744 \uc0ac\uc6a9\ud558\uba74 \ub2e4\ub978 \ud574\uacb0\ucc45\uc5d0 \uc801\ud569\ud558\uc9c0 \uc54a\uc73c\uba70 \ud55c \ubc29\ud5a5\uc73c\ub85c \ub514\uc790\uc778\uc744 \uac15\uc694 \ud569\ub2c8\ub2e4.<\/li>\n<li>\uba87\uac00\uc9c0 \ud574\uacb0\ucc45\uc744 \uc0ac\uc6a9\ud558\ub294\uac8c \uc5b4\ub514\ub85c \uac00\uc57c \ud558\ub294\uc9c0 \ud300 \uba64\ubc84\ub97c \uc774\ud574 \uc2dc\ud0b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uad6c\uc870\uc640 \ucf54\ub4dc\ub97c \uc774\ud574\ud558\uae30 \uc27d\uac8c \ud569\ub2c8\ub2e4. \uc2e4\uc218\ub97c \ud558\uae30 \ub354 \uc27d\ub3c4\ub85d \uc720\ub3c4\uac00 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div>\ud574\uacb0\ucc45 \uadf8\ub8f9\ub4e4\uc758 \uc608\uc2dc:<\/div>\n<ul>\n<li>Coroutines vs. state machines.<\/li>\n<li>\ud558\uc704 \ud504\ub9ac\ud339\ub4e4 vs. \uc5f0\uacb0\ub41c(\ub9c1\ud06c)\u00a0\ud504\ub9ac\ud339\ub4e4\u00a0vs. \uc804\uc9c0 \uc804\ub2a5\ud55c\u00a0\ud504\ub9ac\ud339\ub4e4.<\/li>\n<li>\ub370\uc774\ud130 \ubd84\ub9ac \uc804\ub7b5.<\/li>\n<li>2D \uac8c\uc784\uc5d0\uc11c \uc0c1\ud0dc\ub97c \uc704\ud574 \uc2a4\ud504\ub77c\uc774\ud2b8\ub97c \uc0ac\uc6a9 \ud558\ub294 \ubc29\ubc95.<\/li>\n<li>\ud504\ub9ac\ud339 \uad6c\uc870\ud654.<\/li>\n<li>Spawn \uc804\ub7b5.<\/li>\n<li>\uac1c\uccb4\ub97c \ucc3e\uc744 \uc218 \uc788\ub294 \ubc29\ubc95:\u00a0\ud0c0\uc785 vs. \uc774\ub984 vs. \ud0dc\uadf8 vs. \ub808\uc774\uc5b4 vs. \ub808\ud37c\ub7f0\uc2a4(\ub9c1\ud06c).<\/li>\n<li>\uadf8\ub8f9 \uac1c\uccb4\ub4e4\uc744 \ucc3e\ub294 \ubc29\ubc95: \ud0c0\uc785 vs. \uc774\ub984 vs. \ud0dc\uadf8 vs. \ub808\uc774\uc5b4 vs. \ub808\ud37c\ub7f0\uc2a4(\ub9c1\ud06c) \ubc30\uc5f4<\/li>\n<li>\uc624\ube0c\uc81d\ud2b8\uc758 \uadf8\ub8f9\ub4e4 \ucc3e\uae30 vs \uc790\uccb4 \ub4f1\ub85d (\uc2f1\uae00\ud1a4 \uac1d\uccb4?)<\/li>\n<li>\uc2e4\ud589 \uc21c\uc11c \uc81c\uc5b4 (Unity \ub97c \uc774\uc6a9\ud558\uc5ec \uc2e4\ud589 \uc21c\uc11c \uc81c\uc5b4 vs. yield \ub85c\uc9c1 vs. Awake \/ Start \uc640 Update \/ Late Update \uc758\uc874 vs. \uc218\ub3d9 \uba54\uc18c\ub4dc vs. \ubaa8\ub4e0 \uc8fc\ubb38 \uc544\ud0a4\ud14d\uccd0)<\/li>\n<li>\uac1c\uccb4 \/ \uc704\uce58 \/ \ud0c0\uac9f \uc758 \uc120\ud0dd\uacfc \uc778 \uac8c\uc784\uc758 \ub9c8\uc6b0\uc2a4: \uc120\ud0dd \uad00\ub9ac\uc790 vs \ub85c\uceec \uc790\uccb4 \uad00\ub9ac<\/li>\n<li>scene \ubcc0\ud654\uc640 \ub370\uc774\ud130 \uac04\uc758 \uc720\uc9c0:\u00a0<a class=\"con_link\" href=\"http:\/\/docs.unity3d.com\/Documentation\/ScriptReference\/PlayerPrefs.html\" target=\"_blank\">PlayerPrefs<\/a>\u00a0\ub97c \ud1b5\ud574, \ub610\ub294 \uc0c8\ub85c\uc6b4 scene \uc774 \ub85c\ub4dc \ub420\ub54c \uc9c0\uc6cc\uc9c0\uc9c0 \uc54a\uc740 \uac1d\uccb4.<\/li>\n<li>\uc560\ub2c8\uba54\uc774\uc158 \uacb0\ud569 \ubc29\ubc95 (\ube14\ub80c\ub529, \ub354\ud558\uac70\ub098 \ub808\uc774\uc5b4\ub9c1(\uacc4\uce35\uad00\ub9ac)).<\/li>\n<\/ul>\n<div id=\"more162_25\" class=\"moreless_fold\"><\/div>\n<h2>Time<\/h2>\n<div><strong>27. \uc27d\uac8c \uc77c\uc2dc \uc911\uc9c0 \ud558\uae30 \uc704\ud574 \ub2f9\uc2e0\ub9cc\uc758 Time class \ub97c \uc720\uc9c0 \ud558\ub77c.<\/strong>\u00a0Wrap\u00a0<code>Time.DeltaTime<\/code>\u00a0\uc640\u00a0<code>Time.TimeSinceLevelLoad<\/code>\u00a0\uc740 \uacc4\uc815 \ubcc4 \uc77c\uc2dc \uc911\uc9c0\uc640 \uc2dc\uac04 scale \uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\uac83\uc744 \uc0ac\uc6a9\ud558\ub294\ub370\ub294 \ud6c8\ub828\uc774 \ud544\uc694\ub85c \ud558\uc9c0\ub9cc, \ub9ce\uc740 \ubd80\ubd84\uc5d0 \ub300\ud574 \uc27d\uac8c \uc81c\uc791 \uac00\ub2a5\ud558\uba70,\u00a0\ud2b9\ud788 \ub2e4\ub978 Time \uc758 \uc77c\uc744 \uc2e4\ud589 \ud558\uae30 \ud3b8\ud569\ub2c8\ub2e4. (\uc608\ub85c interface \uc560\ub2c8\uba54\uc774\uc158\uacfc \uac8c\uc784 \uc560\ub2c8\uba54\uc774\uc158 \ub4f1)<\/div>\n<div id=\"more162_26\" class=\"moreless_fold\"><\/div>\n<h2>Spawning Objects<\/h2>\n<div><strong>28. \uac8c\uc784\uc774 \uc2e4\ud589 \ub420 \ub54c \uc0dd\uc131\ub418\ub294 \uac1c\uccb4\uac00 \uacc4\uce35 \uad6c\uc870\ub97c \ub354\ub7fd\ud788\uac8c \ud558\uc9c0 \ub9d0\ub77c.<\/strong>\u00a0Set their parents to a scene object to make it easier to find stuff when the game is running.<br \/>\n\uac8c\uc784\uc774 \uc2e4\ud589 \uc911 \uc77c\ub54c \uac1c\uccb4\ub97c \uc27d\uac8c \ucc3e\uc744 \uc218 \uc788\ub3c4\ub85d scene \uac1c\uccb4\uc5d0 \ubd80\ubaa8\ub97c \uc124\uc815 \ud569\ub2c8\ub2e4. \ube44\uc5b4\uc788\ub294 \uac8c\uc784 \uc624\ube0c\uc81d\ud2b8\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 behaviour \uac00 \uc5c6\ub294 \uc2f1\uae00\ud1a4\uc744 \uc774\uc6a9\ud558\uc5ec \ub9cc\ub4e4\uba74 \ucf54\ub4dc\uc5d0 \uc811\uadfc\ud558\uae30 \uc27d\uc2b5\ub2c8\ub2e4. \uc774 \uc624\ube0c\uc81d\ud2b8\ub97c \u00a0DynamicObjects\u00a0\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4.<\/div>\n<div id=\"more162_27\" class=\"moreless_fold\"><\/div>\n<h2>Class Design<\/h2>\n<div><strong>29. \ud3b8\uc758\ub97c \uc704\ud574 \uc2f1\uae00\ud1a4 \uc744 \uc0ac\uc6a9\ud558\ub77c.\u00a0<\/strong>\ub2e4\uc74c \ud074\ub798\uc2a4\ub294 \uc790\ub3d9\uc73c\ub85c \uc2f1\uae00\ud1a4 \uc744 \uc0c1\uc18d\ud558\ub294 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4 \uac83 \uc785\ub2c8\ub2e4:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public class Singleton&lt;T&gt; : MonoBehaviour where T : MonoBehaviour\r\n{\r\n   protected static T instance;\r\n\u00a0\r\n   \/**\r\n      Returns the instance of this singleton.\r\n   *\/\r\n   public static T Instance\r\n   {\r\n      get\r\n      {\r\n         if(instance == null)\r\n         {\r\n            instance = (T) FindObjectOfType(typeof(T));\r\n\u00a0\r\n            if (instance == null)\r\n            {\r\n               Debug.LogError(\"An instance of \" + typeof(T) + \r\n                  \" is needed in the scene, but there is none.\");\r\n            }\r\n         }\r\n\u00a0\r\n         return instance;\r\n      }\r\n   }\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uc2f1\uae00\ud1a4\uc740 \uad00\ub9ac\uc790\uc5d0 \uc720\uc6a9\ud558\uba70,\u00a0<code>ParticleManager<\/code>\u00a0\ub610\ub294\u00a0<code>AudioManager<\/code>\u00a0\ub610\ub294 \u00a0<code>GUIManager\u00a0<\/code>\ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<ul>\n<li>\uace0\uc720\ud55c \ud504\ub9ac\ud339\uc758 \uc778\uc2a4\ud134\uc2a4\ub97c \uc704\ud55c \uc2f1\uae00\ud1a4\uc740 \uc0ac\uc6a9\ud558\ub294\uac78 \ud53c\ud558\ub294\uace0 \uad00\ub9ac\ud558\uc9c0 \uc54a\ub294\uac8c \uc88b\uc2b5\ub2c8\ub2e4(Player \uac19\uc740). \uc774 \uc6d0\uce59\uc744 \uc900\uc218\ud558\uc9c0 \uc54a\uc73c\uba74 \uc0c1\uc18d \uacc4\uce35 \uad6c\uc870\ub97c \ubcf5\uc7a1\ud558\uac8c \ud558\uba70, \uadf8\ub9ac\uace0 \ud2b9\uc815 \uc720\ud615\uc758 \ubcc0\uacbd\uc744 \ud798\ub4e4\uac8c \ud569\ub2c8\ub2e4. \uc624\ud788\ub824\u00a0<code>GameManager<\/code>\u00a0\uc5d0\uc11c \ucc38\uc870\ub97c \uc720\uc9c0\ud558\ub294\uac8c \uc88b\uc2b5\ub2c8\ub2e4.(\ub610\ub294 \ub2e4\ub978 \uc804\uc9c0 \uc804\ub2a5\ud55c \ud074\ub798\uc2a4\u00a0<img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/devmag.org.za\/blog\/wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";-)\" \/>)<\/li>\n<li>\uc885\uc885 \ud074\ub798\uc2a4 \uc678\ubd80\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 public \ubcc0\uc218 \uc640 \uba54\uc18c\ub4dc \uc5d0 \ub300\ud55c static \uc18d\uc131\uacfc \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\u00a0<code>GameManager.Instance.player\u00a0\ub300\uc2e0\uc5d0\u00a0\u00a0<\/code>GameManager.Player \uc73c\ub85c\u00a0\uc791\uc131\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div id=\"more162_28\" class=\"moreless_fold\"><\/div>\n<div><strong>30.\u00a0component \ub4e4\uc744 \ub4e4\uc5b4, inspector \uc5d0 \ubcc0\ud654\ub97c \uc8fc\uc9c0 \ub9d0\uc544\uc57c \ud560 \ubcc0\uc218\ub294 \uacf5\uac1c \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\u00a0<\/strong>\uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \uadf8\uac83\uc740 \ubb34\uc5c7\uc744 \ud558\ub294\uc9c0 \uc54c\uc218 \uc5c6\uac8c \ub418\uc5ec \ub514\uc790\uc774\ub108\uac00 \ubcc0\uacbd\uc744 \ud574\ubc84\ub9ac\uac8c \ub429\ub2c8\ub2e4. \uc774\ub7f0 \uacbd\uc6b0 \ub450\uc904 \uc774\ub098 \ub124\uc904\uc758 \uc5b8\ub354\uc2a4\ucf54\uc5b4\ub97c \uc811\ub450\ub85c \ubcc0\uc218 \uc774\ub984\uc5d0 \ubd99\uc774\uba74\u00a0\uc218\uc815\uc744 \uaebc\ub9ac\uac8c \ub420 \uac83\uc774\ub2e4.<br \/>\n(\uc5ed\uc790 : \uc774\ub7f0 \uacbd\uc6b0 [HideInspector] \ub97c \ubcc0\uc218 \uc0c1\uc704\uc5d0 \ubd99\uc774\uba74 \uc544\uc608 \ub178\ucd9c\uc774 \uc77c\uc5b4\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4)<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public float __aVariable;<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_29\" class=\"moreless_fold\"><\/div>\n<div><strong>31. \uac8c\uc784 \ub85c\uc9c1\uc5d0\uc11c \uc778\ud130\ud398\uc774\uc2a4\ub97c \ubd84\ub9ac\ud558\uc5ec \uc81c\uacf5\ud569\ub2c8\ub2e4.\u00a0<\/strong>\uc774\uac83\uc740 \uae30\ubcf8\uc801\uc73c\ub85c MVC \ud328\ud134 \uc785\ub2c8\ub2e4.<\/div>\n<div><i>\ubaa8\ub4e0 \uc785\ub825 \ucee8\ud2b8\ub864\ub7ec\ub294 \ud638\ucd9c\ub418\uc5ec \uc54c\ub824 \ud574\ub2f9 \ucef4\ud3ec\ub10c\ud2b8\uc5d0 \uba85\ub839\uc744 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0<\/i>\ucee8\ud2b8\ub864\ub7ec \ub85c\uc9c1\uc744 \uc608\ub85c, \ucee8\ud2b8\ub864\ub7ec\ub294 \ud50c\ub808\uc774\uc5b4\uc758 \uc0c1\ud0dc\uc5d0 \ub530\ub77c \uc81c\uacf5\ud560 \uba85\ub839\uc744 \uacb0\uc815 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\uac83\uc740 \uc548\uc88b\uc2b5\ub2c8\ub2e4 (\uc608\ub85c \ucee8\ud2b8\ub864\ub7ec\ub97c \ub354 \ucd94\uac00\ud558\ub294 \uacbd\uc6b0 \uc911\ubcf5\ub41c \ub85c\uc9c1\uc73c\ub85c \ubd88\ub9b4 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4). \ub300\uc2e0\uc5d0, \ud50c\ub808\uc774\uc5b4 \uac1d\uccb4\ub294 \uc55e\uc73c\ub85c \uc774\ub3d9\uc744 \ud560 \uacbd\uc6b0\uc5d0 \ud1b5\uc9c0 \ud574\uc57c\ub9cc \ud558\uba70, \u00a0\ud604\uc7ac \uc0c1\ud0dc(\uc608\ub97c \ub4e4\uc5b4 \ub290\ub824\uc84c\uac70\ub098 \uc544\ub2c8\uba74 \uae30\uc808)\uc5d0 \ub530\ub77c \uc18d\ub3c4\ub97c \uc124\uc815\ud558\uace0 Player \uc758 \ubc29\ud5a5\uc744 \uc5c5\ub370\uc774\ud2b8 \ud569\ub2c8\ub2e4.\u00a0\ucee8\ud2b8\ub864\ub7ec\ub294 \uc790\uc2e0\uc758 \uc0c1\ud0dc\uc5d0 \uad00\ud55c \uc77c\uc744 \ud574\uc57c \ud569\ub2c8\ub2e4(\ucee8\ud2b8\ub864\ub7ec\ub294 \ud50c\ub808\uc774\uc5b4\uac00 \uc0c1\ud0dc\ub97c \ubc14\uafb8\ub824\uace0 \ud560\ub54c \uc0c1\ud0dc\uac00 \ubc14\ub010 \uc0c1\ud0dc\uc778\uc9c0 \uc54c\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4; \ub530\ub77c\uc11c, \ucee8\ud2b8\ub864\ub7ec\ub294 \uc804\ud600 \ud50c\ub808\uc774\uc5b4\uc758 \uc0c1\ud0dc\ub97c \uc54c\uc218 \uc5c6\uc2b5\ub2c8\ub2e4).\u00a0\ub610 \ub2e4\ub978 \uc608\ub294 \ubb34\uae30\uc758 \ubcc0\ud654 \uc785\ub2c8\ub2e4.\u00a0\ud560 \uc218 \uc788\ub294 \uc633\uc740 \ubc29\ubc95\uc740 GUI \uac00 \ud50c\ub808\uc774\uc5b4\uc758\u00a0SwitchWeapon\u00a0\uc744 \ud638\ucd9c \ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. GUI \ub294 transform \uacfc \ubd80\ubaa8\uc640 \ubaa8\ub4e0 \uc694\uc18c\uc5d0 \ub300\ud574\uc11c \uc870\uc791\ud574\uc120 \uc548\ub429\ub2c8\ub2e4.<\/div>\n<div><em>\ubaa8\ub4e0 \uc778\ud130\ud398\uc774\uc2a4 \ucef4\ud3ec\ub10c\ud2b8\ub294 \ub370\uc774\ud130\ub97c \uc720\uc9c0\ud574\uc57c\ud558\uace0 \uc790\uc2e0\uc758 \uc0c1\ud0dc\uc5d0 \uad00\ud55c \ucc98\ub9ac\ub97c \ud569\ub2c8\ub2e4.\u00a0<\/em>\uc608\ub85c, \ub9f5\uc744 \ud45c\uc2dc\ud558\uac70\ub098, GUI\u00a0\ub294 \ud50c\ub808\uc774\uc5b4\uc758 \uc6c0\uc9c1\uc784\uc5d0 \ub530\ub77c \ud45c\uc2dc \ud560\uc218 \uc788\ub3c4\ub85d \uacc4\uc0b0\uc744 \ud569\ub2c8\ub2e4.\u00a0\uadf8\ub7ec\ub098, \uc774\uac83\uc774 \uac8c\uc784 \uc0c1\ud0dc \ub370\uc774\ud130 \uc774\uba74, GUI \uc5d0 \uc18d\ud574\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4. GUI \ub294 \ub2e8\uc9c0 \uac8c\uc784 \uc0c1\ud0dc \ub370\uc774\ud130\ub97c \ud45c\uc2dc\ud574\uc57c \ud558\uba70, \ub370\uc774\ud130\ub294 \ub2e4\ub978\uacf3\uc5d0 \uc720\uc9c0\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0map \ub370\uc774\ud130\ub294 \ub2e4\ub978\uacf3\uc5d0\uc11c\u00a0\uc720\uc9c0\ud574\uc57c \ud569\ub2c8\ub2e4(\uc608\ub97c \ub4e4\uc5b4, GameManager \uc5d0\uc11c).<\/div>\n<div><i>\uac8c\uc784\ud50c\ub808\uc774 \uc624\ube0c\uc81d\ud2b8\ub294 GUI \uc5d0 \ub300\ud574\uc11c \uc544\ub294\uac8c \uac70\uc758 \uc5c6\uc2b5\ub2c8\ub2e4.\u00a0<\/i>\ud55c\uac00\uc9c0 \uc608\uc678\ub294 \uc77c\uc2dc \uc815\uc9c0 \ud589\ub3d9\uc73c\ub85c, Time.timeScale \uc744 \ud1b5\ud574 \uc804\uccb4\uc801\uc73c\ub85c \uc81c\uc5b4 \ud569\ub2c8\ub2e4(\ubb3c\ub860 \uc774\ub294 \uc88b\uc740 \uc0dd\uac01\uc740 \uc544\ub2d9\ub2c8\ub2e4.. \ubcf4\uae30\uc5d0\ub294). \uac8c\uc784\ud50c\ub808\uc774 \uc624\ube0c\uc81d\ud2b8\ub294 \uac8c\uc784\uc774 \uba48\ucd98 \uc0c1\ud0dc\uc77c \ub54c \uc54c\uc544\uc57c \ud569\ub2c8\ub2e4.\u00a0\ud558\uc9c0\ub9cc \uadf8\uac8c \uc804\ubd80 \uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \uac8c\uc784 \ud50c\ub808\uc774 \uc624\ube0c\uc81d\ud2b8\ub85c \ubd80\ud130 GUI \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc5f0\uacb0\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/div>\n<div>\uc77c\ubc18\uc801\uc73c\ub85c, \ub2f9\uc2e0\uc774 GUI \ud074\ub798\uc2a4\ub4e4\uc744 \ubaa8\ub450 \uc9c0\uc6b8 \uacbd\uc6b0\uc5d0\ub3c4, \uac8c\uc784\uc740 \uc5ec\uc804\ud788 \ucef4\ud30c\uc77c \ub418\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div>\ub2f9\uc2e0\uc740 \ub610\ud55c GUI \uc640 input \uc744 \uc7ac \uad6c\ud604\uc2dc\u00a0\uc0c8\ub85c\uc6b4 \uac8c\uc784 \ub85c\uc9c1\uc744 \uc791\uc131\ud560 \ud544\uc694\uac00 \uc5c6\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_30\" class=\"moreless_fold\"><\/div>\n<div><strong>32. \ubcc4\ub3c4\uc758 \uc0c1\ud0dc\uc640\u00a0Bookkeeping.<\/strong>\u00a0Bookkeeping \ubcc0\uc218\ub294 \ube60\ub974\uac8c\u00a0\ub610\ub294 \ud3b8\ub9ac\ud558\uac8c \uc0ac\uc6a9\ud558\uae30 \uc704\ud568\uc774\uba70, \uadf8\ub9ac\uace0 \ud604\uc7ac \uc0c1\ud0dc\ub85c\ubd80\ud130 \ubcf5\uad6c\ud558\ub294\uac78 \uac00\ub2a5\ud558\uac8c \ud574\uc900\ub2e4.\u00a0\uc774\ub807\uac8c \ubd84\ub9ac\ud558\uba74, \ub2f9\uc2e0\uc740 \ub354 \uc27d\uac8c \uc801\uc6a9 \uac00\ub2a5\ud558\ub2e4.<\/div>\n<ul>\n<li>\uac8c\uc784 \uc0c1\ud0dc \uc800\uc7a5, \uadf8\ub9ac\uace0<\/li>\n<li>\uac8c\uc784 \uc0c1\ud0dc \ub514\ubc84\uadf8<\/li>\n<\/ul>\n<div>\ud55c\uac00\uc9c0 \ubc29\ubc95\uc740 \uac01\uac01\uc758 \uac8c\uc784 \ub85c\uc9c1 \ud074\ub798\uc2a4\ub97c \uc704\ud574 SaveData \ud074\ub798\uc2a4\ub97c \uc815\uc758 \ud558\ub294 \uac83\uc774\ub2e4.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">[Serializable]\r\nPlayerSaveData\r\n{\r\n   public float health; \/\/public for serialisation, not exposed in inspector\r\n} \r\n\u00a0\r\nPlayer\r\n{\r\n   \/\/... bookkeeping variables\r\n\u00a0\r\n   \/\/Don\u2019t expose state in inspector. State is not tweakable.\r\n   private PlayerSaveData playerSaveData; \r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_31\" class=\"moreless_fold\"><\/div>\n<div><strong>33. \ubcc4\ub3c4\uc758 \ud2b9\uc131\ud654 \uad6c\uc131.<\/strong><\/div>\n<div>\ub3d9\uc77c\ud55c \uba54\uc2dc\ub4e4\ub85c \ub450\uac1c\uc758 \uc801\uc744 \uace0\ub824 \ud558\ub294\ub370, \ubca8\ub7f0\uc2a4 \uac12\uc774 \ub2e4\ub974\ub2e4.(\uc608\ub97c \ub4e4\uc5b4 \ub2e4\ub978 \ud798\uacfc \ub2e4\ub978 \uc2a4\ud53c\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\ub294\uacbd\uc6b0). \ubcc4\ub3c4\uc758 \ub370\uc774\ud130\uc5d0 \ub300\ud574 \uc5ec\ub7ec\uac00\uc9c0 \ubc29\ubc95\uc774 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\uc774\uc911\uc5d0 \ud558\ub098\ub294 \ub0b4\uac00 \uc6d0\ud558\ub294 \uac83\uc77c\uac70\ub77c \uc0dd\uac01\ud558\uba70, \uc624\ube0c\uc81d\ud2b8\uac00 \uc0dd\uc131\ub420 \ub54c\ub098, \uac8c\uc784\uc774 \uc800\uc7a5\ub420 \ub54c \uc785\ub2c8\ub2e4.<\/div>\n<div>(Tweakable \ub4e4\uc740 \uc0c1\ud0dc \ub370\uc774\ud130\uac00 \uc544\ub2c8\ub098\u00a0\uad6c\uc131 \ub370\uc774\ud130\ub85c, \uadf8\ub798\uc11c \uc800\uc7a5\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uac1c\uccb4\uac00 \ub85c\ub4dc \ub418\uac70\ub098 \uc0dd\uc131\ub418\ub294\uacbd\uc6b0, tweakable \ub4e4\uc740\u00a0\ubcc4\ub3c4\ub85c \uc790\ub3d9\uc73c\ub85c \ub85c\ub4dc \ub429\ub2c8\ub2e4.)<\/div>\n<ul>\n<li>\uac01\uac01\uc758 \uac8c\uc784 \ud074\ub798\uc2a4\uc5d0 \ud15c\ud50c\ub9bf \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \uc608\ub85c, \uc801\uc778 \uacbd\uc6b0\u00a0\uc6b0\ub9ac\ub294 \ub610\ud55c EnemyTemplate \ub77c\uace0 \uc815\uc758 \ud569\ub2c8\ub2e4. \ubaa8\ub4e0 \ucc28\ubcc4\ud654\ub41c tweakable \ub4e4\uc740 EnemyTemplate \uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/li>\n<li>\uac8c\uc784 \ub85c\uc9c1 \ud074\ub798\uc2a4 \uc5d0\ub294, \ubcc0\uc218\ub098 \ud15c\ud50c\ub9bf \ud0c0\uc785\uc744 \uc815\uc758 \ud569\ub2c8\ub2e4.<\/li>\n<li>\uc801 \ud504\ub9ac\ud339\uc744 \ub9cc\ub4e4\uace0, \ub450\uac1c\uc758 \ud15c\ud50c\ub9bf \ud504\ub9ac\ud339\u00a0<code>WeakEnemyTemplate,<\/code>\u00a0and<code>StrongEnemyTemplate \uc744 \ub9cc\ub4ed\ub2c8\ub2e4.<\/code><\/li>\n<li>\ub85c\ub529\ud558\uac70\ub098 \uc624\ube0c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uba74, \uc815\uc2dd\u00a0\ud15c\ud50c\ub9bf\uc5d0 \ud15c\ud50c\ub9bf \ubcc0\uc218\ub97c \uc124\uc815 \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div>\uc774 \ubc29\ubc95\uc740 \ub9e4\uc6b0 \uc815\uad50\ud55c \ubc29\ubc95\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. (\uadf8\ub9ac\uace0 \ub54c\ub85c\ub294 \ubd88\ud544\uc694\ud558\uac8c \ubcf5\uc7a1\ud558\ubbc0\ub85c \uc8fc\uc758!)<\/div>\n<div>\uc608\ub97c \ub4e4\uc5b4, generic \ub2e4\ud615\uc131\uc744 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574, \uc6b0\ub9ac\ub294 \uc544\ub9c8 \uc774\ub7f0\uc2dd\uc73c\ub85c \uc815\uc758 \ud558\ub294\uac8c \uc88b\uc744\uac81\ub2c8\ub2e4:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public class BaseTemplate\r\n{\r\n   ...\r\n}\r\n\u00a0\r\npublic class ActorTemplate : BaseTemplate\r\n{\r\n   ...\r\n}\r\n\u00a0\r\npublic class Entity&lt;EntityTemplateType&gt; where EntityTemplateType : BaseTemplate\r\n{\r\n   EntityTemplateType template;\r\n   ...\r\n}\r\n\u00a0\r\npublic class Actor : Entity &lt;ActorTemplate&gt;\r\n{\r\n   ...\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_32\" class=\"moreless_fold\"><\/div>\n<div><strong>34. \ud45c\uc2dc \ud14d\uc2a4\ud2b8 \uc774\uc678\uc5d0 \ub2e4\ub978 \uc6a9\ub3c4\ub85c \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2dc\uc624.<\/strong>\u00a0\ud2b9\ud788, \uac1c\uccb4 \ub098 \ud504\ub9ac\ud339\uc758 \uc2dd\ubcc4\uc744 \uc704\ud574\uc11c \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\u00a0\ud55c\uac00\uc9c0 \uc5b4\uca54\uc218 \uc5c6\ub294 \uc608\uc678\ub294 \uc560\ub2c8\uba54\uc774\uc158 \uc73c\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c \uc790\uc2e0\uc758 \ubb38\uc790\uc5f4 \uc774\ub984\uc73c\ub85c \uc811\uadfc \ud560\uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_33\" class=\"moreless_fold\"><\/div>\n<div><strong>35. Avoid using public index-coupled arrays \uacf5\uac1c\ub41c \uc778\ub371\uc2a4 \uacb0\ud569 \ubc30\uc5f4\uc744 \uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2dc\uc624.\u00a0<\/strong>\uc608\ub85c \ubb34\uae30 \ubc30\uc5f4, \ucd1d\uc54c \ubc30\uc5f4, \ud30c\ud2f0\ud074 \ubc30\uc5f4 \uc744 \uc815\uc758 \ud558\uc9c0 \uc54a\ub294 \uac83\uc73c\ub85c, \uc774\ub7f0 \uacbd\uc6b0\uc5d0 \ub300\ud574\uc11c \uc88b\uc740 \ubc29\ubc95\uc740 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4:<br \/>\n(\uc5ed\uc790 : \ubc30\uc5f4\uc758 \uc778\ub371\uc2a4\ub97c \uc9c1\uc811\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294\uac78 \uc904\uc774\ub77c\ub294 \uc758\ubbf8 \uc778\uac70 \uac19\uc2b5\ub2c8\ub2e4)<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public void SelectWeapon(int index)\r\n{ \r\n   currentWeaponIndex = index;\r\n   Player.SwitchWeapon(weapons[currentWeapon]);\r\n}\r\n\u00a0\r\npublic void Shoot()\r\n{\r\n   Fire(bullets[currentWeapon]);\r\n   FireParticles(particles[currentWeapon]);   \r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uc774\ub7f0 \ucf54\ub4dc\ub97c \ub9ce\uc774 \uc0ac\uc6a9 \ud558\uc9c0 \uc54a\ub294 \ubb38\uc81c\ub294, inspector \uc5d0 \uc124\uc815 \ud560 \ub54c \uc2e4\uc218\ub97c \ud560 \uac00\ub2a5\uc131\uc774 \uc788\uae30 \ub54c\ubb38 \uc785\ub2c8\ub2e4.<\/div>\n<div>\uc624\ud788\ub824, \uc138 \ubcc0\uc218\ub97c \ucea1\uc290\ud654 \ud558\ub294 \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\uace0 \uadf8 \ubc30\uc5f4\uc744 \ud655\uc778 \ud558\uc2ed\uc2dc\uc624.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">[Serializable]\r\npublic class Weapon\r\n{\r\n   public GameObject prefab;\r\n   public ParticleSystem particles;\r\n   public Bullet bullet;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uc774 \ucf54\ub4dc\ub294 \ubcf4\uae30\uc5d0 \ub2e8\uc815\ud574 \ubcf4\uc774\ub098,\u00a0\ub9e4\uc6b0 \uc911\uc694\ud558\uba70, inspector \uc5d0 \ub370\uc774\ud130\ub97c \uc14b\ud305\ud560 \ub54c \uc2e4\uc218\ud558\uae30 \uc5b4\ub835\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_34\" class=\"moreless_fold\"><\/div>\n<div><b>36. \uc2dc\ud000\uc2a4 \uc774\uc678\uc758 \ub2e4\ub978 \uad6c\uc870\uc5d0 \ub300\ud55c \ubc30\uc5f4\uc744 \uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2dc\uc624.<\/b>\u00a0\uc608\ub85c, \ud50c\ub808\uc774\uc5b4\uac00 \uc138\uac1c\uc758 \uacf5\uaca9 \ud0c0\uc785\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4\uace0 \uce69\uc2dc\ub2e4. \uac01\uac01 \ud604\uc7ac \ubb34\uae30\ub97c \uc0ac\uc6a9\ud558\uc9c0\ub9cc \uc11c\ub85c \ub2e4\ub978 \ud3ec\ud0c4\uacfc \ub2e4\ub978 \ub3d9\uc791\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/div>\n<div>\ub2f9\uc2e0\uc740 \uc544\ub9c8 \ubc30\uc5f4\uc744 \uc0ac\uc6a9\ud574 \uc138\uac1c\uc758 \ucd1d\uc54c\uc744 \ubc1c\uc0ac \ud558\ub824\ud558\uba70, \uc774\ub7ec\ud55c \ub85c\uc9c1\uc744 \uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public void FireAttack()\r\n{\r\n   \/\/\/ behaviour\r\n   Fire(bullets[0]);\r\n}\r\n\u00a0\r\npublic void IceAttack()\r\n{\r\n   \/\/\/ behaviour\r\n   Fire(bullets[1]);\r\n}\r\n\u00a0\r\npublic void WindAttack()\r\n{\r\n   \/\/\/ behaviour\r\n   Fire(bullets[2]);\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>Enums \uc744 \uc0ac\uc6a9\ud558\uba74 \uc880 \ub354 \ub098\uc740 \ucf54\ub4dc\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4&#8230;<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public void WindAttack()\r\n{\r\n   \/\/\/ behaviour\r\n   Fire(bullets[WeaponType.Wind]);\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uadf8\ub7ec\ub098 inspector \uc5d0\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4.<\/div>\n<div>\uadf8\uac83\uc740 \ubcc4\ub3c4\uc758 \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uae30 \ub54c\ubb38\uc5d0 \uc5b4\ub5a4 \ucf58\ud150\uce20\ub97c \ub123\uc5b4\ub3c4 \uc774\ub984\uc73c\ub85c \ub3c4\uc6c0\ub9d0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0c0\uc785\uc774 \ub2e8\uc815 \uc9c0\uc5b4\uc9c8\ub54c \ud074\ub798\uc2a4\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<br \/>\n[Serializable]<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public class Bullets\r\n{\r\n   public Bullet FireBullet;\r\n   public Bullet IceBullet;\r\n   public Bullet WindBullet;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>Fire \ub97c \uc124\uc815\ud558\uba74 Ice \uc640 Wind \ub370\uc774\ud130\ub294 \uc5c6\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_35\" class=\"moreless_fold\"><\/div>\n<div><strong>37.\u00a0<\/strong><strong>serializable \ud074\ub798\uc2a4\uc758 \uadf8\ub8f9 \ub370\uc774\ud130\ub294 \uac00\uae4c\uc6b4\uac70 \ub07c\ub9ac \ubaa8\uc544\u00a0inspector \ub85c \ub9cc\ub4e4\uc5b4\uc57c \ud55c\ub2e4\u00a0<\/strong><strong>.<\/strong>\u00a0\uc5b4\ub5a4 \uc5d4\ud2f0\ud2f0\ub294 \uc218\uc2ed\uac1c\uc758 \uc870\uc808\ud560\uac8c \uc788\uc744\uc218 \uc788\uc2b5\ub2c8\ub2e4. \u00a0\uc774 \uacbd\uc6b0 inspector \uc5d0 \uc5f0\uacb0\ub420 \ubcc0\uc218\ub97c \ucc3e\ub294\uac8c \uc545\ubabd\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\ub354 \uc27d\uac8c \ub9cc\ub4e4\uae30 \uc704\ud574, \ub2e4\uc74c\uc758 \ub2e8\uacc4\ub97c \ub530\ub974\uc2ed\uc2dc\uc624:<\/div>\n<div><\/div>\n<ul>\n<li>\ubcc0\uc218\uc758 \uadf8\ub8f9\uc5d0 \ub300\ud55c \ubcc4\ub3c4\uc758 \ud074\ub798\uc2a4\ub97c \uc815\uc758 \ud569\ub2c8\ub2e4.<br \/>\n\uadf8\uac83\ub4e4\uc744 public \ubc0f\u00a0serializable \ud569\ub2c8\ub2e4.<\/li>\n<li>\uae30\ubcf8 \ud074\ub798\uc2a4\uc5d0\uc11c, \uc704\uc640 \uac19\uc774 \uc815\uc758\ub41c \uac01\uac01\uc758 \uc720\ud615\uc758 public \ubcc0\uc218\ub97c \uc815\uc758 \ud569\ub2c8\ub2e4.<\/li>\n<li>\ubcc0\uc218\ub97c Awake \ub098 Start \uc5d0\uc11c \ucd08\uae30\ud654 \ud558\uba74 \uc548\ub418\uba70; \uadf8\uac83\ub4e4\uc740\u00a0serializable \uc774\uae30 \ub54c\ubb38\uc5d0, Unity \uc5d0\uc11c \uc798 \ucc98\ub9ac \ud574\uc904 \uac83\uc785\ub2c8\ub2e4.<\/li>\n<li>\ub2f9\uc2e0\uc740\u00a0\uc815\uc758\ub41c \ubcc0\uc218\uac00 \uc5f0\uacb0\ub418\uae30 \uc804\uc5d0\u00a0\ucd08\uae30\ud654\ub97c \uc9c0\uc815\ud558\ub294\uac8c \uac00\ub2a5\ud558\ub2e4<\/li>\n<\/ul>\n<div>inspector \uc758 \uc811\uc744 \uc218 \uc788\ub294 \uacf5\uac04\uc758 \uadf8\ub8f9 \ubcc0\uc218\ub4e4\uc740, \uad00\ub9ac\ub97c \uc27d\uac8c \ud569\ub2c8\ub2e4.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">[Serializable]\r\npublic class MovementProperties \/\/Not a MonoBehaviour!\r\n{\r\n   public float movementSpeed;\r\n   public float turnSpeed = 1; \/\/default provided\r\n}\r\n\u00a0\r\npublic class HealthProperties \/\/Not a MonoBehaviour!\r\n{\r\n   public float maxHealth;\r\n   public float regenerationRate;\r\n}\r\n\u00a0\r\npublic class Player : MonoBehaviour\r\n{\r\n   public MovementProperties movementProeprties;\r\n   public HealthPorperties healthProeprties;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div id=\"more162_36\" class=\"moreless_fold\"><\/div>\n<h2>Text<\/h2>\n<div><strong>38. \uc2a4\ud1a0\ub9ac \ud14d\uc2a4\ud2b8\uac00 \ub9ce\uc740 \uacbd\uc6b0, \ud30c\uc77c\uc5d0 \ub123\ub3c4\ub85d \ud569\ub2c8\ub2e4.\u00a0<\/strong>inspector \uc758 \uc5d0\ub514\ud305 \ud560\uc218 \uc788\ub294 \uc601\uc5ed\uc73c\ub85c \ub450\uc9c0 \ub9c8\uc2ed\uc2dc\uc624.\u00a0\uc774\uac83\uc740 Unity \uc5d0\ub514\ud130\ub97c \uc5f4\uc9c0 \uc54a\uace0\ub3c4 \ubcc0\uacbd\uc744 \uc27d\uac8c \ud574\uc904 \uac83\uc774\uba70, \ud2b9\ud788 scene \uc744 \uc800\uc7a5\ud558\uc9c0 \uc54a\uace0\ub3c4 \uac00\ub2a5\ud560 \uac83\uc785\ub2c8\ub2e4.<\/div>\n<div id=\"more162_37\" class=\"moreless_fold\"><\/div>\n<div><strong>39. \ub2f9\uc2e0\uc774 \ub85c\uceec\ub77c\uc774\uc9d5\uc744 \ud560 \uacc4\ud68d\uc774 \uc788\ub2e4\uba74, \ud558\ub098\uc758 \uc9c0\uc5ed\uc5d0 \ubaa8\ub4e0 \ubb38\uc790\uc5f4\uc744 \ubd84\ub9ac\ud569\ub2c8\ub2e4.\u00a0<\/strong><br \/>\n\uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud55c\uac00\uc9c0 \ubc29\ubc95\uc740 \uc608\ub97c \ub4e4\uc5b4, \uae30\ubcf8\uac12\uc744 \uc601\uc5b4\ub85c \uc124\uc815\ud558\uace0, \uac01 \ubb38\uc790\uc5f4\uc5d0 \ub300\ud55c \uacf5\uac1c \ubb38\uc790\uc5f4 \ud544\ub4dc\uc5d0 \ud14d\uc2a4\ud2b8 \ud074\ub798\uc2a4\ub97c \uc815\uc758 \ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ub2e4\ub978 \uc5b8\uc5b4\ub294 \ud558\uc704 \ud074\ub798\uc2a4\ub97c \ub450\uace0 \uc5b8\uc5b4\uc5d0 \ub9de\ucd94\uc5b4 \ub2e4\uc2dc \ucd08\uae30\ud654 \ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/div>\n<div>\ub354 \uc815\uad50\ud55c \uae30\ubc95\uc740 (\ud14d\uc2a4\ud2b8\uc758 \uae38\uc774\uac00 \uae38\uace0 \/ \uae38\uac70\ub098\u00a0\uc5b8\uc5b4\uc758 \uac2f\uc218\uac00 \ub9ce\uc740 \uacbd\uc6b0\u00a0\uc801\uc808\ud569\ub2c8\ub2e4)sheet \ub85c\ubd80\ud130 \uc77d\uc5b4\uc624\uace0 \uc120\ud0dd\ub41c \uc5b8\uc5b4\ub85c\ubd80\ud130 \uae30\ubcf8\uc774 \ub418\ub294 \ubb38\uc790\uc5f4\uc744 \uc120\ud0dd\ud574\uc11c \ub85c\uc9c1\uc5d0 \uc81c\uacf5 \ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/div>\n<div id=\"more162_38\" class=\"moreless_fold\"><\/div>\n<h2>Testing and Debugging<\/h2>\n<div><strong>40. \ubb3c\ub9ac, \uc560\ub2c8\uba54\uc774\uc158, \uadf8\ub9ac\uace0 AI \ub97c \ub514\ubc84\uae45\ud558\uae30 \uc704\ud574 \uadf8\ub798\ud53d\u00a0logger\ub97c \uad6c\ud604 \ud569\ub2c8\ub2e4.\u00a0<\/strong>\uc774\uac74 \uc0c1\ub2f9\ud788 \ube60\ub974\uac8c \ub514\ubc84\uae45 \ud560 \uc218 \uc788\uac8c \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc790\uc138\ud55c \uc815\ubcf4\uac00 \uc788\uc2b5\ub2c8\ub2e4<b>\u00a0<\/b><a class=\"con_link\" href=\"http:\/\/devmag.org.za\/2011\/01\/25\/make-your-logs-interactive-and-squash-bugs-faster\/\" target=\"_blank\">here<\/a><b>.<\/b><\/div>\n<div id=\"more162_39\" class=\"moreless_fold\"><\/div>\n<div><strong>41. HTML\u00a0logger\ub97c \uc815\uc758 \ud569\ub2c8\ub2e4.<\/strong>\u00a0\u00a0\uba87\uac00\uc9c0 \uacbd\uc6b0\uc5d0 \ub300\ud574\uc11c, logging \uc740 \ub9e4\uc6b0 \uc720\uc6a9 \ud569\ub2c8\ub2e4.<br \/>\n\uad6c\ubb38 \ubd84\uc11d(\uceec\ub7ec \ucf54\ub4dc, \uba40\ud2f0 \ubdf0, \uc2a4\ud06c\ub9b0\uc0f7 \uae30\ub85d)\uc744 \ud558\uac8c \ub418\uba74 \ub85c\uadf8\ub97c \ub514\ubc84\uae45 \ud558\ub294\uac8c \ud6e8\uc52c \ucf8c\uc801 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\uc5ec\uae30\uc5d0 \uc790\uc138\ud55c \uc815\ubcf4\uac00 \uc788\uc2b5\ub2c8\ub2e4<b>\u00a0<\/b><a class=\"con_link\" href=\"http:\/\/devmag.org.za\/2011\/02\/09\/using-graphs-to-debug-physics-ai-and-animation-effectively\/\" target=\"_blank\">here<\/a><b>.<\/b><\/div>\n<div id=\"more162_40\" class=\"moreless_fold\"><\/div>\n<div><strong>42. \ub2f9\uc2e0\uc758 FPS counter \ub97c \uad6c\ud604\ud569\ub2c8\ub2e4.<\/strong>\u00a0\uc608. Unity \uc758 FBS counter\u00a0\uac00 \uc815\ub9d0 \uc81c\ub300\ub85c \uce21\uc815\ud560\uc9c0\ub3c4 \ubaa8\ub974\ub098, \uadf8\uac83\uc740 \ud504\ub808\uc784 \ub808\uc774\ud2b8\uac00 \uc544\ub2d9\ub2c8\ub2e4. \uc9c1\uad00\uacfc \uc721\uc548 \uac80\uc0ac\uc640 \uc77c\uce58 \ud560 \uc218 \uc788\ub3c4\ub85d \uc790\uc2e0\uc758 \uac83\uc744 \uad6c\ud604 \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_41\" class=\"moreless_fold\"><\/div>\n<div><strong>43. Implement shortcuts for taking screen shots \uc2a4\ud06c\ub9b0\uc0f7\uc744 \uc774\uc6a9\ud574 \ubc14\ub85c\uac00\uae30\ub97c \uad6c\ud604 \ud569\ub2c8\ub2e4.<\/strong>\u00a0 \ub9ce\uc740 \ubc84\uadf8\ub294 \ube44\uc96c\uc5bc\uc774\uba70, \uadf8\ub9ac\uace0 \ub2f9\uc2e0\uc740 \uc0ac\uc9c4\uc744 \ucc0d\uc5b4\ub450\uba74 \ubcf4\uace0\uac00 \uc880 \ub354 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4. \uc774\uc0c1\uc801\uc778 \uc2dc\uc2a4\ud15c\uc740 \uc2a4\ud06c\ub9b0\uc0f7\uc744 \ub36e\uc5b4\uc50c\uc6b0\uc9c0 \uc54a\ub3c4\ub85d PlayerPrefs \uc758 \uce74\uc6b4\ud130\ub97c \uc720\uc9c0 \ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0\uc2a4\ud06c\ub9b0\uc0f7\uc740 \uc2e4\uc218\ub85c \uc0ac\ub78c\ub4e4\uc774\u00a0\uc800\uc7a5\uc18c\uc5d0 \ucee4\ubc0b\ud558\ub294\uac78 \ubc29\uc9c0\ud558\uae30 \uc704\ud574 \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354 \uc678\ubd80\uc5d0 \uc800\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_42\" class=\"moreless_fold\"><\/div>\n<div><strong>44. \ud50c\ub808\uc774\uc5b4\uc758 \uc6d4\ub4dc \uc704\uce58\ub97c \ucd9c\ub825\ud558\uae30 \uc704\ud55c \ubc14\ub85c\uac00\uae30\ub97c \uad6c\ud604 \ud569\ub2c8\ub2e4.<\/strong>\u00a0\uc774\uac83\uc740 \uc6d4\ub4dc\uc758 \ud2b9\uc815 \uc7a5\uc18c\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ubc84\uadf8\uc758 \uc704\uce58\ub97c\u00a0\ub9ac\ud3ec\ud2b8\ub97c \ud558\uae30 \uc26c\uc6cc\uc9c8 \uac83\uc774\uba70, \uc774\ub294 \ubc88\uac08\uc544 \uac00\uba74\uc11c\ub3c4 \uc27d\uac8c \ub514\ubc84\uae45 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div id=\"more162_43\" class=\"moreless_fold\"><\/div>\n<div><strong>45. \ud14c\uc2a4\ud2b8\ub97c \uc27d\uac8c \ub9cc\ub4e4\uae30 \uc704\ud55c \ub514\ubc84\uadf8 \uc635\uc158\uc744 \uad6c\ud604\ud569\ub2c8\ub2e4.<\/strong>\u00a0\uba87\uac00\uc9c0 \uc608\ub97c \ub4e4\uba74:<\/div>\n<ul>\n<li>\ubaa8\ub4e0 \uc544\uc774\ud15c \uc5b8\ub77d<\/li>\n<li>\uc801 \uc81c\uac70<\/li>\n<li>GUI \ub044\uae30<\/li>\n<li>\ud50c\ub808\uc774\uc5b4 \ubb34\uc801<\/li>\n<li>\ubaa8\ub4e0 \uac8c\uc784 \ud50c\ub808\uc774 \ubd88\uac00.<\/li>\n<\/ul>\n<div id=\"more162_44\" class=\"moreless_fold\"><\/div>\n<div><b>46. \ucda9\ubd84\ud788 \uc791\uc740 \ud300\uc758 \uacbd\uc6b0, \ub514\ubc84\uadf8 \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac01 \ud300\uc758 \uad6c\uc131\uc6d0\uc744 \uc704\ud55c prefab \uc744 \ub9cc\ub4ed\ub2c8\ub2e4.<\/b>\u00a0\ud30c\uc77c\uc5d0 \uc0ac\uc6a9\uc790 ID \ub97c \ub123\uace0: \uac8c\uc784\uc774 \uc2e4\ud589 \ub420 \ub54c \uc77d\uc5b4\uc9d1\ub2c8\ub2e4. \uc774 \uc774\uc720\ub294:<\/div>\n<ul>\n<li>\ud300 \uad6c\uc131\uc6d0\uc740 \uc0ac\uace0\ub85c \uc790\uc2e0\uc758 \ub514\ubc84\uadf8 \uc635\uc158\uc744 \ucee4\ubc0b \ud558\uace0 \ubaa8\ub450\uc5d0\uac8c \uc601\ud5a5\uc744 \ubbf8\uce58\uae30 \uc54a\uae30 \uc704\ud568\uc785\ub2c8\ub2e4.<\/li>\n<li>\ub514\ubc84\uadf8 \uc635\uc158\uc744 \ubc14\uafb8\ub294 \uac83\uc740 scene \uc744 \ubc14\uafb8\ub294\uac8c \uc544\ub2c8\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div id=\"more162_45\" class=\"moreless_fold\"><\/div>\n<div><strong>47. \ubaa8\ub4e0 \uac8c\uc784 \ud50c\ub808\uc774 \uc694\uc18c\uc640 scene \uc744 \uc720\uc9c0 \ud569\ub2c8\ub2e4.\u00a0<\/strong>\uc608\ub85c, \ubaa8\ub4e0 \uc801\uc774 \uc788\ub294 scene, \ub2f9\uc2e0\uc774 \uc0c1\ud638 \uc791\uc6a9 \ud560\uc218 \uc788\ub294 \ubaa8\ub4e0 \uac1c\uccb4, \uadf8\uc678 \ub4f1\ub4f1. \ub108\ubb34 \uc624\ub798 \uac8c\uc784\uc744 \ud558\uc9c0 \uc54a\uace0 \uae30\ub2a5\uc744 \ud14c\uc2a4\ud2b8 \ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_46\" class=\"moreless_fold\"><\/div>\n<div><b>48. \ub514\ubc84\uadf8 \ubc14\ub85c \uac00\uae30 \ud0a4\ub97c \uc704\ud55c \uc0c1\uc218\ub97c \uc815\uc758\ud558\uace0, \ud55c \uacf3\uc5d0\uc11c \ubcf4\uad00 \ud569\ub2c8\ub2e4.\u00a0<\/b>\ub514\ubc84\uadf8 \ud0a4\ub294 \uc77c\ubc18\uc801\uc73c\ub85c (\ub610\ub294 \ud3b8\ub9ac\ud55c) \uac8c\uc784 \uc785\ub825\uc774 \ucc98\ub9ac \ub418\ub294 \uc704\uce58\uc5d0\uc11c \uac19\uc774 \ucc98\ub9ac \ub418\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4.\u00a0\ubc14\ub85c \uac00\uae30 \ud0a4\uc758 \ucda9\ub3cc\uc744 \ubc29\uc9c0 \ud558\uae30 \uc704\ud574 \uc911\uc559 \uc704\uce58\uc5d0 \uc0c1\uc218\ub97c \uc815\uc758 \ud569\ub2c8\ub2e4. \ub300\uc548\uc73c\ub85c \ub514\ubc84\uadf8 \ud568\uc218\uc778\uc9c0 \uc544\ub2cc\uc9c0 \uc0c1\uad00\uc5c6\uc774 \ud55c \uacf3\uc5d0\u00a0\ubaa8\ub4e0 \ud0a4\ub97c \ucc98\ub9ac \ud558\ub294 \uac81\ub2c8\ub2e4. (\ub2e8\uc810\uc740 \uc774 \ud074\ub798\uc2a4\ub294 \uc774 \uac1c\uccb4\uc5d0 \ub300\ud574\uc11c \ucc38\uc870\ub97c \ucd94\uac00\ub85c \ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4)<\/div>\n<div id=\"more162_47\" class=\"moreless_fold\"><\/div>\n<h2>Documentation<\/h2>\n<div><strong>49. \uc124\uce58\ub97c \ubb38\uc11c\ud654 \ud569\ub2c8\ub2e4.<\/strong>\u00a0\ub300\ubd80\ubd84\uc758 \ucf54\ub4dc\ub294 \ubb38\uc11c\uc5d0 \uc788\uc5b4\uc57c \ud558\uba70, \ud558\uc9c0\ub9cc \uc774\ub7ec\ud55c \uac83\uc740 \ucf54\ub4dc \uc678\ubd80\uc5d0\uc11c \ubb38\uc11c\ud654 \ud574\uc57c\ud569\ub2c8\ub2e4. \ub514\uc790\uc774\ub108\uac00 \uc124\uc815\ud558\uae30 \uc704\ud55c \ucf54\ub4dc\ub97c \uc120\ubcc4\ud558\uc5ec \ub9cc\ub4dc\ub294\uac83\uc740 \uc2dc\uac04 \ub0ad\ube44 \uc785\ub2c8\ub2e4.\u00a0\ubb38\uc11c \uc124\uc815\uc774 \ud6a8\uc728\uc774 \uadf9\ub300\ud654 \ub429\ub2c8\ub2e4 (\ub9cc\uc57d \ubb38\uc11c\uac00 \ucd5c\uc2e0\uc774\ub77c\uba74).<\/div>\n<div>\ub2e4\uc74c \uc0ac\ud56d\uc744 \ubb38\uc11c\ud654 \ud569\ub2c8\ub2e4:<\/div>\n<ul>\n<li>\ub808\uc774\uc5b4 \uc0ac\uc6a9 (\ucda9\ub3cc, \uceec\ub9c1,\u00a0raycasting \u2013 essentially, \uc5b4\ub5a4 \ud56d\ubaa9\uc5d0 \uc5b4\ub5a4\uac78 \ud574\uc57c)<\/li>\n<li>\ud0dc\uadf8 \uc0ac\uc6a9.<\/li>\n<li>\ub808\uc774\uc5b4\ub97c \uc704\ud55c GUI \uae4a\uc774 (\ubb34\uc5c7\uc744 \ud1b5\ud574\uc11c \ud45c\uc2dc\ud574\uc57c)<\/li>\n<li>scene \uc124\uce58<\/li>\n<li>Idiom \uc124\uc815<\/li>\n<li>\ud504\ub9ac\ud339 \uad6c\uc870<\/li>\n<li>\uc560\ub2c8\uba54\uc774\uc158 \ub808\uc774\uc5b4<\/li>\n<\/ul>\n<div id=\"more162_48\" class=\"moreless_fold\"><\/div>\n<h3>Naming Standard and Folder Structure<\/h3>\n<div><b>50. \ubb38\uc11c\ud654 \uaddc\uce59 \ubc0f \ud3f4\ub354 \uad6c\uc870\ub97c \ub530\ub974\uc2dc\uc624.<\/b>\u00a0\uc77c\uad00\uc131 \uaddc\uce59 \ubc0f \ud3f4\ub354 \uad6c\uc870\ub294 \uc27d\uac8c \ucc3e\uace0\uc790 \ud558\ub294\uac78 \ucc3e\uc744 \uc218 \uc788\uc73c\uba70, \uc77c\uc774 \ubb34\uc5c7\uc778\uc9c0 \ud30c\uc545 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/div>\n<div>\ub2f9\uc2e0\uc740 \uc544\ub9c8\ub3c4 \uc790\uc2e0\uc758 \uaddc\uce59 \ubc0f \ud3f4\ub354 \uad6c\uc870\ub97c \uc0dd\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc758 \uc608\ub294 \ud55c\uac00\uc9c0 \uc785\ub2c8\ub2e4.<\/div>\n<div id=\"more162_49\" class=\"moreless_fold\"><\/div>\n<h3>Naming General Principles<\/h3>\n<ol>\n<li>\ubb34\uc5b8\uac00\ub97c \ud638\ucd9c \ud569\ub2c8\ub2e4. bird \ub294\u00a0Bird\u00a0\ub97c \ud638\ucd9c\u00a0\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc774\ub984\uc744 \uc120\ud0dd \ud560 \ub54c\ub294 \ud655\uc5f0\ud558\uace0 \uae30\uc5b5\ub420 \uc218 \uc788\ub294 \uc774\ub984\uc73c\ub85c \uc120\ud0dd\ud569\ub2c8\ub2e4. \ub9cc\uc57d \ub2f9\uc2e0\uc774 \ub9c8\uc57c \uac8c\uc784\uc744 \ub9cc\ub4e0\ub2e4\uace0 \ud574\uc11c, \ub808\ubca8 \uc774\ub984\uc744\u00a0QuetzalcoatisReturn\u00a0\ub85c \ud574\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4.<\/li>\n<li>\uc77c\uad00\uc131\uc744 \uc720\uc9c0 \ud558\uc2ed\uc2dc\uc624. \uc774\ub984\uc744 \uc120\ud0dd\ud560\ub54c, \uae30\uc900\uc5d0 \ucda9\uc2e4\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<li>Use Pascal case, like this:\u00a0ComplicatedVerySpecificObject. Do not use spaces, underscores, or hyphens, with one exception (see\u00a0<em>Naming Different Aspects of the Same Thing<\/em>).<br \/>\n\uc774\uc640\uac19\uc774 \ud30c\uc2a4\uce7c \ucf00\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4:\u00a0ComplicatedVerySpecificObject. \uacf5\uac04( ), \uc5b8\ub354\ubc14(_), \ub610\ub294 \ud558\uc774\ud47c(-), \ud55c\uac00\uc9c0 \uc608\uc678\uc640 \ud568\uaed8 (\uac19\uc740 \uc77c\uc5d0 \ub2e4\ub978 \uc774\ub984\uc744 \ubcf4\uac8c \ub420 \uacbd\uc6b0)<\/li>\n<li>\ubc84\uc804 \ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\uc9c0 \ub9d0\uace0, \ub610\ub294 \ub2e8\uc5b4\ub85c \uc9c4\ud589 \uc0c1\ud0dc\ub97c \ud45c\uc2dc \ud558\uc9c0 \ub9c8\uc2ed\uc2dc\uc624\u00a0(WIP,\u00a0final).<\/li>\n<li>Do not use abbreviations:\u00a0DVamp@W\u00a0should be\u00a0DarkVampire@Walk.<br \/>\n\uc57d\uc5b4\ub97c \uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2ed\uc2dc\uc624:\u00a0DVamp@W\u00a0\ub294\u00a0DarkVampire@Walk\u00a0.\uc73c\ub85c \ud45c\uae30 \ud569\ub2c8\ub2e4<\/li>\n<li>\ub514\uc790\uc778 \ubb38\uc11c\uc758 \uc6a9\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4: \uc0ac\ub9dd \uc744 \ubb38\uc11c\uc0c1 \ud638\ucd9c \ud558\ub824\uba74 Die \uc560\ub2c8\uba54\uc774\uc158\uc744 \ubd80\ub985\ub2c8\ub2e4.\u00a0DarkVampire@Die, \ub97c \ubd80\ub974\uba70\u00a0DarkVampire@Death\u00a0\ub294 \uc548\ub429\ub2c8\ub2e4.<\/li>\n<li>\uad6c\uccb4\uc801\uc778 \uc124\uba85\uc740 \uc67c\ucabd\uc5d0 \ud45c\uae30 \ud569\ub2c8\ub2e4:\u00a0DarkVampire\u00a0\ub294 \uc88b\uc740 \ubc29\ubc95\uc774\uba70\u00a0VampireDark\u00a0\ub294 \uc548\uc88b\uc740 \ubc29\ubc95\uc785\ub2c8\ub2e4.\u00a0PauseButton\ub294 \uc88b\uc740 \ubc29\ubc95\uc774\uba70\u00a0ButtonPaused\ub294 \uc548\uc88b\uc740 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc774\uac83\uc744 \uc608\ub85c \ub4e4\uba74, \ubaa8\ub4e0 \ubc84\ud2bc\uc774 \ub2e8\uc5b4 \ubc84\ud2bc\uc73c\ub85c \uc2dc\uc791\ud558\uba74\u00a0inspector \uc5d0\uc11c \uc77c\uc2dc \uc815\uc9c0 \ubc84\ud2bc\uc744 \ucc3e\uae30 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4. [\ub9ce\uc740 \uc0ac\ub78c\ub4e4\uc774 \ub2e4\ub978 \ubc29\ubc95\uc744\u00a0\ub354 \uc120\ud638\ud558\uba70, \ub54c\ubb38\uc5d0 \uc2dc\uac01\uc801\uc73c\ub85c \ubcf4\ub2e4 \ub354 \ud655\uc2e4\ud788 \uadf8\ub8f9\ud654\ub97c \ud558\uc5ec \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc774\ub984\uc774 \uc788\uc9c0\ub9cc \uadf8\ub8f9\ud654\ub97c \uc704\ud55c\uac8c \uc544\ub2c8\uba70, \ud3f4\ub354\ub97c \uc704\ud55c\uac83 \uc785\ub2c8\ub2e4. \uc774\ub984\uc774 \uc548\uc815\uc801\uc73c\ub85c \ube60\ub974\uac8c \uc790\ub9ac \uc7a1\uace0 \ud560 \uc218 \uc788\ub3c4\ub85d \ub3d9\uc77c\ud55c \uc720\ud615\uc758 \uac1d\uccb4\ub97c \uad6c\ubd84\ud558\ub294 \uac83 \uc785\ub2c8\ub2e4.]<\/li>\n<li>\uc77c\ubd80 \uc774\ub984\uc740 \uc21c\uc11c\ub97c \ud615\uc131\ud569\ub2c8\ub2e4. \uc774\ub984\uc5d0 \uc22b\uc790\ub97c \uc0ac\uc6a9\ud558\uba70, \uc608\ub85c\u00a0PathNode0,PathNode1\u00a0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud56d\uc0c1 \uc2dc\uc791\uc740 1\uc774 \uc544\ub2cc 0\uc73c\ub85c \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc21c\uc11c\ub97c \ud544\uc694\ub85c \ud558\uc9c0 \uc54a\ub294 \uc77c\uc5d0 \ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\uc9c0 \ub9c8\uc2ed\uc2dc\uc624. \uc608\ub85c\u00a0Bird0,\u00a0Bird1,Bird2\u00a0\ub294\u00a0Flamingo,\u00a0Eagle,\u00a0Swallow\u00a0\ub77c\uace0 \ud45c\uae30\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc784\uc2dc \uac1d\uccb4\ub294 \uc774\uc911\uc73c\ub85c \uc811\ub450\uc0ac\uc5d0 \uc5b8\ub354\ubc14\ub97c \ub123\uc2b5\ub2c8\ub2e4\u00a0__Player_Backup.<\/li>\n<\/ol>\n<div id=\"more162_50\" class=\"moreless_fold\"><\/div>\n<h3>Naming Different Aspects of the Same Thing<\/h3>\n<div>\uc5b8\ub354\ubc14\uc640 \ud575\uc2ec \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uc5ec, \ud574\ub2f9 \uc0c1\ud0dc\uc5d0 &#8220;\uc138\ubd80&#8221; \ub0b4\uc6a9 \uc124\uba85\ud569\ub2c8\ub2e4. \uc608\ub85c \ub4e4\uba74:<\/div>\n<ul>\n<li><b>GUI \ubc84\ud2bc \uc0c1\ud0dc\ub294\u00a0<\/b>EnterButton_Active, EnterButton_Inactive<\/li>\n<li><b>\ud14d\uc2a4\uccd0\ub294<\/b>\u00a0DarkVampire_Diffuse, DarkVampire_Normalmap<\/li>\n<li><b>\uc2a4\uce74\uc774 \ubc15\uc2a4\ub294<\/b>\u00a0JungleSky_Top, JungleSky_North<\/li>\n<li><strong>LOD \uadf8\ub8f9\uc740\u00a0<\/strong>DarkVampire_LOD0, DarkVampire_LOD1<\/li>\n<\/ul>\n<div>\ub2e8\uc9c0 \ub2e4\ub978 \uc720\ud615\uc758 \ud56d\ubaa9 \uad6c\ubd84\uc774 \uaddc\uce59\uc744 \uc0ac\uc6a9\ud558\uba74 \uc548\ub418\uba70, \uc608\ub85c\u00a0\u00a0Rock_Small, Rock_Large \ub97c\u00a0SmallRock, LargeRock \uc73c\ub85c \uc0ac\uc6a9 \ud558\ub294 \uacbd\uc6b0 \uc785\ub2c8\ub2e4.<\/div>\n<div id=\"more162_51\" class=\"moreless_fold\"><\/div>\n<h3>Structure<\/h3>\n<div>\ub2f9\uc2e0\uc758 scene \uc758 \uad6c\uc131, \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354, \uadf8\ub9ac\uace0 \uc2a4\ud06c\ub9bd\ud2b8 \ud3f4\ub354\ub294 \uc720\uc0ac\ud55c \ud328\ud134\uc744 \uac00\uc838\uc57c \ud569\ub2c8\ub2e4.<\/div>\n<div id=\"more162_52\" class=\"moreless_fold\"><\/div>\n<h4>Folder Structure<\/h4>\n<pre>Materials\r\nGUI\r\nEffects\r\nMeshes\r\n   Actors\r\n      DarkVampire\r\n      LightVampire\r\n      ...\r\n   Structures\r\n      Buildings\r\n      ...\r\n   Props\r\n      Plants\r\n      ...\r\n   ...\r\nPlugins\r\nPrefabs\r\n   Actors\r\n   Items\r\n   ...\r\nResources\r\n   Actors\r\n   Items\r\n   ...\r\nScenes\r\n   GUI\r\n   Levels\r\n   TestScenes\r\nScripts\r\nTextures\r\nGUI\r\nEffects\r\n...<\/pre>\n<h4>Scene Structure<\/h4>\n<pre>Cameras\r\nDynamic Objects\r\nGameplay\r\n   Actors\r\n   Items\r\n   ...\r\nGUI\r\n   HUD\r\n   PauseMenu\r\n   ...\r\nManagement\r\nLights\r\nWorld\r\n   Ground\r\n   Props\r\n   Structure\r\n   ...<\/pre>\n<h4>Scripts Folder Structure<\/h4>\n<pre>ThirdParty\r\n   ...\r\nMyGenericScripts\r\n   Debug\r\n   Extensions\r\n   Framework\r\n   Graphics\r\n   IO\r\n   Math\r\n   ...\r\nMyGameScripts\r\n   Debug\r\n   Gameplay\r\n      Actors\r\n      Items\r\n      ...\r\n   Framework\r\n   Graphics\r\n   GUI\r\n   ...<\/pre>\n<h2>How to Re-implement Inspector Drawing<\/h2>\n<h3>1. \ub2f9\uc2e0\uc758 \ubaa8\ub4e0 \uc5d0\ub514\ud130\ub97c \uc704\ud55c \uae30\ubcf8 \ud074\ub798\uc2a4\ub97c \uc815\uc758<\/h3>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">BaseEditor&lt;T&gt; : Editor \r\nwhere T : MonoBehaviour\r\n{\r\n   override public void OnInspectorGUI()\r\n   {\r\n      T data = (T) target;\r\n\u00a0\r\n      GUIContent label = new GUIContent();\r\n      label.text = \"Properties\"; \/\/\r\n\u00a0\r\n      DrawDefaultInspectors(label, data);\r\n\u00a0\r\n      if(GUI.changed)\r\n      {         \r\n         EditorUtility.SetDirty(target);\r\n      }\r\n   }\r\n}<\/pre>\n<\/div>\n<\/div>\n<h3>2.\u00a0reflection \uacfc\u00a0recursion \ub97c \uc0ac\uc6a9\ud558\uc5ec draw \ucef4\ud3ec\ub10c\ud2b8\uc5d0\u00a0reflection\u00a0\uc744 \uc0ac\uc6a9<\/h3>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">public static void DrawDefaultInspectors&lt;T&gt;(GUIContent label, T target)\r\n   where T : new()\r\n{\r\n   EditorGUILayout.Separator();\r\n   Type type = typeof(T);      \r\n   FieldInfo[] fields = type.GetFields();\r\n   EditorGUI.indentLevel++;\r\n\u00a0\r\n   foreach(FieldInfo field in fields)\r\n   {\r\n      if(field.IsPublic)\r\n      {\r\n         if(field.FieldType == typeof(int))\r\n         {\r\n            field.SetValue(target, EditorGUILayout.IntField(\r\n            MakeLabel(field), (int) field.GetValue(target)));\r\n         }   \r\n         else if(field.FieldType == typeof(float))\r\n         {\r\n            field.SetValue(target, EditorGUILayout.FloatField(\r\n            MakeLabel(field), (float) field.GetValue(target)));\r\n         }\r\n\u00a0\r\n         \/\/\/etc. for other primitive types\r\n\u00a0\r\n         else if(field.FieldType.IsClass)\r\n         {\r\n            Type[] parmTypes = new Type[]{ field.FieldType};\r\n\u00a0\r\n            string methodName = \"DrawDefaultInspectors\";\r\n\u00a0\r\n            MethodInfo drawMethod = \r\n               typeof(CSEditorGUILayout).GetMethod(methodName);\r\n\u00a0\r\n            if(drawMethod == null)\r\n            {\r\n               Debug.LogError(\"No method found: \" + methodName);\r\n            }\r\n\u00a0\r\n            bool foldOut = true;\r\n\u00a0\r\n            drawMethod.MakeGenericMethod(parmTypes).Invoke(null, \r\n               new object[]\r\n               {\r\n                  MakeLabel(field),\r\n                  field.GetValue(target)\r\n               });\r\n         }      \r\n         else\r\n         {\r\n            Debug.LogError(\r\n               \"DrawDefaultInspectors does not support fields of type \" +\r\n               field.FieldType);\r\n         }\r\n      }         \r\n   }\r\n\u00a0\r\n   EditorGUI.indentLevel--;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uc704 method \ub294\ub2e4\uc74c\uacfc \uac19\uc740 \ud5ec\ud37c\ub97c \uc0ac\uc6a9\ud55c\ub2e4:<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">private static GUIContent MakeLabel(FieldInfo field)\r\n{\r\n   GUIContent guiContent = new GUIContent();      \r\n   guiContent.text = field.Name.SplitCamelCase();      \r\n   object[] descriptions = \r\n      field.GetCustomAttributes(typeof(DescriptionAttribute), true);\r\n\u00a0\r\n   if(descriptions.Length &gt; 0)\r\n   {\r\n      \/\/just use the first one.\r\n      guiContent.tooltip = \r\n         (descriptions[0] as DescriptionAttribute).Description;\r\n   }\r\n\u00a0\r\n   return guiContent;\r\n}<\/pre>\n<\/div>\n<\/div>\n<div>\uc774 inspector \uc5d0 \ud234\ud301\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud574 \ud074\ub798\uc2a4 \ucf54\ub4dc\uc5d0 \uc8fc\uc11d\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/div>\n<h3>3. Define new Custom Editors<\/h3>\n<div>\ubd88\ud589\ud558\uac8c\ub3c4, \ub2f9\uc2e0\uc740 \uc5ec\uc804\ud788 \uac01\uac01\uc758 MonoBehaviour \ub97c \uc704\ud55c \ud074\ub798\uc2a4\ub97c \uc815\uc758 \ud574\uc57c \ud569\ub2c8\ub2e4. \ub2e4\ud589\ud788\ub3c4, \uc774\ub7ec\ud55c \uc815\uc758\ub294 \ube44\uc5b4 \uc788\uc744\uac83\uc774\uba70; \ubaa8\ub4e0 \uc2e4\uc81c \uc791\uc5c5\uc740 \uae30\ubcf8 \ud074\ub798\uc2a4\uc5d0 \uc758\ud574 \uc774\ub8e8\uc5b4 \uc9d1\ub2c8\ub2e4.<\/div>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"csharp\">[CustomEditor(typeof(MyClass))]\r\npublic class MyClassEditor : BaseEditor&lt;MyClass&gt;\r\n{}<\/pre>\n<\/div>\n<\/div>\n<div>\n<p>\uc774\ub860\uc801\uc73c\ub85c \uc774 \ub2e8\uacc4\ub294 \uc790\ub3d9\uc77c \uc218 \uc788\uc9c0\ub9cc, \ub09c \uc544\uc9c1 \uc2dc\ub3c4 \ud574\ubcf4\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n<div class=\"autosourcing-stub-extra\">\n<p>&nbsp;<\/p>\n<p>\ucd9c\ucc98 :\u00a0<a href=\"http:\/\/seungngil.tistory.com\/entry\/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%9E%91%EC%97%85%EC%97%90-%EB%8C%80%ED%95%9C-50-%ED%8C%81-%EB%AA%A8%EB%B2%94-%EC%82%AC%EB%A1%80-50-Tips-for-Working-with-Unity-Best-Practices\" target=\"_blank\">http:\/\/seungngil.tistory.com\/entry\/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%9E%91%EC%97%85%EC%97%90-%EB%8C%80%ED%95%9C-50-%ED%8C%81-%EB%AA%A8%EB%B2%94-%EC%82%AC%EB%A1%80-50-Tips-for-Working-with-Unity-Best-Practices<\/a><\/p>\n<\/div>\n<\/div>\n<p><strong>\ucd9c\ucc98 \uc6d0\ubb38<\/strong><\/p>\n<div><a class=\"con_link\" href=\"http:\/\/devmag.org.za\/2012\/07\/12\/50-tips-for-working-with-unity-best-practices\/\" target=\"_blank\">http:\/\/devmag.org.za\/2012\/07\/12\/50-tips-for-working-with-unity-best-practices\/<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud301\ub4e4\uc5d0 \ub300\ud574\uc11c \uc774 \ud301\ub4e4\uc740 \ubaa8\ub4e0 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\uc6a9 \uac00\ub2a5\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uac83\ub4e4\uc740 3~20\uba85\uc758 \uc778\uc6d0\uc73c\ub85c \uad6c\uc131\ub41c \uc791\uc740\ud300\uc758 \ud504\ub85c\uc81d\ud2b8 \uacbd\ud5d8\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4. \uad6c\uc870, \uc7ac\uc0ac\uc6a9\uc131, \uba85\ud655\uc131, \uae30\ud0c0 \ub4f1\ub4f1 \uc758 \ube44\uc6a9\uc740 \ud300 \ud06c\uae30\uc640 \ud504\ub85c\uc81d\ud2b8\uc758 \ud06c\uae30\uc5d0 \ub530\ub77c \ube44\uc6a9 \uc9c0\ubd88 \uc5ec\ubd80\uac00 \uacb0\uc815 \ub429\ub2c8\ub2e4. \ub9ce\uc740 \ud301\ub4e4\uc740 \ucde8\ud5a5\uc758 \ubb38\uc81c \uc785\ub2c8\ub2e4. (\ud558\uc9c0\ub9cc \uc5ec\uae30\uc5d0 \ub098\uc628 \uc5ec\ub7ec \ud301\ub4e4\uc740 \uc6b0\uc5f4\uc744 \uac00\ub9ac\uae30 \uc5b4\ub824\uc6b8 \uc815\ub3c4\ub85c \uc88b\uc740 \uae30\uc220\ub4e4 \uc785\ub2c8\ub2e4.) \uba87\uac1c\uc758 \ud301\uc740 \uacf5\uc2dd &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/w3devlabs.net\/wp\/?p=10047\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;\uc720\ub2c8\ud2f0 \uc791\uc5c5\uc5d0 \ub300\ud55c 50 \ud301 (\ubaa8\ubc94 \uc0ac\ub840) 50 Tips for Working with Unity (Best Practices)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[10631],"tags":[10855,10633,10856],"class_list":["post-10047","post","type-post","status-publish","format-standard","hentry","category-10631","tag-10855","tag-10633","tag-10856","entry"],"_links":{"self":[{"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10047"}],"version-history":[{"count":3,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10047\/revisions"}],"predecessor-version":[{"id":10051,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10047\/revisions\/10051"}],"wp:attachment":[{"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10047"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/w3devlabs.net\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}