์ ๊ฐ ์ค๋ช ์ ์ ๋ชปํด์ ์์ ์์งค๋ก ๋ง๋ค์ด์์ด์
์ค๋ฅธ์ชฝ์ด ๊ฒ์ํ๋ฉด, ์ผ์ชฝ์ ์์์ ๋ณธ ํ๋ฉด์ ๋๋ค
์๋ bullet.transform.rotation = transform.rotation ์ผ๋
this๊ฐ ํญ์ ํ๋ ์ด์ด๋ฅผ ๋ฐ๋ผ๋ณด๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ฐฉํฅ์ผ๋ก ์๊ณ 3์ฐ๋ฐ์ด ํญ์ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ๋๊ฐ์
์๋ player์ target์ผ๋ก ์ก์๋๊ณ target.transform.position - transform.position ์ var๋ก ํ๋ ์ก์์ ํ๊ฑด๋ฐ์
์ผ์ชฝ ํ๋ฉด์ด ๋ฑ ์ ๊ฐ ์ํ๋ ํ๋ฉด์ ๋๋ค
ํ๋ ์ด์ด๋ฅผ ํฅํด ๊ฐ๋๋ฐ z์ถ์ ๋ณํ ์์ด
๊ทผ๋ฐ ๋ณด์๋ฉด ์์๊ฒ ์ง๋ง target.transform.position์ ์ค์๊ฐ์ผ๋ก ๋ฐ์์์ 3์ฐ๋ฐ์ด ๋ฐฉํฅ์ด ํํธ๋ฌ์ ธ์...
์ด๊ฑฐ๋ ๋๊ธ์์ ๋ฌ์์ฃผ์ eulerAngles ์ด์ฉํ๊ฑด๋ฐ ์ ๊ฐ ๋ญ ์๋ชปํ๊ฑด์ง ์์์ง์ฌ๋ 3์ฐ๋ฐ์ด ํํธ๋ฌ์ง๋๋ค...ใ ใ
์คํฌ๋ฆฝํธ ์ฒจ๋ถ
public class enemy1Frame : MonoBehaviour {
ย ย ย private Transform target;
ย ย ย float shootDelay = 3f;
ย ย ย float shootTimer = 0;
ย ย ย float patternDelay = 18f;
ย ย ย float patternTimer = 16f;
ย ย ย void Start ()
ย ย ย {
ย ย ย ย ย ย ย target = GameObject.FindGameObjectWithTag("Player").transform;
ย ย ย }
ย ย ย void Update()
ย ย ย {
ย ย ย ย ย ย ย Move();
ย ย ย }
ย ย ย void Move()
ย ย ย {
ย ย ย ย ย ย ย if (transform.position.y <= 2.5f)
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย transform.position = new Vector3(transform.position.x, 2.5f, transform.position.z);
ย ย ย ย ย ย ย ย ย ย ย if (patternTimer <= 9f)
ย ย ย ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.LookRotation(transform.position - target.position), Time.deltaTime * mapRotation.rotatingTime * 100f);
ย ย ย ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย ย ย ย if (patternTimer > 9f)
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย pattern();
ย ย ย ย ย ย ย ย ย ย ย if (patternTimer > patternDelay)
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย patternTimer = 0;
ย ย ย ย ย ย ย ย ย ย ย patternTimer += Time.deltaTime * mapRotation.rotatingTime * 10f;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย //์ผ์ ๊ฑฐ๋ฆฌ ์ดํ๋ก ๋ด๋ ค์ค๋ฉด ๋ฉ์ถ๊ณ ํ๋ ์ด์ด๋ฅผ ํฅํด ๋ฐ๋ผ๋ด + ํจํด์คํ(ํจํด์คํ์ค์๋ ํ๋ ์ด์ด๋ฅผ ๋ณด๋๊ฒ์ ๋ฉ์ถค)
ย ย ย ย ย ย ย if (transform.position.y > 2.5f)
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย transform.Translate(Vector3.back * Time.deltaTime * 5 * mapRotation.rotatingTime);
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย //์ผ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ ๋๊น์ง ๋ด๋ ค์ด
ย ย ย }
ย ย ย void pattern()
ย ย ย {
ย ย ย ย ย ย ย if (shootTimer > shootDelay)
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย BulletSetting1(enemyObjManager.Call().GetObject("Bullet"));
ย ย ย ย ย ย ย ย ย ย ย shootTimer = 0;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย shootTimer += Time.deltaTime * mapRotation.rotatingTime * 10f;
ย ย ย }
ย ย ย void BulletSetting1(GameObject _bullet)
ย ย ย {
ย ย ย ย ย ย ย if (_bullet == null) return;
ย ย ย ย ย ย ย _bullet.transform.position = transform.position;
ย ย ย ย ย ย ย _bullet.transform.rotation = transform.rotation;
ย ย ย ย ย ย ย _bullet.SetActive(true);
ย ย ย }
}
์ ๋ง์ง๋ง ์์งค์ ๋๋ฒ์งธ๊บผ๊ฐ ์์๋ค์...์ฃ์กํฉ๋๋คใ
์์ ๋๊ฐ ์์งค์ ๊นจ์ ธ์ ์๋ณด์ด๊ตฌ์ผ ใท ์ ๊นจ์ง๋๊ฑด ๋กํ ์ดํธ๋ฅผ ์ ๋ฐ์ดํธ ๋ฌธ ๊ฐ์๋ฐ ์ฌ๋ ค๋์ ๊ทธ๋ฐ๊ฑฐ ๊ฐ๋ค์ผ rotate๊ฐ์ ๊ณ ์ ์ํค๋ ๊ฐ์ด ์๋๋ผ + ์ํค๋ ๊ฐ์ ๋ณด๋ด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์๋ ค๋ฉด ํ์ ๊ฐ์ 0,0,0 ์ผ๋ก ์ด๊ธฐํ ์ํจ๋ค์์ ํ๋ฒ๋ง ์ ์ฉ์ ์์ผ์ค์ผ ๋์ผ ใ ใ /
๋ฐ์ฌ์ค์ผ๋๋ง true๋๋ bool ๋ง๋ค์ด์ ํ์ ํ๋๋์์ if๋ฌธ์ ์ง์ด๋ฃ๋๊ฑด ์ด๋ฐ
์...์ด๊ธฐํ๋ฅผ ์ํค๋ผ๋๊ฑด ์ด๋ป๊ฒ ํด์ผํ๋ ๊ฑธ๊น์...์ด ์๋๊ฑธ pattern()์ ๋ฃ์ด๋๊ณ update()์ pattern()์ ๋ฃ์ด๋จ๊ฑฐ๋ ์...ํ์ ๊ฐ์ 0, 0, 0์ผ๋ก ํ๋ผ๋๊ฑด transform.eulerAngles = new Vector3(0, 0, 0); ์ด๋ฐ์์ผ๋ก ํ๋ผ๋ ๋ง์์ธ๊ฐ์?
์์ ์คํฌ๋ฆฝํธ๋ฅผ ํ๋ฒ ์ฒจ๋ถํด๋ณผ๊ฒ์ ์ ๊น๋ง์
์ค์ ๋ก 000 ๊ฐ์ ์ฃผ๋ผ๋๊ฑฐ์๋ค๊ธฐ ๋ณด๋จ.... 0,0,0์ธ ์ํ์๋ค๊ฐ ๊ฐ์ ํ๋ฒ๋ง ์ ์ฉ์ํค๋ผ๋ ๊ฑฐ์์ง์ผ ใ ใ /
_bullet.transform.rotation = transform.rotation; ์ด๋ถ๋ถ์์ z ๊ฐ์ ๋นผ๊ณ ์ถ์ผ์๋ค๋๊ฑฐ์ฃ ??? void BulletSetting1(GameObject _bullet) { if (_bullet == null) return; _bullet.transform.position = transform.position; _bullet.transform.Rotate(new Vector3(this.transform.eulerAngles.x, this.transform.eulerAngles.y, 0)); _bullet.SetActive(true); }
๋ฐ๊พธ๋๊น z๊ฐ์ ๋ฌด์กฐ๊ฑด 0 ๋์ค๋๋ฐ์ผ ใทใทใท???
inspector์์ผ๋ก๋ z๊ฐ 0์ด ๋ง๋ค์...๊ทผ๋ฐ ์ ๋ ์๊ฐ๋๊ฒ ์ ๋ฌ์งใ ใ - dc App
์ฃ์ก์ฌ....์์งค์ ๋ด๋ ๋ญ๊ฐ ์๋ชป๋๊ณ ๋ญ ๊ณ ์น๊ณ ์ถ๋ค๋์ง๋ฅผ ๋ชจ๋ฅด๊ฒ ์ด์ผ ใ ใ ;;;;
์ ๊ทธ๋ฌ๋ฉด ์์ ๋ฐฉํฅ์ ๋ฐ๊ฟ์ ์ง๋ฌธ๊ธ ํ๋๋ง ๋ ์จ๋ณผ๊ฒ์ ๊ฐ์ฌํฉ๋๋น!
๊ทผ๋ฐ ์ ์ด๋ ํ๋ ์ด์ด๋ ์ ๊ฐ์ ํ๋ฉด์ด ์๋? ์ด๋ฌ๋ฉด ๋ฃฉ๋กํ ์ด์ ๊ฐ์๊ฑฐ ์ฐ๋ฌ๋ฉด ๋ฐ๋ก ๋ชป ๋ฃ๊ณ ์ ๋ง๋ ํ๋ฉด์ ์ ์ธํด์ ๋ฃ์ด์ผ ๋ง๊ฒ๋จ.
๊ทธ๋ฅ transform.position ์กฐ๊ธ ๋ฐ๊ฟ์ ์ํํธ๋ฌ์ง๊ฒ ๋ง๋๋๋ฐ ์ฑ๊ณตํ์ด์! ํ๋ ์ด์ด๊ฐ ๋นจ๋ฆฌ์์ง์ด๋ฉด ์กฐ๊ธ ๋ฐฉํฅ์ด ์๋๊ฐ๊ธฐ๋ ํ๋ฐ ์๊ทธ๋ฌ๊ธฐ๋ฅผ ๋ฐ๋ผ์ผ์ฃ ...๋์ค์ ๋ค์ ๊ณ ์ณ๋ณด๊ฑฐ๋
ํ๋ ์ด์ด ํํธ๋ฐ์ค๊ฐ ์ธ๋ก๋ก ๋ฌด์งํ๊ฒ ๊ธธ์ด์ ๊ด์ฐฎ์์ ์ปจ์ ์ด ํ๋ฉด๋๋ฆฌ๋ ๊ฑฐ๋ผ์ ๋์๊ฐ์๋ ์ด์์ ํผํ๊ฒํ๋ ค๋ฉด ์ด์์ด z = 0์ผ๋ก ๋๊ฐ์ผํด์...๋์ค์ ๊ฐ๋ฐ์ผ์ง์ ์ ์ด๋๋ฆด๊ฒ์!
ใ ใ ใ ํ์ดํ ์ ๋๋ค ๋์์ด ๋ณ๋ก ๋ชป๋๊ฑฐ ๊ฐ์์ ๋ฏธ์ํ๋ค์ผ ใ ใ /
์์ด ์๋ ์ ์ ๊ฐ ์พ๋ฆฐ์ด๋ผ ์ค๋ช ์ ์ ๋ชปํด์ ๊ทธ๋ฝ๋๋ค ๋์์ฃผ๋ ค๊ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋นใ ใ - dc App
์ด์ ํธ์ถ -> ํ๋ ์ด์ด ์์ง์ -> ์ด์ ํธ์ถ -> ํ๋ ์ด์ด ์์ง์ -> ์ด์ ํธ์ถ ์ด๋ ํ๋ ์ด์ด ์์ง์์ ์ํด transform.position์ด 1,2,3์ ๋ค๋ฅธ ๊ฐ์ด ๋์ด๊ฐ์ ๊ทธ๋ฌ๋ ๊ฒ ๊ฐ์๋ฐ ์ด์์ด ์์๋ transform.position์ ํ๋ฒ๋ง ๊ฐฑ์ ํ์