월드좌표 vs 상대좌표
1. 오브젝트의 이동
1)transform.position=vector : 월드 좌표계에서의 위치값
ex)transform.position= new vector3(1,1,1); 을 하게 되면 오브젝트는 1,1,1에 위치함.
매 프레임마다 항상 위치는 1,1,1
그냥 월드좌표계를 절대 좌표로 생각하면 편할 듯. 이 험난한 유니티 세계에서 절대 바뀌지 않는 기준이 되는 좌표
로컬 좌표는 해당 게임오브젝트의 고유의 좌표를 지칭.
2)transform.translate((vector)) : 상대좌표로서 현재의 위치에 파라미터 값 만큼 이동
void Update(
ex) transform.translate(new vector3(1,1,1)); 을 ㅎ ㅏ게 되면 현재 오브젝트가 1,1,1에 있을 때,
매 프레임 마다 위치는 현재위치에서 1,1,1씩 이동하게 된다.
1 2 3 4 5 | void Update(){ transform.position += new Vector3(0,0,1); } //위의 로직과 아래 로직은 같은 것. transform.Translate(Vector3.forward) |
다시 말해 프레임 당 z방향으로 1씩 움직이는 함수를 편하게 구현해 놓은 함수가 Translate
2. 오브젝트 회전
1)transform.rotation :월드 죄표 회전
ex)transform.rotation=quaternion.euler(50f,0,0);
2)transform.rotate: 상대좌표 회전
ex)transform.rotate(0,1,0);