Unity

Unity 물체 이동 방법

ckhyeok 2019. 11. 4. 14:11

 

 

1. transform.Position을 활용하기

transform.position += new Vector3(speed * TIme.deltaTime, 0, 0);

이 방법으로는 오브젝트에 방향을 지정해서 옮겨 줄 수 있음

 

transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);

이 방법으로는 총알이 유도탄 처럼 플레이어를 따라가게 됩니다.

 

 

2. transform.Translate를 활용하기

transform.Translate(new Vector3(speed * Time.deltaTime, 0, 0));

이 방법으로는 position+= 방법과 유사하게 이동합니다.

Vector3 dis = target.position - transform.position;
dis.Normalize();
Quaternion.LookRotation(dis);
transform.Translate(Vector3.forward * speed * Time.deltaTime);

이 방법으로는 타겟을 쳐다보며 일직선으로 총알을 발사합니다.

 

 

3. Rigidbody를 활용하기

rigidbody.velocity = new Vector3(speed, 0, 0);

이 방법으로 속도 값을 설정해 줄 수 있습니다.

rigidbody.AddForce(new Vector3(speed, 0, 0));

이 방법을 활용하면 힘을 더해주는 방식이라 정확한 움직임을 얻기는 힘듭니다.

MoveTowards를 활용한 총알의 이동

 

 

Vector3.forwards를 활용한 총알의 이동