728x90
개발을 하다보니 위와같은 문제가 발생했다. Transform을 RectTransfom 형식으로 변환할 수 없다는 에러!
문제를 해결하기 위해서 위치에 대한 것과 둘의 차이를 알아보았다.
Unity의 Position, Transform에 대해서
1. Position
3D 공간에서 오브젝트의 정확한 좌표를 정의한다.
- World Position : 게임 세계의 절대 위치를 나타낸다. `transform.position`으로 접근
- Local Position : 부모 오브젝트를 기준으로 한 상대 위치를 나타낸다. `transform.localPosition`으로 접근
만약 물리엔진과 함께 사용한다면? Rigidbody 컴포넌트의 MovePosition메서드를 통애 오브젝트의 이동을 관리하는 것이 좋다! transform.position을 변경하면 물리 작용이 처리되지 않을 수 있다.
만약 부모 오브젝트가 이동한다면? 자식 오브젝트의 World Position은 변경되나 Local Position은 변경되지 않는다.
2. Transform
게임 오브젝트에 기본적으로 포함된 컴포넌트. 위치, 회전 및 스케일을 관리한다.
- Position : 현재 위치
- Rotation : 회적( Quaternion)
- Scale : 오브젝트의 크기
Transform은 부모와 자식의 관계를 설정할 수 있어 부모 오브젝트의 변환은 자식 오브젝트에 영향을 준다.
3. RectTransform
UI요소에 사용되는 특별한 형태의 Transform이다.
- Anchors: UI 요소의 위치를 부모 요소에 상대적으로 설정하는 데 사용
- Pivot: UI 요소의 회전 및 스케일의 기준점을 설정
- Anchored Position: UI 요소의 앵커를 기준으로 한 위치
RectTransform은 Canvas 내에서 사용되고 UI 요소의 위치와 크기를 화면 크기에 맞춰 조정하는데 사용한다.
해결
당연하게도 컴포넌트 중 RectTransform을 가져왔다.
특별한 것도 아니었지만 Transform과 RectTransform의 차이를 명확하게 알고싶어서 알아봤다.
자세히 안보니까 둘이 다른것도 모르고 지금까지 자연스럽게 컴포넌트 보면서 써왔다. 오늘은 모든 것엔 이유가 있고 허투루 보지않겠다 다짐한 날이다.
'Project > 빵빵빵 타이쿤' 카테고리의 다른 글
[빵빵빵 타이쿤 개발일지] 유니티 게임 일시정지 구현하기(Time.scaleTime) (4) | 2024.10.16 |
---|---|
[빵빵빵 타이쿤 개발일지] 좌우로 이동하는 무한 레일 제작. 근데 배경 스크롤링(background scrolling)을 곁들인... (1) | 2024.10.07 |
[빵빵빵 타이쿤 개발일지] OnTriggerEnter가 인식이 안돼요;; (1) | 2024.10.07 |
[빵빵빵 타이쿤 개발일지] 2D 게임에서 UI와 배경 오브젝트의 차이와 유니티 2D 해상도 맞추기 (2) | 2024.10.02 |