๊ฒ์ ์์ง์์ ๊ฒ์ ์ค๋ธ์ ํธ๋ ๊ฒ์ ์ธ์์ ์กด์ฌํ๋ ํ๋์ ๋ฌผ์ฒด์ ๋๋ค. ์ ๋ํฐ๋ ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ์ปดํฌ๋ํธ ํจํด์ ์ฌ์ฉํด ๋ง๋ญ๋๋ค. ์ปดํฌ๋ํธ ํจํด ํน์ ์ปดํฌ์ง์ (composition) ํจํด์ด๋ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ถํ์ ์กฐ๋ฆฝํ์ฌ ์์ฑ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋๋ ๋ฐฉ์์ ๋๋ค. ์ปดํฌ๋ํธ ๋ฐฉ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ๋ฅผ ๋น ๊ป๋ฐ๊ธฐ์ธ ๊ฒ์ ์ค๋ธ์ ํธ์ ์กฐ๋ฆฝํ๋ ๋ฐฉ์์ ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์ ์ฐํ๊ฒ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ณ , ๊ธฐํ์์ ํ๋ก๊ทธ๋๋จธ์ ์์กด๋๊ฐ ๋ฎ์์ง๋ฉฐ ๋ ๋ฆฝ์ฑ ๋๋ถ์ ๊ธฐ๋ฅ ์ถ๊ฐ ์ญ์ ๊ฐ ์ฝ์ต๋๋ค.
MonoBehaviour?
์ ๋ํฐ์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ monobehaviour ํด๋์ค๋ฅผ ์์ํฉ๋๋ค. MonoBehaviourํด๋์ค๋ ์ ๋ํฐ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ์ ๊ณตํ๋ ํด๋์ค์ด๋ฉฐ ์ปดํฌ๋ํธ์ ํ์ํ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฆ, MonoBehaviour๋ฅผ ์์ํ ํด๋์ค๋ ๊ฒ์ ์ค๋ธ์ ํธ์ ์ปดํฌ๋ํธ๋ก์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค. MonoBehaviour๋ฅผ ์์ํด์ ๋ง๋ ์ปดํฌ๋ํธ๋ ์ ๋ํฐ์ ์ ์ด๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค.
๋ฉ์ธ์ง ๊ธฐ๋ฐ ๋ฐฉ์?
์ ๋ํฐ ์์ง์ ์ด๋ค ๊ฒ์ ์ค๋ธ์ ํธ์ ์ด๋ค ์ปดํฌ๋ํธ๊ฐ ์ถ๊ฐ๋์๋์ง๋ฅผ ๋ชจ๋ ํ์ ํ์ง ์์ต๋๋ค.. ๋ฐ๋ผ์ ์ ๋ํฐ๋ ์ปดํฌ๋ํธ์ ์ด๋ค ๊ธฐ๋ฅ์ ์คํ์ํค๊ณ ์ถ์ ๋ ๋ฉ์ธ์ง๋ฅผ ๋ ๋ฆฌ๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
์ ๋ํฐ๋ ๋ฐ๋์ํค๊ณ ์ถ์ ๊ธฐ๋ฅ์ ์ด๋ฆ์ ๋ด์ ๊ฒ์ ์ธ์์ ๋ฉ์ธ์ง๋ฅผ ๋ฟ๋ฆฝ๋๋ค. ๊ฒ์ ์ธ์์ ์ค๋ธ์ ํธ๊ฐ 100๊ฐ ์๋ค๋ฉด 100๊ฐ ์ค๋ธ์ ํธ๊ฐ ๋ชจ๋ ๋ฉ์์ง๋ฅผ ๋ฐ์ต๋๋ค.
๋ฉ์ธ์ง ๊ธฐ๋ฐ ๋ฐฉ์์ ๋๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋๋์ง, ๋๊ฐ ๋ฐ๊ฒ ๋ ์ง ์ ๊ฒฝ ์ฐ์ง ์๊ธฐ ๋๋ฌธ์ ์ปดํฌ๋ํธ์ ๋ ๋ฆฝ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ด๋ฐ ์์ผ๋ก ๋ฌด์ฐจ๋ณ์ ์ผ๋ก ์ฌ๋ฌ ์ค๋ธ์ ํธ์ ๋์์ ๋ฟ๋ฆฌ๋ ๋ฐฉ๋ฒ์ '๋ธ๋ก๋์บ์คํ '์ด๋ผ๊ณ ํฉ๋๋ค.
โป ๋ธ๋ก๋์บ์คํ (broadcasting)
๋ธ๋ก๋์บ์คํ (broadcasting)์ ์ก์ ํธ์คํธ๊ฐ ์ ์กํ ๋ฐ์ดํฐ๊ฐ
๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ํธ์คํธ์ ์ ์ก๋๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
๊ฒ์ ์ค๋ธ์ ํธ 01 | ๊ฒ์ ์ค๋ธ์ ํธ 02 | ๊ฒ์ ์ค๋ธ์ ํธ 03 |
์ปดํฌ๋ํธ 01 { Eat, Play, Work, Run } ์ปดํฌ๋ํธ 02 { Die, Kill, Fly } |
์ปดํฌ๋ํธ 01 { Eat, Play, Run } ์ปดํฌ๋ํธ 02 { Eat, Play, Work, Run } ์ปดํฌ๋ํธ 03 { Make, Dance } |
์ปดํฌ๋ํธ 01 { Play, Work, Run, Die } ์ปดํฌ๋ํธ 02 { Play } |
์ ๋ํฐ ์ปดํฌ๋ํธ๋ค์ Eat( )๊ธฐ๋ฅ์ ์ผ๊ด ์คํํ๋ ค๊ณ ํฉ๋๋ค. ๊ฒ์ ์ธ์์ Eat( )๋ผ๋ ๋ฉ์ธ์ง๋ฅผ ๋ธ๋ก๋์บ์คํ ์ฆ, ๋ชจ๋ ๊ฒ์ ์ค๋ธ์ ํธ์ ์ปดํฌ๋ํธ์ Eat( )๋ฅผ ๋ฟ๋ฆฝ๋๋ค. ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ค๋ธ์ ํธ๋ค์ ๋ฉ์ธ์ง๊ฐ ์ด๋์ ์๋์ง ๋ฐ์ง์ง ์๊ณ ๋ฉ์ธ์ง๊ฐ ์๋ค๋ฉด ๊ธฐ๋ฅ์ ์คํํ๊ณ ๋ฉ์ธ์ง๊ฐ ์๋ค๋ฉด ๋ฉ์ธ์ง๋ ๋ฌด์ํฉ๋๋ค.
์ ๋ํฐ ์ด๋ฒคํธ ๋ฉ์๋?
์ ๋ํฐ๋ ์ด๋ฆ ์ฒ ์๋ง ๋๊ฐ์ด ๊ตฌํํด๋๋ฉด ๋ฉ์ธ์ง์ ์ํด ์๋์ผ๋ก ์คํ๋๋ ๋ฉ์๋๋ค์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ฉ์๋(ex. Update, Start, OnTriggerEnter)๋ฅผ ์ ๋ํฐ ์ด๋ฒคํธ ํจ์ ๋๋ ์ ๋ํฐ ์ด๋ฒคํธ ๋ฉ์๋๋ผ๊ณ ํฉ๋๋ค.
โป ์ถ์ฒ: ๋ ํธ๋ก์ ์ ๋ํฐ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์์ผ์ค: C#์ผ๋ก ๋ฐฐ์ฐ๋ ์ ๋ฌธ๋ถํฐ 4๊ฐ์ง ๊ฒ์ ์ ์๊น์ง.
๊ณต๋ถ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉํ์์ต๋๋ค.
'๐ฏ game engine > โฝ ์ ๋ํฐ(unity)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(unity) ์๋ช ์ฃผ๊ธฐ,unity Lifecycle, ์ด๋ฒคํธ ํจ์์ ์คํ ์์, ์ฝ๋ฃจํด (0) | 2022.09.15 |
---|---|
(unity) ์๋์ ์๊ฐ ๊ฐ๊ฒฉ (0) | 2022.07.12 |
(unity) GetComponent, GetAxis, OnTriggerEnter, OnCollisionEnter, FindObjectOfType (0) | 2022.07.12 |
(unity/warning CS0108, NullReferenceException) (0) | 2022.04.18 |
(Unity/ error: CS8357) deterministic compilation failed (0) | 2022.04.16 |
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!