์๋ ?
์ ์ ์ ๋ํฐ ํ ๊ฒ์๊ธ ์ผ๋ ์ธ๋ถ์ด์ผ.
์ ๋์ผ๋ก ๊ธ ์ฐ๊ธฐ ๋ถํธํด์ ๊ณ ๋ํ๋ ๋ง๋ค์์ด.
์ถ๊ฐ์ ์ผ๋ก ์ ๋ํฐ ํ์ ๋ช ๊ฐ ๋ ์ธ๊น ํ๋๋ฐ ๋ค๋ฅธ ์ผ์ด ์์ด์ ๋ฏธ๋ฃจ๋ค๊ฐ ์ด๋ฒ์ ์ฐ๊ฒ ๋์์ด.
๋ถ๋ ํ๋๋ผ๋ ๋์์ด ๋๊ธธ ๋ฐ๋ผ.
์ด์ ๊ธ์์ ์ด์ด์ง๋ ๋๋์ผ๋ก ๋๋ฒ๋ง์ ํ ๊ฑฐ์ผ.
https://gall.dcinside.com/m/game_dev/159380
์ด,์ค๊ธ์๋ฅผ ์ํ Unity Tip 12๊ฐ(๋ช๊ฐ ๋ ์ถ๊ฐ๋จ)์ ํ๋ธ ์์ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์. ์ ์ฌ๋์ ์๋ฏ?๊ฑฐ์ง ๊ฐ๋ฐ ํธ์๋ฅผ ์ํ ํ์. ์์์์๋ ์ด 10๊ฐ๋ฅผ ์๊ฐํ๋๋ฐ ๋ด๊ฐ ์ฐ์ง ์๋ ๋ถ๋ถ์ ์คํตํจ.์ฃผ๋ก Inspector ๋ ๊ด๋ จ์ด ๋ง์.๋ค๋ฅธ ๋์์์ ํ๋ค๋ ์ผ๋ถ ์ถ๊ฐํgall.dcinside.com1. Debug ๋ชจ๋๋ฅผ ์ผ์ private ๋ฉค๋ฒ๋ณ์ Inspector ์ฐฝ์์ ๋ณด๊ธฐ
2. Inspector Locking ์ํ๊ณ Project explorer์์ ์ค๋ธ์ ํธ ๋๋๊ทธ์ค๋๋กญ ํ๊ธฐ
3. Property ์์ฑ Inspector ์ฐฝ์ ํ์ํ๊ธฐ
4. Color์ HDR ์ต์ ์ถ๊ฐํ๊ธฐ
5. ํจ์๋ ๋ณ์์ Description ์ถ๊ฐํ๊ธฐ
6. ์ด๊ฐ๋จ ํํฐํด ์์ฑ with Sprite
7. Not null ํค์๋ ์ฌ์ฉํ๊ธฐ
8. ์์ฑ๋ GameObject Transform ๊ฐ ์๋์ผ๋ก ์ด๊ธฐํ์ํค๊ธฐ
9. debug console ๋ฉ์์ง์ ์๊น ๋ฃ๊ธฐ
10. ์์ฌ์ด PlayerPrefs Editor ์ถ๊ฐ(๋ฌด๋ฃ)
11. ๋ณต์ฌ๋ GameObject ์๋ ๋ค์ด๋ฐ format ๋ณ๊ฒฝ
12. Scene ๋ทฐ์์ ์ ํํ ์ค๋ธ์ ํธ ์ค์ฌ์ผ๋ก ๋ฐ๋ผ๊ฐ๊ธฐ
1~12๋ฒ๊น์ง๋ ์์ ๋งํฌ์์ ๋ณด๋ฉด ๋จ.
์๋๋ ์ด๋ฒ์ ์ถ๊ฐ๋ ๋ชฉ๋ก.
13. Monobehavier ์คํฌ๋ฆฝํธ ํ ํ๋ฆฟ ๋ณ๊ฒฝ
14. ๋ฐ๋ Hierarchy๋ก ์ธํด ๊นจ์ง Animation Path ์์ ํ๊ธฐ
15. Inspector ์ฐฝ์์ ํ์์๋ fields ๊ฐ ์ด๊ธฐํ(None) ๋น ๋ฅด๊ฒ ์ํค๊ธฐ
16. ๋น ๋ฅธ (ํจ์) ํ ์คํ ์ ์ํ ContextMenu Attribute ์ถ๊ฐ
17. ํผํฌ๋จผ์ค ๋ฒค์น๋งํฌ๋ฅผ ์ํ Stopwatch ์ฌ์ฉ๋ฒ
18. Reset ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ + RequireComponent ์ฌ์ฉ๋ฒ
19. Edit Mode ์์ ์คํฌ๋ฆฝํธ ์คํํ๊ธฐ
20. Global Search Tool ์ฌ์ฉ๋ฒ With Attribute
21. ๋๋ฐ์ด์ค ์๋ฎฌ๋ ์ดํฐ ๋ทฐ
22. Scene ํ๋ฉด์์ ๋ถ๋ชจ๊ฐ์ฒด ์ ํํ๊ธฐ
23. ์ฝ์์ฐฝ์์ ํน์ Log ์ ํํด์ ๊ด๋ จ ๊ฐ์ฒด๋ก ๋ฐ๋ก ์ด๋ํ๊ธฐ
์, ๊ทธ๋ผ Let's take a closer look!
13. Monobehavier ์คํฌ๋ฆฝํธ ํ ํ๋ฆฟ ๋ณ๊ฒฝ
Unity ์์ ์ Script ํ์ผ์ ์์ฑํ๋ฉด
๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํผ์ผ๋ก ์๋ ์์ฑ์ด ๋๋๋ฐ, ์ด Start์ Update ๋ฉ์๋๋ฅผ ์ฌ์ฉ ์ํ๋ ์ฌ๋์ ๋งค๋ฒ ์ง์์ฃผ๊ธฐ ๊ท์ฐฎ์ผ๋๊น,
์ด Template ์์ฒด๋ฅผ ์์ ํ ์ ์์ด.
ํ ํ๋ฆฟ ์์น๋
- Windows: C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
- Mac: /Applications/Unity/Editor/Data/Resources/ScriptTemplates
- Mac (since 5.2.1f1): /Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates
14. ๋ฐ๋ Hierarchy๋ก ์ธํด ๊นจ์ง Animation Path ์์ ํ๊ธฐ
์ ๋ํฐ Animation์ ์ฌ์ฉํ ๋ ๋ถ๋ชจ ์๋ ์ฐ๊ฒฐ๋ ์์ ์ ๋๋ฉ์ด์ ๊ฐ์ฒด๋ค์ ์์๊ฐ ๋ฐ๋๋ฉด Animation์ ์ค์ ๋ ๊ฐ๋ค์ด ์๋์ผ๋ก Fix ๋์ง ์์.
๊ทธ๊ฑธ ๊ทธ๋๋ง ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ์์ ๊ฐ๋ฅํด.
์๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด์.
Hierarchy ์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด PLAYER~~~ ๊ฐ์ฒด ์๋์ Body ๊ฐ์ฒด๊ฐ ์๊ณ ๊ทธ ์๋ ํ์ธ ๋ค์ด ์์ด.
Sprite๋ฅผ ์ถ๊ฐํ๊ณ Body ๊ฐ์ฒด๋ฅผ ์ด Sprites๋ผ๋ ์ด๋ฆ์ ํ์ ์์์ผ๋ก ๋ฃ์ด๋ณด์.
์ฐธ๊ณ ๋ก Animation์ ๋ค์๊ณผ ๊ฐ์ด ๋์ด์์ด.
์ด๋ ๊ฒ Body๊ฐ์ฒด๊ฐ Sprites๊ฐ์ฒด ์๋๋ก ๋ค์ด๊ฐ๊ฒ๋๋ฉด,
์์ ์ค์ ๋ Hierarchy๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด Animation์ ์ค์ ๋ ๋ด์ฉ๋ค๋ ๋ค ๊นจ์ง๊ฒ ๋.
์ด๊ฑธ ์ ๋ํฐ์์ ์๋์ผ๋ก ์์ ์ ์ํด์ค์ ๋ค ์ง์ ๋ค๊ฐ ๋ค์ ์ค์ ํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ๋ฐ์๋์ง.
๊ทธ๋ฌ๋
๋ค์๊ณผ ๊ฐ์ด ๊นจ์ง ๊ฐ์ฒด ์ด๋ฆ์ F2ํค๋ฅผ ๋๋ฌ ์ด๋ฆ ๋ณ๊ฒฝ ๋ชจ๋์์ Sprites/Body ์ด๋ฐ์์ผ๋ก ์์ [๋ถ๋ชจ์ด๋ฆ]/ ๊ฒฝ๋ก๋ฅผ ๋ฃ์ด์ฃผ๊ฒ๋๋ฉด
๋ค์ ๊นจ์ก๋ Animation๋ค์ด ๋ค์ ๋ณต๊ตฌ๋๋ค.
15. Inspector ์ฐฝ์์ ํ์์๋ fields ๊ฐ ์ด๊ธฐํ(None) ๋น ๋ฅด๊ฒ ์ํค๊ธฐ
์ ์ด๋ฏธ์ง์ ๊ฐ์ด Inspector ์ฐฝ์์ L Leg ๊ฐ์ ์ค์ ๋ Left Leg๋ฅผ ์ด๊ธฐํ(None)์ผ๋ก ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด,
๋ณดํต์ ํ๋๊ฐ ์ค๋ฅธ์ชฝ ๋์ ์๋ ๋ถ์ค์์ด(Bullseye) ์์ด์ฝ์ ๋๋ฌ์ ํ์ ์ ๋์ฐ๊ณ ๊ฑฐ๊ธฐ์ None์ ๋๋ฌ์ ์ด๊ธฐํ ํ ๊ฑฐ์ผ.
์ด ์ด๋ฏธ์ง ์ฒ๋ผ ๋ง์ด์ง. ๊ทผ๋ฐ ๋ ์ฝ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด.
๊ทธ๋ฅ ์ด๊ธฐํ ํ๊ณ ์ถ์ Field ๊ฐ์ ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ์ ํ ํ ๋ค์ Delete ํค๋ BackSpace ํค๋ฅผ ๋๋ฅด๋ฉด ๋จ. ๊ฐ๋จํ์ง?
16. ๋น ๋ฅธ (ํจ์) ํ ์คํ ์ ์ํ ContextMenu Attribute ์ถ๊ฐ
์ด๋ค ํจ์๋ ๋ฉ์๋๋ฅผ ํ ์คํธ ํ๊ณ ์ถ์๋ฐ ๋ง ๋ฒํผ ๋ฌ๊ณ ๋ฒํผ ์ด๋ฒคํธ๋ก ํจ์ ์ฝํ๊ณ .... ๊ท์ฐฎ์๋? ๋ฐํ์์์๋ ์ฝ๊ฒ ๋ด๊ฐ ํ ์คํธ ํ ๋ฉ์๋๋ฅผ ์ฝ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด.
ํ ์คํธํ ๋ฉ์๋ ์ด๋ฆ์ UseTheForce ์ด๊ณ ์ ์ํ ๋ฉ์๋๋ช ์์ [ContextMenu("์ด๋ฆ")] ์ ์ ๋ ฅํ๊ณ ๋์,
์๋ํฐ์ Inspector ์ฐฝ์์ ๋ด๊ฐ ์ถ๊ฐํ ๋ฉ์๋๊ฐ ์์นํ ์คํฌ๋ฆฝํธ ์์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ํด๋ฆญ์ ๋๋ฌ์ Context Menu๋ฅผ ํผ์น๋ฉด ๋งจ ์๋ ๋ด๊ฐ ๋ง๋ค์๋ ๋ฉ์๋๊ฐ ๋ฉ๋ด๋ก ์ถ๊ฐ๋ ๊ฑธ ๋ณผ ์ ์์ด. ๋ฐํ์ ์ค์๋ ์ ๋ฉ๋ด ๋๋ฌ์ ๋ฉ์๋ ์คํ ๊ฐ๋ฅํจ.
17. ํผํฌ๋จผ์ค ๋ฒค์น๋งํฌ๋ฅผ ์ํ Stopwatch ์ฌ์ฉ๋ฒ
๊ฐํน ๋ด๊ฐ ๋ง๋ ์ฝ๋์ ์คํ ์๊ฐ์ด ๋ช ์ด๋ ๊ฑธ๋ฆด๊น ๊ถ๊ธํ ๋ ์์์? ๊ทธ ๋ ๋ง ์๋์ฐ๋ ์ค๋งํธํฐ ์คํ์์น ์ผ๋๊ณ ์๊ฐ ์ฌ๋ ์ฌ๋์ ์๊ฒ ์ง? ใ
System.Diagnostics ๋ด๋ถ์ ์๋ Stopwatch ํด๋์ค๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์์ด.
(1)StopWatch ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ (2)Start() ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ค์, (3)ํ
์คํธ ํ๊ณ ์ถ์ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ๋ค์ ๊ทธ ๋ฐ์ (4)Stopwatch ๊ฐ์ฒด์ Stop() ๋ฉ์๋๋ฅผ ํธ์ถํด์ฃผ๋ฉด ๊ณ์ฐ์ด ๋๋. ๊ทธ ๋ค์ ๊ฒฐ๊ณผ๊ฐ์ (5)ElapsedMilliseconds๋ฅผ ํตํด์ ํ์ธํ๋๊ฑฐ์ง.
์ ์ค์ท๊ณผ ๊ฐ์ด ํ ์คํธ๋ฅผ ํด๋ณด๋ฉด FunctionToTest() ๋ฉ์๋์ ์คํ์๊ฐ์ด Unity Editor ์ฐฝ์ Console ํ๋ฉด์ ์ถ๋ ฅ๋ ๊ฑฐ์ผ.
๊ทผ๋ฐ ElapsedMilliseconds ํ๋กํผํฐ ๊ฒฐ๊ณผ์ ์ต์๊ฐ์ ๋ง๊ทธ๋๋ก ๋ฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ฉ์๋ ์คํ ์๋๊ฐ ๊ทธ๊ฒ๋ณด๋ค ๋น ๋ฅธ ๊ฒฝ์ฐ๋ ์๋ง 0์ผ๋ก ๋์ฌ๊ฑฐ์ผ.
๊ทธ๋ด ๊ฒฝ์ฐ์๋ ElapsedTicks ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํด์ ๋ ์ ๋ฐํ ์ธก์ ์ด ๊ฐ๋ฅํด. ์ด๊ฑด 10000 tick/ms(1 ๋ฐ๋ฆฌ์ด๋น 10000 tick) ๋ผ์,
๋ง์ฝ ๋ฉ์๋ ์คํ ์๊ฐ์ด 0.1 ms ๊ฑธ๋ ธ๋ค๋ฉด ์ ์ค์ท์ฒ๋ผ ๊ฐ์ด 1000 ์ธ์ ๋ฆฌ ๊ฐ์ด ์ด ๋์ค๊ฒ ์ง?
18. Reset ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ + RequireComponent ์ฌ์ฉ๋ฒ
Inspector ์ฐฝ์์ Script๋ฅผ ๋น๋กฏํ ๊ฐ์ข
Component์์ Reset์ ์คํํ๋ฉด ํด๋น Component๊ฐ ์ด๊ธฐํ ๋์์?
๊ทผ๋ฐ Script์์ Reset ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํด์ Reset์ ์คํ ํ์ ๋ ์ด๊ธฐ๊ฐ์ ๋ด๊ฐ ์ปค์คํฐ๋ง์ด์ง ํด์ค ์ ์์ด.
๋ํ RequireComponent Attribute๋ฅผ ์ถ๊ฐํด์ ํด๋น ์ปดํฌ๋ํธ๋ ๊ฐ์ด ์ด๊ธฐํ ๊ฐ๋ฅํด. ๋ค์ ์ค์ท์ ๋ณด์.
ํด๋์ค ์์ [RequireComponent(typeof(CircleCollider2D))] ๋ฅผ ์ถ๊ฐํ๊ณ ,
๋ํ Reset() ๋ฉ์๋๋ฅผ ์ฌ์ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ๋ฃ์.
์ด์ ์๋ํฐ๋ก ์ด๋ํด์,
Enemy~~~ ๋ผ๋ ๊ฒ์์ค๋ธ์ ํธ Inspector ์ฐฝ์ ๋ณด๋ฉด Script ํ์ผ๋ ์๊ณ , CircleCollider2D ์ปดํฌ๋ํธ๋ ์์ง?
์ด์ ์์ฑํ EnemyBase.cs๋ ์ด๋ฅผ ์์ํ Ghost.cs๋ฅผ ๋๋๊ทธ์ธ๋๋กญํด์ ์ํ๋ ๊ฐ์ฒด Inspector ์ฐฝ์ ๊ฐ์ ธ๋ค ๋์ผ๋ฉด,
๋ค์๊ณผ ๊ฐ์ด Script ํ์ผ ๋ฟ๋ง ์๋๋ผ Circle Collider2D ์ปดํฌ๋ํธ๊น์ง ๊ฐ์ด Enemy~~~์ ๋ํด์ง ๊ฑธ ๋ณผ ์ ์์ด.
EnemyBase.cs ์์ ์ฐ๋ฆฌ๋ ๋ํ Reset๋ฅผ ์ฌ์ ์ ํ๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ด๊ธฐํ๋ ๊ฐ์ด ๋ฐ๋ก ์ ์ฉ๋ ๊ฑธ ๋ณผ ์ ์์ง.
์ดํ Circle Collider2D ์ปดํฌ๋ํธ๋ Script ํ๋๊ฐ์ ๋ฐ๊พธ๊ณ ๋ค์ ์คํฌ๋ฆฝํธ์์ Reset์ ๋๋ฅด๋ฉด Reset ๋ฉ์๋์ ์ ์๋ ๋๋ก ํด๋น ์คํฌ๋ฆฝํธ ํ๋๊ฐ ๋ฟ๋ง ์๋๋ผ ์ฐ๊ด๋ Circle Collider2D ์ปดํฌ๋ํธ๋ ๊ฐ์ด ์ด๊ธฐํ ๋ ๊ฑฐ์ผ.
19. Edit Mode ์์ ์คํฌ๋ฆฝํธ ์คํํ๊ธฐ
์ด๋ค ํ ์คํธ ์ฝ๋๋ฅผ ์๋ํฐ์์ Play๋ฒํผ(์คํ๋ฒํผ)์ ํด๋ฆญ ํ์ง ์์ ์ํ์์๋ ์คํ ํ ์ ์์ด.
์๋ฅผ ๋ค์ด์ ์ด๋ค GameObject๋ฅผ Scene ์๋ํธ ํ๋ฉด์์ ๋ง์ฐ์ค๋ก ๋๋๊ทธ ํ ๋งํผ ๊ทธ GameObject๋ฅผ ๋ณต์ฌํ๋ ์ฝ๋๋ฅผ Edit Mode์์ ์คํํ๊ณ ํ ๋,
๋ค์๊ณผ ๊ฐ์ด Spawner ํ์ผ์ ์์ฑํ๊ณ Update ๋ฉ์๋์ ํ์ฌ GameObject ์์น๋ฅผ ํ ๋๋ก ๋ณต์ฌํ๋ ์ฝ๋๋ฅผ ์์ฑํ์.
์ด๋๋ก๋ง ํ๊ณ ์คํ์ ํ๋ฉด ํ๋ ์ด๋ชจ๋์์๋ง ์คํ ๋ฐ ์์ฑ์ด๋๊ณ , ํ๋ ์ด๋ชจ๋๊ฐ ๋๋๋ฉด ๋ค ์ฌ๋ผ์ง๊ฒ ์ง?
๊ทผ๋ฐ ์ฝ๋ ๋งจ ์์ [ExecuteInEditMode] attribute๋ฅผ ์ถ๊ฐํ๊ณ ,
๋ค์๊ณผ ๊ฐ์ด Hierarchy์ Spawner๋ผ๋ ๋น GameObject ์์ฑ ๋ฐ Spawner.cs ๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ง์ฐ์ค๋ก ์์ฑ๋ Spawner GameObject๋ฅผ ๋๋๊ทธ ํด๋ณด๋ฉด, ํ๋์ ์ ์ด ๋ง์ฐ์ค๋ก ์์ง์ด๋ ์์น์ 1์ด๋ง๋ค ์์ฑ์ด ๋๋๊ฑธ ๋ณผ ์ ์์ด.
๊ทผ๋ฐ ์ค์ท์ ์์ธํ ๋ณด๋ฉด Play๋ฒํผ์ด ์๋๋ฌ์ ธ์์ง? ์ด๊ฑด EditMode์์ ์ค์๊ฐ์ผ๋ก ์คํ๋๋๊ฑฐ์ผ. [ExecuteInEditMode]๋ฅผ script์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๊ฑฐ์ง.
์ด๋๋ก ์ ๋ฉ์ถ๋ค๋ฉด ์๋ํฐ๋ฅผ ์ผ๋๋ ๋ด๋ด ์ฝ๋๊ฐ ์คํ๋๊ธฐ ๋๋ฌธ์ Overflow๋ก ์ธํ Crash๊ฐ ๋ ์๋ ์์ผ๋ ํด๋น ๊ธฐ๋ฅ์ ๋๋ฌ๋ฉด,
Update ๋ฉ์๋๊ฐ ๋์ ์ค์ธ Spawner Script๋ฅผ Disable ํ๋ฉด ๋ผ.
20. Global Search Tool ์ฌ์ฉ๋ฒ With Attribute
์ ๋ํฐ 2021์ ์ ๋ฐ์ดํธ๋ ๊ธฐ๋ฅ์ธ๋ฐ ๋ชจ๋ฅด๋ ์ฌ๋๋ ์๋ ๊ฒ ๊ฐ์์ ํ๋ฒ ์ ์ด ๋ด.
์ฐ์๋จ Inspector ์ฐฝ ์์ ๋ณด๋ฉด ๋๋ณด๊ธฐ ๋ชจ์์ ์์ด์ฝ ๋ฒํผ์ด ์๋๋ฐ ๋ฐ๋ก ์ด๊ฒ ์ ์ญ ๊ฒ์ํด์ด์ผ.(๋จ์ถํค Ctrl+K)
๋ฒํผ์ ํด๋ฆญํ๋ฉด ์์ ๊ฐ์ ์ฐฝ์ด ๋จ๋ฉด์ ๊ฒ์๋ผ์ธ์ t:material red ๋ผ๊ณ ์น๋ฉด type์ด material ์ด๋ฉด์ red ์ด๋ฆ์ด ํฌํจ๋ ๊ฐ์ฒด๋ค์ด ๊ฒ์ ๋ผ.
๊ฑฐ๊ธฐ์ ์ํ๋ ๊ฐ์ฒด๋ฅผ ๋๋๊ทธ ์ค ๋๋กญํด์ ํ๋ฉด์ ๋์ด๋ค ๋๋์ง ํด์ ์ฌ์ฉํ๋ฉด ๋ผ.
๋ด๊ฐ ์์ฑํ์ง ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ํฐ์์ ์ ๊ณต๋๋ ์ฌ๋ฌ ๊ฐ์ฒด๋ค๋ ๋ค ๊ฒ์๋๋๊น ํ๋ฒ ์ฌ์ฉํด๋ด.
์ฌ์ง์ด ์์ ๊ฐ์ด Project Settings ์ฐฝ์ ์๋ ํญ๋ชฉ๋ค ๊ฒ์๋ ๋์ด์ ๊ทธ๊ฑฐ ํด๋ฆญํ๋ฉด Project Settings ์ฐฝ์ด ๋จ๊ณ ๊ทธ ํญ๋ชฉ์ด ์๋ ๋ฉ๋ด๋ก ์๋ ์ ํ ๋จ.
์์ธํ ์ฌ์ฉ๋ฒ์ https://docs.unity3d.com/kr/2023.2/Manual/search-overview.html ๋ฅผ ์ฐธ๊ณ ๋ฐ๋
๋ํ ๊ฒ์๊ธฐ๋ฅ์ Script์์ Attribute๋ฅผ ํตํด์๋ ์ฌ์ฉ๊ฐ๋ฅํด.
์๋ฅผ ๋ค์ด์ Class ๋ด๋ถ ๋ฉค๋ฒ ๋ณ์๋ก Material ์ ์ง์ ํ๊ณ Inspector ์ฐฝ์์ ๊ฐ์ ์ง์ ํ ์ ์์์?
๊ทผ๋ฐ ๋ง์ฝ์ ๋ฆฌ์์ค๋ค์ด ๋๋ฌด๋ ๋ง์์ ๋ด๊ฐ ํน์ Material ๋ฆฌ์คํธ๋ง ๊ฒ์์ฐฝ์ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด?
์์ ๊ฐ์ด Material ์์ [SearchContext("t:material blue", SearchViewFlags.GridView)] attribute๋ฅผ ์ถ๊ฐํ๊ณ ,
(์ด ๊ฒฝ์ฐ ๋๋ blue๋ผ๋ ์ด๋ฆ์ ํฌํจํ material ํ์ ์ ๊ฐ์ฒด๋ค๋ง ๊ฒ์์ฐฝ์์ ๋ณด๊ณ ์ถ์ด)
Inspector ์ฐฝ์์ ํด๋น Field ๊ฐ์ ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฒ์์ฐฝ์ ๋ฏธ๋ฆฌ ์ฟผ๋ฆฌ๋ Material ๋ฆฌ์คํธ๊ฐ Gridview ํํ๋ก ๋์ด.
์ด๋ฐ์์ผ๋ก ์ฌ๋ฌ ๋ค์ํ ์ปดํฌ๋ํธ๋ค์ ์ ๋ง์ ๋ง๊ฒ ์ฟผ๋ฆฌ ํ ์ ์์.
21. ๋๋ฐ์ด์ค ์๋ฎฌ๋ ์ดํฐ ๋ทฐ
์ ๋ํฐ 2021๋ถํฐ์ธ๊ฐ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ด์ผ. Game View์์ ๋ด๊ฐ ์ํ๋ ๋๋ฐ์ด์ค ๊ป๋ฐ๊ธฐ๋ฅผ ์์์ ๋ณผ ์ ์์ด.
์ข ๋ ๋๋ฐ์ด์ค ํ๋ซํผ ์๋ฎฌ๋ ์ด์ ์ด ๊ฐ๋ฅํด์ง์ง.
์ด๋ ๊ฒ Game View ํญ ํ๋จ ๋ฆฌ์คํธ ๋ฐ์ค๋ฅผ ๋๋ฌ Simulator๋ฅผ ์ ํํ๋ฉด,
์ด๋ ๊ฒ Game View๊ฐ Simulator View๋ก ๋ฐ๋๋ฉด์ ํ๋ฉด์ด ํน์ ๋๋ฐ์ด์ค ๋ทฐ์ด ํํ๋ก ๋ฐ๋๊ฒ ๋ผ.
์ฌ๊ธฐ์๋ Apple iPad Mini ํผ์ผ๋ก ๋ฐ๋์๋ค. ์ด๊ฒ์ ์ ๊ณต๋๋ ํผ ๋ง๊ณ ๋ ์ปค์คํฐ๋ง์ด์ง๋ ๊ฐ๋ฅํด.
22. Scene ํ๋ฉด์์ ๋ถ๋ชจ๊ฐ์ฒด ์ ํํ๊ธฐ
Scene ํ๋ฉด์์ ๊ฐ๋์ฉ ํน์ ๊ฐ์ฒด๋ฅผ ์ ํํ๋ฉด ๊ทธ ๊ฐ์ฒด์ ์์ ๊ฐ์ฒด๊ฐ ์ ํ์ด ๋์ด์ ๋๊ฐํ ์ ์ด ์์์ ๊ฑฐ์ผ.
์๋ฅผ ๋ค์ด์ ์์ ๊ฒฝ์ฐ์๋ ํ๋ฉด์ ํ๋์ ๋ฐ๋ฅ์ ์ ํํ์ ๋,
๋ด ์๋๋ PlayerSpawner๋ฅผ ์ ํํ๋ ค๋ ๊ฒ์ด์์ง๋ง Hierarchy ์ฐฝ์๋ ๋ณด์ด๋ฏ์ด ๊ทธ ํ์ ์ปดํฌ๋ํธ์ธ SpawnerMesh๊ฐ ์ ํ๋์์ง.
์ด ์ํ์์ ๊ธฐ์ฆ๋ชจ๋ฅผ ์์ง์ด๊ฒ ๋๋ฉด ๋์ฐธ์ฌ๊ฐ ๋ฒ์ด์ง ์๋ ์์ด.
๊ทผ๋ฐ ์ด๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ด ์์ด. ์ฆ ํด๋น ๋ฒ์ ์ด๋๋ฅผ ๋๋ฌ๋ ์ต์์ ์ปดํฌ๋ํธ๊ฐ ์ ํ๋๋ ๋ฐฉ๋ฒ์ด์ผ. ์ฝ๊ฐ์ ์กฐ๊ฑด์ด ์๊ธด ํ์ง๋ง ๋๋ถ๋ถ ํต์ฉ ๋ ๊ฑฐ๋ผ ์๊ฐํด.
์ ์ค์ท์ฒ๋ผ ๋ณดํต ๋ถ๋ชจ๊ฐ์ฒด์ Script ํ์ผ์ ๋ถ์ฐฉ์ํค์ง? ์ด๋ฅผ ์์ฉํ ๋ฐฉ๋ฒ์ด์ผ.
์์ฃผ ๊ฐ๋จํด. ํด๋น Script ๋ด๋ถ ํด๋์ค ์์ [SelectionBase] attribute ๋ง ์ถ๊ฐํ๋ฉด ๋จ.
๊ทธ ๋ค์ ๋ค์ ํ๋ฉด์ผ๋ก ๋์์์ ํ๋์ ๋ฐ๋ฅ์ ํด๋ฆญํ๋ฉด ๋ฌด์กฐ๊ฑด ๊ทธ ๋ฐ๋ฅ๊ณผ ์ฐ๊ด๋ ์คํฌ๋ฆฝํธ๊ฐ ์๋ ๊ฐ์ฒด๋ง ์ ํ์ด ๋จ. ์ด ๊ฒฝ์ฐ PlayerSpawner๊ฐ ์ ํ๋๊ฒ ์ง. ๊ทธ ์๋ ์์ Mesh๊ฐ ์ ํ๋๋๊ฒ ์๋๋ผ.
23. ์ฝ์์ฐฝ์์ ํน์ Log ์ ํํด์ ๊ด๋ จ ๊ฐ์ฒด๋ก ๋ฐ๋ก ์ด๋ํ๊ธฐ
๋ด๊ฐ ์ํ๋ Log๋ฅผ ํด๋ฆญํ๋ฉด Hierarchy ์ฐฝ์ ๊ทธ์ ๊ด๋ จ๋ ๊ฐ์ฒด๊ฐ ์๋ ์ ํ๋๋ ๋ฐฉ๋ฒ์ด์ผ.
์๋ฅผ ๋ค์ด ์์ ๊ฐ์ด player GameObject๋ฅผ ํ๋ ์์ฑํ๊ณ , Debug.Log ๋ฉ์๋ ํธ์ถํ๋ฉด์ ๋ง์ง๋ง ํ๋ผ๋ฏธํฐ์ ํด๋น player ์ฐธ์กฐ ๋ณ์๋ฅผ ๋ฃ์ด์ฃผ๊ณ ์ฝ์์ฐฝ์ ์ถ๋ ฅ์ ํด๋ณด๋ฉด,
์ ํ๋ฉด์ฒ๋ผ ๋ก๊ทธ๋ฅผ ํด๋ฆญํ๋ฉด Hierarchy์ฐฝ์ ๋ด๊ฐ ์๊น ์ง์ ํ๋ player๊ฐ ์๋ ์ ํ๋๋ ๊ฑธ ๋ณผ ์ ์์ด.
์์ ์ค์ท์์์ผ ๋ก๊ทธ๊ฐ ํ๋๋ฟ์ด๋ผ ๋ณ ํ์ ์๊ฒ ์ง๋ง, ์์ฒ ์๋ง๊ฐ์ ๋ก๊ทธ๊ฐ ๋ด์ ๋ ํด๋น ๋ก๊ทธ๊ฐ Hierarchy ์ฐฝ์ ์ด๋ค ๊ฐ์ฒด์ ๋ํ ๋ก๊ทธ์ธ์ง ํค๊น๋ฆด ๋ ์ ์ฉํ๊ฒ ์ง.
๋!
source:
๊ฐ์ถ
์ ๋ณด๊ธ ์ถ~
์ผ๋จ ๊ฐ์ถ
๊ทธ๋ฅ ๊ฐ์ถ๊ฐ์ถ
๊ณ ๋ด๋ฐฅ์ถ - dc App
๊ณ ์
์ข์ํ ๊ฐ์ถ