์ฐธ๊ณ ํ๋ผ๊ณ ๊ณต์ ํ๋ค.
๋ฐ์ฌ์ฒด๋ฅผ ๊ตฌํํ๋ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.
๋ฐ์ฌ์ฒด์ ์์ฑ ์์น๊ฐ ๋ ๊ณณ ์ค์ ๋๋ค์ผ๋ก ํ๊ณณ์ด ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.
๊ทธ๋์ ๋ฌธ์ ์ ์์ธ์ ์ฐพ๊ณ ์ ๋ชจ๋ ์ฝ๋๋ฅผ ์ฃผ์์ฒ๋ฆฌํ๊ณ
์ค๋ธ์ ํธ ํ ์ฝ๋๋ ์ ๊ฑฐํ๊ณ ํ ์คํธ๋ฅผ ์งํ
์์ฑ ๋น์์ ์์น ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋ฌธ์ ๊ฐ ์์. ํ์ง๋ง ๋๋ ์ค๋ธ์ ํธ ํ์ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก ์๋์ฒ๋ผ ์์ฑ ๋น์์๋ ์์น๊ฐ์ ๋ฃ์ด์ค ์๊ฐ ์์.
GameObject projectile1 = Instantiate(TEST, ShootPosition.position, Quaternion.identity);
projectile1.GetComponent<Projectile>().InitProjectile(target, this, "TEST");
์ค๋ธ์ ํธ ํ์ ์ฌ์ฉํด์ผ ํ๋ ์์ฑ ๋น์์๋ ์์น ๊ฐ์ ๋ฃ์ด์ฃผ์ง ์๊ณ ๊ทธ ๋ค์ ์ค์์ ์ข๋ฃ๋ฅผ ์ง์ ํด์ค.
๋ชจ๋ ์ฝ๋๋ฅผ ์ฃผ์์ฒ๋ฆฌํ๊ณ ์๋ ๋์ค๋ง ๋ฃ๊ณ ํ
์คํธ๋ฅผ ์งํํจ. ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์.
์ฌ๊ธฐ์ ์คํฌ๋ฆฝํธ ๋ฌธ์ ๊ฐ ์๋์ ํ์ ํจ.
GameObject projectile2 = Instantiate(TEST);
projectile2.transform.position = ShootPosition.position;
๊ทธ ๋ค์์ผ๋ก ๋ฆฌ์ง๋๋ฐ๋ ์ชฝ์ ํ๋์ฉ ๊ฑด๋ค์ฌ๋ด.
( Transform์ผ๋ก ์ด๋์ํค๋๊ฑฐ๋ณด๋ค rigidbody์์ is Kinematic์ ์ฒดํฌํ๊ณ rb.velocity ๋๋ rb.MovePosition์ผ๋ก ์ด๋์ํค๋ ๊ฒ์ด ํจ์ฌ ์ ๋ ดํ๋ค๊ณ ํด์ rigidbody๋ก ์ด๋์ํด)
๋ฌธ์ ์ ์์ธ์ Interpolate ์์.
์์ง์์ ๋ณด๊ฐํด์ฃผ๋ ์ต์ ์ธ๋ฐ ์์ฑ ํ ๋ค์ projectile2.transform.position = ShootPosition.position;
์ฝ๋์์ ์ ์ต์ ๋๋ฌธ์ ์์ง์์ด ๋ณด๊ฐ๋์ด๋ฒ๋ ค์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.
์.. ๊ทธ์ง๊ฐ๋ค.. ์ด๊ฑฐ ๋๋ฌธ์ ๋ช์๊ฐ์ ๋ ๋ฆฐ๊ฑด์ง...ย
์คํ๋ฌ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ ๊ฒ ๋นจ๋ฆฌ ๊ณ ์น๊ฑฐ์ ๊ฐ์ฌํด์ผ ํ๋..
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
Instantiate ์์ ์์น๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ค๋ธ์ ํธ ํ์ ๋๋ฆด ์ ์์์..
rb.Position ์ผ๋ก ํ๋ฒ ํด๋ณผ๊ฒ
rb.Position ์ผ๋ก ํ๋๊น ๋ฌธ์ ๊ฐ ์๋ค. ์คํธ๋ผ...
MovePosition์ ์ฌ์ฉํ๋ฉด ๊ทธ์ชฝ์ผ๋ก ์ด๋ํ๋ผ๋๊ฑฐ์์? 0, 0, 0์์ MovePosition(์์น)๋ก ๋งคํ๋ ์๋ง๋ค ์ด๋ํ๋๊ฑฐ ์๋์ผ? Position์ ์๊ฐ์ด๋์ฒ๋ผ ๋๋๊ฑฐ๊ณ ?
์ค์.. ๋๋ถ์ ๋๋ ๋ฐฐ์๊ฐ~