Unity3D에서의 UI - Rect Transform

Published: Aug 21, 2024 by BeatChoi

Unity UI RectTransform :: 개요

UI 객체들의 위치, 크기, 기준점 등등을 담당하는 Rect Transform에 대하여 알아봅니다.

Position

이전 포스팅에서 생성한 Image UI 객체를 선택하고 우측 인스펙터창을 확인하여 Rect Transform 컴포넌트를 확인합니다. 아래 사진과 같이 PosX, PosY, PosZ 값들을 0으로 초기화 합니다.


<01. UI Image의 Rect Transform 컴포넌트>

씬 창을 확인해보면 아래와 같이 Image 객체가 Canvas 중앙에 위치한 것을 확인할 수 있습니다. 게임 창에서도 동일하게 보여지고 있습니다.

02.


사진처럼 PosX 값을 양의 숫자로 변경하면 Canvas를 기준으로 우측으로 Image 객체가 이동할 것입니다.

03. Rect Transform의 PosX 값이 양의 값일 때


사진처럼 PosX의 값을 음의 숫자로, PosY의 값을 양의 숫자로 변경하면 Canvas를 기준으로 좌측 상단으로 Image 객체가 이동할 것입니다.

04. Rect Transform의 PosX값이 음, PosY의 값이 양일 때


Anchors

Rect Transform의 PosX, PosY 값을 0으로 초기화 하면 Canvas의 중앙에 객체가 위치하는 것을 확인했습니다. 하지만 UI를 구성하다보면 원점의 위치를 필요에 따라 변경할 상황이 생깁니다. 원점을 효율적으로 변경하기 위해 anchor 기능을 활용하여 UI 객체의 기준점을 변경할 수 있습니다.

Rect Transform의 Anchor항목은 Min, Max 두개의 항목으로 나뉘어져 있고 각각의 항목은 X, Y값으로 이루어져 있습니다. 각 값의 초기값은 모두 0.5로 캔버스의 정 중앙으로 설정되어 있습니다. 이 값들을 모두 0,0,0,0,으로 변경하고 PosX, PosY 값을 0으로 초기화 하면 아래와 같이 Image 객체가 좌측 하단으로 이동하는 것을 확인할 수 있습니다.

05. Anchor 값이 0,0,0,0일 때


Anchor 값들을 모두 1,1,1,1,으로 변경하고 PosX, PosY 값을 0으로 초기화 하면 아래와 같이 Image 객체가 우측 상단으로 이동하는 것을 확인할 수 있습니다.

06. Anchor 값이 1,1,1,1일 때


Anchor의 X 값들을 모두 1,1로 변경하고 Y 값들을 0,0으로 변경한 후 PosX, PosY 값을 0으로 초기화 하면 아래와 같이 Image 객체가 우측 하단으로 이동하는 것을 확인할 수 있습니다.

07. Anchor의 X 값이 1, Y 값이 0일 때


위에서 확인한 것 처럼 Anchor의 값들을 변경함으로써 객체가 위치할 수 있는 기준점을 변경하고 해당 Anchor를 기준으로 위 아래 좌 우로 객체를 위치시킬 수 있습니다.

Pivot

Anchor가 Canvas에 UI 객체를 위치시키기 위한 기준점이라고 한다면 Pivot은 UI 객체 그 자체의 기준점입니다. 지금까지 객체의 위치점을 0,0 원점으로 배치시켰을 때 Image 객체의 중앙을 기준으로 배치되는 것을 확인할 수 있습니다.

08. Pivot의 값이 0.5, 0.5일 때


객체의 Pivot값을 0,0으로 변경하고 객체의 위치 PosX, PosY 값을 0,0 으로 초기화 시키면 아래와 같이 Image 객체의 좌측 하단 끝을 기준으로 객체가 배치되는 것을 확인할 수 있습니다.

09. Pivot의 값이 0, 0일 때


Pivot의 항목인 X,Y의 값이 의미하는 바는 Anchor의 X, Y의 것과 같습니다. X가 0이면 UI 객체의 좌측, 1이면 우측. Y가 0이면 UI 객체의 하단, 1이면 상단으로 기준점이 변경됩니다.

마무리

이번에는 Rect Transform가 가지고 있는 Parameter 중 Position, Anchor, Pivot에 대해서 알아보았습니다. Anchor는 UI 객체가 위치할 원점을 정해주는 Parameter이고 Pivot은 UI 객체 자체의 기준점을 정해주는 Parameter입니다. 그리고 X, Y 값들은 모두 작아질수록 좌측, 하단을 의미하고 커질수록 우측 상단을 의미합니다.

Latest Posts

LightshipAR SDK 활용하기 - Maps SDK의 활용
LightshipAR SDK 활용하기 - Maps SDK의 활용

ARDK Maps SDK

Lightship의 geofencing 기능을 구현할 수 있는 Maps SDK 활용법을 알아봅니다.

콘텐츠 개발

프로젝트 세팅

본 포스팅은 ARDK 3.9 버전, Maps SDK 0.4 버전을 기준으로 작성합니다. 이전 포스팅을 참조하여 SDK를 임포트 합니다.

Top Down Map

  1. 네이버 지도같은 일반적인 탑-다운 맵을 구현해 봅니다.

Unity3D에서의 UI - Rect Transform
Unity3D에서의 UI - Rect Transform

Unity UI RectTransform :: 개요

UI 객체들의 위치, 크기, 기준점 등등을 담당하는 Rect Transform에 대하여 알아봅니다.

Unity3D에서의 UI - UI의 구성
Unity3D에서의 UI - UI의 구성

Unity UI :: 개요

Unity UI는 게임 및 애플리케이션용 사용자 인터페이스를 개발하는 데 쓰이는 간단한 UI 툴킷입니다. Unity UI는 게임 오브젝트 기반 UI 시스템으로, 컴포넌트와 게임 뷰를 사용하여 사용자 인터페이스를 배열하고 위치와 스타일을 지정합니다. Unity UI는 Unity 에디터 내 사용자 인터페이스에 대해 사용할 수 없습니다.https://docs.unity3d.com/kr/2019.1/Manual/UIToolkits.html