본문 바로가기

▶Programming/Unity

월드좌표 vs 상대좌표

월드좌표 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)

cs

다시 말해 프레임 당 z방향으로 1씩 움직이는 함수를 편하게 구현해 놓은 함수가 Translate



2. 오브젝트 회전


1)transform.rotation :월드 죄표 회전


ex)transform.rotation=quaternion.euler(50f,0,0);


2)transform.rotate: 상대좌표 회전

ex)transform.rotate(0,1,0);