๋ฌธ์ : ๋ฐ์ฌ์ฒด๊ฐ ์์ฑ๋๋ ์์น๊ฐ ๋๊ตฐ๋ฐ๋ก ๋๋คํ๊ฒ ์ง์ ๋จ.
ย // ์์ฑํ ๋ค์ ์์น๋ฅผ ์ง์ ํ ๋ค์ ๋ฐ์ฌ์ฒด๋ฅผ ์ด๋์ํค๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.ย
ย // ๋ฐ์ฌ์ฒด๋ย InitProjectile()์์ isMove๋ฅผ true๋ก ๋ณ๊ฒฝํด์ผํจ ์ด๋์ด ์์๋จ.
ย ย ย ย GameObject projectile2 = Instantiate(TEST);
ย ย ย ย projectile2.transform.position = ShootPosition.position;
ย ย ย ย projectile2.GetComponent<Projectile>().InitProjectile(target, this, "TEST");
ย ย ย ย // ์์ฑํ ๋ ์์น๋ฅผ ์ง์ ํ๋ฉด ์ ์ ์๋ํจ.
ย ย ย ย // GameObject projectile1 = Instantiate(TEST, ShootPosition);
ย ย ย ย // projectile1.GetComponent<Projectile>().InitProjectile(target, this, "TEST");
์ค๋ธ์ ํธ ํ์ ์ฌ์ฉํ๋ฏ๋ก ์์ฑํ ๋ ์์น๋ฅผ ์ง์ ํด์ค์๊ฐ ์์. OnEnable์ด ๋ ๋ค์์ ์์น๋ฅผ ๋ณ๊ฒฝํด์ค ์๊ฐ ์์.
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
Hero ์ค๋ธ์ ํธ์ ์์์ผ๋ก ๋ชจ๋ธ์ค๋ธ์ ํธ์ ShootPosition ์ด ์กด์ฌํ๋ ๋ฐฉ์..
GameObject projectile1 = Instantiate(TEST, ShootPosition); << ShootPosition์ ์์์ผ๋ก ๋ค์ด๊ฐ๋ค๊ตฌ???
Instantiate(Object original, Vector3 position, Quaternion rotation); ์ผ๋ก ํด๋ ๋ฌธ์ ๊ฐ ์๋๊ฑธ ๋ด์๋ ์์ ์ฌ๋ถ๋ ์๊ด์๋๋ฏํ๋ฐ...
๋ชจ๋ธ ์ค๋ธ์ ํธ์ ์ค์ผ์ผ์ด 0.5 0.5 0.5 ๋ก ํ๊ฑฐ๋ ์๊ด์ด ์๋๊ฑด๊ฐ... ShootPosition๊ฐ ๋ชจ๋ธ์ ์์์ค๋ธ์ ํธ๋ ์๋๋ฐ ์.. ๋ฏธ์น๊ฒ ๋ค
public void InitProjectile(Hero target, Hero owner, string projectileName) { this.owner = owner; this.target = target; this.projectileName = projectileName; isMove = true; }
private void FixedUpdate() { if (target == null && isMove == false) return; MoveProjectile(); if(IsArrival()) HitTarget(); }
protected override void MoveProjectile() { if (target == null) return; Vector3 moveVector = (target.transform.position - transform.position).normalized; rb.velocity = moveVector * moveSpeed; }
Projectile์ ๋ณ๋ค๋ฅธ ์ฝ๋๊ฐ ์์..
๋๋ฒ๊ทธ๋ก๊ทธ์์ ์ํฌ์ง์ ์์น๋ก ๋ณ๊ฒฝ๋๋๊ฑฐ ํ์ธํ๊ธด ํจ... ์ํฌ์ง์ ์ด ์๋ชป๋๊ฑฐ๋ฉด ์๋ชป๋ ์์น๋ก ๊ณ์ ๋ฐ์ฌ๋์ด์ผ ํ๋๋ฐ ๋๊ตฐ๋ฐ ์ค์ ํ๊ตฐ๋ฐ๋ก ๋๋ค์ผ๋ก ์์น๊ฐ ์กํ.. - dc App
๋๋ฒ๊ทธ ์ฐ์ด๋ด
๋๋ฒ๊ทธ ์ฐ์ผ๋ฉด ShootPosition ์์น๋ก ๋ฐ๋ ํ์ Init๋ก ๋์ด๊ฐ..
projectile2.transform.position = ShootPosition.position; ํ ํ์ shootPosition.position ์ ๋๋ฒ๊ทธ๋ก ์ฐ์ด๋ณด๋ฉด ์ธ์ ๋ ์ผ์ ํ ๊ฐ์ด ๋์ด?
์ธ์ ๋ ๊ฐ์ ๊ฐ.... ์ด๋ฏธ ์ฐ์ด๋ด ใ - dc App
๊ทธ๋ผ InitProjectile๊ณผ MoveProjectile ์์์ transform.position.y ๋ฅผ ๋๋ฒ๊ทธ๋ก ์ฐ์ด๋ด y์ถ ๊ฐ์ด ์ผ์ ํ์ง ๋ง์ฝ y์ถ๊ฐ์ด ์ผ์ ํ๋ค๋ฉด ํํธ ๋ฐ์ฌ์ฒด๊ฐ ํํฐํด๋ก ๋ณด์ด๋๋ฐ ํํฐํด์ด ๋๋คํ ์์น๋ก ์์ฑ๋๊ณ ์์์ง๋..
๊ทธ๋ฆฌ๊ณ MoveProjectile() ์ moveVector์ y์ถ ๊ฐ๋ ํ์ธํด๋ณด๊ณ ..
์ง ๊ฐ์ ํ์ธํด๋ทธ๊ฒ ๊ณ ๋ง์ก - dc App
์ฌ๋ ํ์ฅํ๋๊ฒ ๋ฐ์ฌ ์์น๊ฐ ํ๊ฒฐ๊ฐ์ผ๋ฉด ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋๊ตฐ๋ฐ ์ค์ ๋๋ค์ผ๋ก ํ๊ตฐ๋ฐ๊ฐ ์ ํ๋จ.. - dc App