๊น์ ์
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
Unity์์ ์์ ์ค๋ธ์ ํธ๋ฅผ ํ์ํ ๋๋ GameObject๊ฐ ์๋ Transform์ ์ฌ์ฉํด์ผ ํ๋ค.
๊ทธ ์ด์ ๋ Unity์ ๊ณ์ธต ๊ตฌ์กฐ๊ฐ Transform์ ๊ธฐ์ค์ผ๋ก ๊ตฌ์ฑ๋๊ณ , Transform์ Unity C++ ์์ง์ ํต์ฌ ๊ณ์ธต ์ ๋ณด์ ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์ด๋ค.
Unity์ ์ค๋ธ์ ํธ๋ค์ ๋ถ๋ชจ-์์ ๊ตฌ์กฐ๋ก ์ฐ๊ฒฐ๋ ํธ๋ฆฌ(Tree)๋ฅผ ์ด๋ฃฌ๋ค.
์ด ๊ตฌ์กฐ๋ GameObject๊ฐ ์๋ Transform ์ปดํฌ๋ํธ์ ์ํด ํ์ฑ๋๋ค.
GameObject๋ ๋ฐ๋์ ํ๋์ Transform์ ํฌํจํ๋ค.Transform์ ์์ ๋ชฉ๋ก์ ๋ค์ด๊ฐ๋ค.๋ฐ๋ผ์ ๊ณ์ธต ํ์์ Transform์ ํตํด์๋ง ๊ฐ๋ฅํ๋ค.
Transform์ ์์ ์ค๋ธ์ ํธ๋ฅผ ํ์ํ๊ธฐ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
transform.GetChild(i)๋ก i๋ฒ์งธ ์์ ์ ๊ทผtransform.childCount๋ก ์์ ์ ํ์ธGetComponentsInChildren<T>()๋ก ์ฌ๊ท ํ์ ๊ฐ๋ฅ์ด ๊ธฐ๋ฅ๋ค์ GameObject ์์ฒด๊ฐ ์๋
Transform์๋ง ์กด์ฌํ๋ค.
๋ง์ ๊ฐ๋ฐ์๋ค์ Transform์ด ๋จ์ํ
์์น, ํ์ , ํฌ๊ธฐ ์ ๋ณด๋ฅผ ๋ด๋๋ค๊ณ ์๊ฐํ๋ค.
ํ์ง๋ง ์ค์ ๋ก๋ Unity ์์ง์์ ๊ณ์ธต ๊ด๊ณ๋ฅผ ์ ์ํ๋ ํต์ฌ ์ปดํฌ๋ํธ์ด๋ค.
Transform ํธ๋ฆฌ ๊ตฌ์กฐ๋ก์์ ์ค๋ธ์ ํธ๋ฅผ ์ฐพ์ ๋๋ Transform์ ์ฌ์ฉํ๋ค:
// i๋ฒ์งธ ์์ ๊ฐ์ ธ์ค๊ธฐ
Transform child = transform.GetChild(i);
// ์์ ์ ํ์ธ
int count = transform.childCount;
// ๋ชจ๋ ์์ ์ปดํฌ๋ํธ ์ฐพ๊ธฐ
Component[] components = transform.GetComponentsInChildren<Component>();
GameObject์๋ ์ด๋ฐ ๊ธฐ๋ฅ์ด ์๊ณ , Transform์๋ง ์๋ค.