๋ถ๋ชจ๊ฐ์๋ ์ค๋ธ์ ํธ๊ฐ ๋ถ๋ชจ๋ฅผ ๋ฐ๊ฟ๋ย ๊ทธ ์์์ ๋ก์ปฌ๋ฉํธ๋ฆญ์ค๊ฐ์ ์๋๋ฉํธ๋ฆญ์ค*์๋ก์ด๋ถ๋ชจ์์๋๋ฉํธ๋ฆญ์ค๋ผ๋๋ฐ ์ด๊ฒ ์์ด๋ ๊ฒ ๋๋์ง ์ดํด๊ฐ ์๋์ ใ ใ ย
์๋ ค์ฃผ์ค๋ถ
๋ถ๋ชจ๊ฐ์๋ ์ค๋ธ์ ํธ๊ฐ ๋ถ๋ชจ๋ฅผ ๋ฐ๊ฟ๋ย ๊ทธ ์์์ ๋ก์ปฌ๋ฉํธ๋ฆญ์ค๊ฐ์ ์๋๋ฉํธ๋ฆญ์ค*์๋ก์ด๋ถ๋ชจ์์๋๋ฉํธ๋ฆญ์ค๋ผ๋๋ฐ ์ด๊ฒ ์์ด๋ ๊ฒ ๋๋์ง ์ดํด๊ฐ ์๋์ ใ ใ ย
์๋ ค์ฃผ์ค๋ถ
์ ์์ ์ด์๋๋ค ใ ์๋๋ฉํธ๋ฆญ์ค*์๋ก์ด๋ถ๋ชจ์์๋๋ฉํธ๋ฆญ์ค์ธ๋ฒ์ค ์ ๋๋ค ์๋ชป์ ์์ด์
์์์ ์ค์ ์๋ ์์น,ํ์ ,์ค์ผ์ผ์ ๋ถ๋ชจlocalToWorld * ์์localToWorldํ๋ ฌ์ ๊ณฑํด์ ์ฐ์ถ๋จ ๊ทผ๋ฐ ์์์ ์ค์ ์์น,ํ์ ,์ค์ผ์ผ์ ์ ์งํ๊ณ ๋ค๋ฅธ ๋ถ๋ชจ๋ก ๋ฃ์ผ๋ ค๋ฉด ์ด์ ๋ถ๋ชจlocalToWorld*์ด์ ์์localToWorld = ํ์ฌ๋ถ๋ชจlocalToWorld * ํ์ฌ์์localToWorld๊ฐ ๊ฐ์์ผ๊ฒ ์ง ๊ทธ๋ผ ํ์ฌ์์localToWorld๋ฅผ ์๋ก ๊ตฌํด์ผํ๋๋ฐ ์ฝ๊ฒ BefParentLTW*BefChildLTW = NowParentLTW * NowChildLTW๋ผ๊ณ ํ์๋ ์๋ณ์ผ์ชฝ์ NowParentLTW์ ์ญํ๋ ฌ์ ๊ณฑํ๋ฉด๋จ NowChildLTW = NowParentLTWInv * BefParentLTW*BefChildLTW
๋๊ฐ๋งํ ์๋๋งคํธ๋ฆญ์ค๋ ๋ถ๋ชจ์ ์์์ ๋ก์ปฌ๋งคํธ๋ฆญ์ค ๊ณฑ์ด๋ผ, ๊ทธ๋ ๊ฒ ํด๋์๊ด์์์๊ฑฐ๊ฐ๊ธดํ๋ฐ, ๊ฐ๊ฐ์ transform๋ค์ ๊ทธ๋ฅ ๋ณธ์ธ์๋ก์ปฌ๋งคํธ๋ฆญ์ค๋ง ๊ฐ๊ณ ์๋๊ฑฐ๋ผ ๋ ๋ก์ปฌ๋ก ์ค๋ช ํ๊ฑฐ๊ณ , ์๋๋ก ํด๋ ์๊ด์์์๋ฏ
์๋๋ฉด ๊ทธ๋ฅ transform.SetParent(newParentTransform,true)ํ๋ฉด ์ ๊ณผ์ ์์์ ํด์ฃผ๋๊ฑธ๋ก ์์
์ ๊ณ ์๋ ๊ฐ์ฌํฉ๋๋ค ใ ใ ์ดํด๊ฐ ์์๋๋ค์ ๊ทผ๋ฐ LTW๋ ๋ญ์์ฝ์์ธ๊ฐ์?
ltw=localToWorldํ๋ ฌ์ธ๋ฐ ๋ ๊ทธ๋ฅ ๋ก์ปฌ๋งคํธ๋ฆญ์ค๋งํ๊ฑฐ์. ์๋ง ์ ๋ํฐ์ localToWorld๋ ๋ก์ปฌํ๋ ฌ์์๋๊ฑฐ์. ๋ถ๋ชจํ๋ ฌ*๋ก์ปฌํ๋ ฌ์ ์ญํ๋ ฌ์ด ์๋๊ฐ ์ถ๋ค
๊ฐ์ผ๋๋ค