๋ฌผ๋ก ์ผ๋ฐ์ ์ธ ์ํฉ์์ ํ์์๊ณ , ์์ฒ๊ฐ ๋๋ฆฌ๋ ์ํฉ์์๋ ์ค๋ฒํค๋ ์ฐจ์ด๊ฐ ํฌ๋ค
๋ด๋ถ์ ์ผ๋ก ์บ์ฑํด์ฃผ๋ ์ค ์์๋๋ฐ ๋จผ๊ฐ ๋ค๋ฅธ๋ฏ
์บ์ฑ๋ transform < ๊ทธ๋ฅ transform < GetComponent
์ด ์์๋ก ์ฐจ์ด๊ฐ ๋จ
๋ ํ๋์ฐธ์กฐ์ ๋๋ก ์๊ฐํ๋๋ฐ GetComponent + ๋ด๋ถ์ ์ผ๋ก ์ต์ ํ๊ฐ ๋ค์ด๊ฐ์๋ ๊ฑฐ์๊ตฌ๋
์... ์ฒจ์์๋ค ์ ๋ณดใฑใ - dc App
์ด๋ด์๊ฐ.
๋๊ฐ ์ ๊ฐ์ ๋ด๋น์๊ฒ ์ค๋ช ์ข
transform.translate ๊ฐ์๊ฑธ ์ธ๋ ์์ ํธ๋์คํผ์ ์บ์ฑํด์ (์บ์ฑ๋ณ์๋ช ).translate ํํ๋ก ์จ์ผ ์ข๋ค๋๊ฑฐ ์๋๊น์..? ์ด๊ฒ ๋๋์ง์กฐ์ฐจ ๋ชจ๋ฅด๋ ๋ด๋น๊ธด ํ์ง๋ง ใ ใ - dc App
๋ ๋น์ฐํ๋ฏ์ด ์คํฌ๋ฆฝํธ์งค๋ transform.position์ด๋ฐ์์ผ๋ก transform ํ๋กํผํฐ๋ฅผ ํธ์ถํ๋จ๋ง์ด์ผ? ํด๋ดค์ ํ๋์ฐธ์กฐ๋ ๋น์ทํ ์์ค์ด๊ฒ ๊ฑฐ๋ ํด์ ๊ทผ๋ฐ transform ํธ์ถ์ด ํ๋์ฐธ์กฐ๊ฐ ์๋๋ผ GetComponent๊ฐ์. ๋์ ์์ง์ ์ต์ ํ๋ ๋ฐฉ์์ด ๋ค์ด๊ฐ๋๋ด ์ฆ GetComponent๋ณด๋จ ์ ๋ ดํ๋ฐ ํ๋์ฐธ์กฐ๋ณด๋จ ๋ฌด๊ฑฐ์ ํ๋กํ์ผ๋ฌ ๋๋ ค๋ณด๋๊น ์ค๋ธ์ ํฌ ๋ง์ด ์์ผ์๋ก ์ฌํ๊ฒ ์ฐจ์ด๋จ ๊ธฐ๊ปํด์ผ ์์ญ ์๋ฐฑ๊ฐ๋ ์๊ด์์๊ฑฐ๊ฐ๊ณ ์ฒ๋จ์ ๋์ด๊ฐ๋ฉด ์บ์ฑํ๋๊ฒ ๋ง๋๋ฏ? ์๋๋ง๊ณ
@ใ ใ ์......? ๊ทธ๋ด๋ฆฌ ์์
ํ๋์ ์ ๋ ์์ญ๋ง๋ฆฌ ๋์๋ค๋๋ ์ ๋๋ฉด ์ ๋ฐ์ดํธ๋๋ ค๋ ์๊ด์์. ๋๋ ์์ฒ๋ง๋ฆฌ ํ ์คํธํ๋ค๊ฐ ๋ฐ๊ฒฌํ๊ฑฐ๋ผ
@ใ ใ ๊ทธ๋ผ transform.position ์ด๋ฐ ์ ๋ค ๋ค ์บ์ฑํด์ ์จ์ผ ํ๋ค๋ ๊ฑฐ์?
๋ ๋ณ์ ์ผ๋ก GetComponent ์ ์ฐ๋ ํธ์ธ๋ฐ.. ์ด๋ฐ ๊ฑฐ ๋ชป๋์ด๊ฐ์ง
ํ๋กํ์ผ๋ง ๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค๊ณ ์์ฌํ๋ฉด ๊ทธ๋์ผ์งใ ใ .. lazy cachingํ๋กํผํฐ ๋ง๋ค๋ฉด ์์จ
transform์ด ๋ชจ๋ ธ๋นํค๋น์ด ํ๋์ ๋ถ์ด์๋๊ฒ ์๋์๋ค๊ณ ? ๋ฐ๋ก ์กด์ฌํ๋ ์ปดํฌ๋ํธ์๋ค๊ณ ?
๋๋ ๊ทธ๋ฐ์ค์์๋๋ฐ ๊ทธ๊ฒ๋ณด๋จ ๋ณต์กํ๋ฏ ํ๋กํผํฐ ๋ฏ์ด๋ณด๋ฉด ์ธ๋ง์ฌ๋ง์ ๋ํฐ์ค๋ธ์ ํธ๋ผ๋ ๋ฉ์๋๊ฐ ์๋๋ฐ, ์๊ฐ ์์ง์ transform ๋ฉ๋ชจ๋ฆฌ์ฃผ์๋ฅผ ์ฐพ์์ ์ ๋ํฐ ๊ฐ์ฒด๋ก ๋ํํ๊ณ ๋ฆฌํด์ํจ๋ค๊ณ ํจ.. ์ด ๊ณผ์ ์ด GetComponent๋ณด๋ค๋ ๊ฐ๋ณ์ง๋ง ์บ์ฑ๋ ํ๋์ ๋นํ๋ฉด ๋ฌด๊ฑฐ์ด๊ฐ๋ด
์๋ ์๋ GetComponent๋ก ํธ์ถํ๋ค๊ฐ ์ด์ ์ต์ ํ ๋์๋ค๊ธธ๋ ์บ์ฑ ์ํ๋๋ฐ, ํ ์คํธํด๋ณด๋ ์ฌ์ ํ ์กฐ๊ธ ๋ ๋๋ฆฌ๋๋ผ. ๊ทธ์น๋ง ์บ์ฑํ๊ธฐ ๊ท์ฐฎ๊ณ ๋ณดํต์ ์์ญ๋ง๋ฒ์ฉ ํธ์ถํ ๊ฒ๋ ์๋์ด์ ๋ ๊ทธ๋ฅ transform ๊ฐ๋ค์.
ในใ ์ด๋์ ๊ฐ ์ด์ ์บ์ฑํ์์๋ค! ํ๋๊ฑธ ์ฃผ์๋ค์ด์ ๋์ถฉ ๋ด๋ถ์ ์ผ๋ก ์บ์ฑํด์ฃผ๋๊ตฌ๋ ํ๊ณ ๋๊ฒผ๋๋ฐ.... lazy caching์ผ๋ก ์น๋ค ๊ต์ฒดํด๋์ผ๊ฒ ์ด
๋๋ ์ต๊ทผ์ ํ๋กํ์ผ๋ง ํ๋ฉด์ ์๊ฒ๋์๋๋ฐ GetComponent ์์ค์ผ๋ก ์กด๋ ์ฒ๋จน์ GetComponent๋ฅผ ์๋ฐฑ๊ฐ ์ ๋๋ง ๋๋ ค๋ ๊ฝค ์ฒด๊ฐ์ด๋๋๋ฐ ๋งคํ๋ ์ ์์น ์กฐ์์ผ๋ก ํธ์ถ๋๋ transform์ ์๊ฐํ๋ฉด ๋ฌด์กฐ๊ฑด ์บ์ฑ์ ํด์ผํ ๋ฏ private new Transform transform์ผ๋ก ํญ์ ํ๋ ์์ฑํ๊ณ ์ฌ์ฉ์ค...
์ฌ์ค transform์ Gamobject์ ๋ฌด์กฐ๊ฑด ๋ถ์ด ์๋ ์ ๋ผ Component์ ์ญ์ ์ฌ๋ถ๋ฅผ ๊ตณ์ด ํ์ธํ ํ์๊ฐ ์์๊ฒ๊ฐ์๋ฐ ์ ๋ด๋ถ์ ์ผ๋ก ์บ์ฑ์ ์ํ๊ณ ์ต์ ํ๋ฅผ ํํ๋์ง ์๋ชจ๋ฅด๊ฒ ์...
๋์ ์์ฌํจ ๊ฒจ์ฐ transformํธ์ถ์กฐ์ฐจ ์ค๋ฒํค๋์ปจํธ๋กค์ ํด์ผํ๋ค๋
์ ์ด์ c++ api ํธ์ถ์ด๋ผ ์ถ๊ฐ ๋น์ฉ์ด ์๊ธธ ์ ๋ฐ์ ์์ ์ปดํ์ผ๋ฌ๊ฐ ์ค๊ฐ์ ์๋ ์ง๋ ๋ชปํ๊ณ
๋ฒ์คํธ ์ปดํ์ผ๋ฌ๋ dots๊ฐ ๋น ๋ฅธ ๊ฒ๋ ์ด๋ฐ ๋ถ๋ถ๋ค ๊ฒฝ๊ฐํด์ค์ ๊ทธ๋ด๊ป
ecs๋ ๊ฐํ ์๋๋ ๋ชป๋ผ๊ฑฐ๊ฐ์ผ๋ ์บ์ฑ์ด๋ ์ด์ฌํ ํด์ผ๊ฒ ๊ตฐ
์ด๊ฑฐ๋ณด๊ณ ๋ฌ์์ค์บ์ ์๋ด๋ฐ์ผ๋ฌ ๊ฐ๋ค
์ฆ์ MonoBehaviour ๋์ฒด ์คํฌ๋ฆฝํธ ๋ง๋๋ ์ค
์ด๊ฑฐ ๋ณด๊ณ ๋ฌด์ง์ฑ ์บ์ฑํ์ง๋ง๋ผ... ์ค์ ๋ก ์ํํธ์จ์ด์์ ์ต์ ํ ์ค ์บ์ฑ์ด ๊ฐ์ฅ ์ ๋ต์ด ์๊ณ ์ด๋ ค์ด ๋ฐฉ์์ด๋ผ๋๋ฐ ๋์ํ๋ ์ฌ๋๋ค์ด ๋ง์. ๊ฒ์ ๋ค ๋ง๋ค๊ณ ๋์ ์บ์ฑ ์์น๋ฅผ ๊ณ ๋ฏผํ๋๊ฒ ์ฌ๋ฌ๋ชจ๋ก ์์ ํจ
๊ทธ๋ ๊ตฐ
https://medium.com/@collectivemass/unity-myth-buster-gameobject-transform-vs-cached-transform-fe42a4e47491
1.5๋ฐฐ