GameDevelop/Unity기초쌓기

[FlappyPlane] Unity 좌표계 이해하기 - 로컬좌표 vs 월드좌표

도도돋치 2025. 5. 1. 21:07
Contents 접기
728x90

이번 글에서는 Unity에서 자주 헷갈리는 로컬(Local) 좌표 월드(World) 좌표의 차이, 그리고 localPosition position의 차이점에 대해 정리하였다.

 

📌 로컬좌표 (Local Coordinate)

  • 부모 오브젝트를 기준으로 한 상대적인 위치
  • 오브젝트가 부모 안에서 얼마만큼 떨어져 있는지를 나타낸다.
  • 부모 오브젝트의 위치나 회전이 바뀌어도, 자식 오브젝트는 상대적 위치를 유지한다.

 

📌 월드좌표 (World Coordinate)

  • Unity 전체 씬의 전역 좌표계를 기준으로 위치를 나타낸다
  • (0, 0, 0) 은 Unity 씬의 중심점(Origin)이다.
  • 부모 오브젝트와 관계없이, 절대적인 위치를 가리킨다.

 

📚 로컬포지션(localPosition)과 포지션(position)

Unity에서 Transform 컴포넌트에는 두 가지 위치 속성이 있다.

구분 설명
localPosition 부모 오브젝트 기준 상대 좌표(로컬좌표)
position 씬의 절대 좌표 (월드 좌표 기준)

 

📝 [로컬포지션] 예시

topObject.localPosition = new Vector3(0, halfHoleSize, 0); // holeSize의 반만큼 위로 이동
bottomObject.localPosition = new Vector3(0, -halfHoleSize, 0); // holeSize의 반만큼 아래로 이동
설명 

topObject bottomObject obstacle 오브젝트의 자식이다.
장애물(obstacle)이 이동할 때, 내부의 top과 bottom 오브젝트는 부모 내에서만 이동해야 한다.
만약 position을 사용하면, 매번 월드 원점(0,0,0)을 기준으로 이동하게 되어 모든 장애물이 같은 위치에 등장하는 문제가 발생한다.

 

📝 [포지션] 예시

 

transform.position = placePosition;

 

설명:
placePosition씬 전체(World) 기준의 절대 위치이다.
Obstacle 오브젝트 자체의 이동 월드좌표를 기준으로 설정해야 씬 상에서 적절한 위치에 배치할 수 있다.

 

 

 

 

요약

구분 기준 특징
로컬좌표 부모 오브젝트 기준 부모 이동/회전 시 상대 위치 유지
월드좌표 씬 전역 기준 (0,0,0) 절대 위치, 부모와 무관

 

속성 기준 설명
localPosition 부모 오브젝트 기준 위치 자식 오브젝트 이동 시 사용
position 씬(월드) 기준 위치 오브젝트 자체 이동 시 사용
728x90