[Unity] C# ์ƒ์†๊ณผ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด
๐ŸŽฎ Unity

[Unity] C# ์ƒ์†๊ณผ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด

์ƒ์†

- ๊ฒŒ์ž„ ์—”์ง„์€ ์ด๋ฏธ ์™„์„ฑ๋œ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ๋ฅผ ์ œ๊ณต

- ๊ฒŒ์ž„ ์—”์ง„์˜ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ์‚ฐ์„ฑ ์ƒ์Šน

- ์œ ๋‹ˆํ‹ฐ์˜ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด ์ƒ์†์„ ์•Œ์•„์•ผ ํ•จ

 

์ƒ์†์˜ ํ•œ๊ณ„

๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•ด ์ž์‹ ํด๋ž˜์Šค์˜ ๊ธฐ์ดˆ ๊ตฌํ˜„์„ ๋Œ€์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ƒ์†์—๋งŒ ์˜์กดํ•˜๋ฉด ์˜คํžˆ๋ ค ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ํž˜๋“ค ์ˆ˜ ๋„ ์žˆ๋‹ค.

๋ถ€๋ชจ ํด๋ž˜์Šค๋Š” ์ž์‹ ํด๋ž˜์Šค์— ๊ณตํ†ต์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๋ฐ, ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ธฐ์กด ๊ธฐ๋Šฅ์ด ๋‚˜์ค‘์— ๊ตฌํ˜„ํ•œ ์ž์‹ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ๊ณผ ์˜คํžˆ๋ ค ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๋‹ค. 

→ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

 

 

์ปดํฌ๋„ŒํŠธ ํŒจํ„ด Component Pattern

๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ถ€ํ’ˆ์„ ์กฐ๋ฆฝํ•˜์—ฌ ์™„์„ฑ๋œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹
๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋นˆ ๊ป๋ฐ๊ธฐ์ธ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์— ์กฐ๋ฆฝํ•˜๋Š” ๋ฐฉ์‹

 

-   ์œ ์—ฐํ•œ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

-   ๊ธฐํš์ž์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜์กด๋„๊ฐ€ ๋‚ฎ์•„์ง„๋‹ค.

-   ๋…๋ฆฝ์„ฑ ๋•๋ถ„์— ๊ธฐ๋Šฅ ์ถ”๊ฐ€์™€ ์‚ญ์ œ๊ฐ€ ์‰ฝ๋‹ค. 

     โ“  ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋Š” ๋‹จ์ˆœํ•œ ๋นˆ ๊ป๋ฐ๊ธฐ

     โ“‘  ์ปดํฌ๋„ŒํŠธ๋Š” ์Šค์Šค๋กœ ๋™์ž‘ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋ถ€ํ’ˆ

 

MonoBehaviour

์ปดํฌ๋„ŒํŠธ์— ํ•„์š”ํ•œ ํ•„์ˆ˜ ๊ธฐ๋Šฅ

 

๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ๋ฐฉ์‹

์ปดํฌ๋„ŒํŠธ ํŒจํ„ด์—์„œ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ์„œ๋กœ ๊ด€์‹ฌ์ด ์—†์Œ
์œ ๋‹ˆํ‹ฐ๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ์„ ๋•Œ ๋ฉ”์‹œ์ง€๋ฅผ ๋‚ ๋ฆฌ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉ

 

๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…

๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์ฐจ๋ณ„์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์˜ค๋ธŒ์ ํŠธ์— ๋™์‹œ์— ๋ฟŒ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•

 

๋ฉ”์‹œ์ง€์™€ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…์€ Start(), Update(), OnTriggerEnter() ๋“ฑ์˜ ์œ ๋‹ˆํ‹ฐ ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌ์ด๋‹ค.

์œ ๋‹ˆํ‹ฐ ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ๋Š” ์ด๋ฆ„ ์ฒ ์ž๋งŒ ๋˜‘๊ฐ™์ด ๊ตฌํ˜„ํ•ด๋‘๋ฉด ๋ฉ”์‹œ์ง€์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.