Unity UI는 사용자 인터페이스를 만들 수 있는 Canvas 기반 시스템
플레이어가 게임과 상호작용할 수 있도록 버튼, 텍스트, 이미지, 슬라이더 등을 배치하는 데 사용
핵심 구조: Canvas System
1. Canvas
- 모든 UI 요소의 부모
- UI는 이 Canvas 안에 자식으로 위치해야 화면에 보여짐
- 3가지 Render Mode:
- Screen Space - Overlay (카메라 무시하고 UI를 화면에 고정)
- Screen Space - Camera (카메라 기준으로 UI 렌더링)
- World Space (UI를 3D 오브젝트처럼 씀)
1-1. Canvas Scaler
UI Scale Mode | 캔버스에서 UI 요소가 스케일되는 방법을 결정합니다. |
Constant Pixel Size | UI 요소가 화면 크기에 관계없이 동일한 픽셀 크기로 유지됩니다. |
Scale With Screen Size | 화면이 커질수록 UI 요소도 커집니다. |
Constant Physical Size | 화면 크기와 해상도에 관계없이 UI 요소가 동일한 물리적인 크기로 유지됩니다. |
https://docs.unity3d.com/kr/2022.3/Manual/script-CanvasScaler.html
캔버스 스케일러 - Unity 매뉴얼
캔버스 스케일러(Canvas Scaler) 컴포넌트는 캔버스 내 UI 요소의 전체적인 스케일과 픽셀 밀도를 제어하는 데 사용됩니다. 스케일은 글꼴 크기와 이미지 경계 등 캔버스 아래의 모든 요소에 영향을
docs.unity3d.com
2. RectTransform
- UI 요소의 좌표, 크기, 정렬(anchor) 등을 설정
- Transform 대신 RectTransform을 씀
3. EventSystem
- UI 입력 이벤트(클릭, 드래그 등)를 감지하는 시스템
- 대부분 자동으로 생성되며, UI가 작동하려면 필수 요소
4. 앵커 (Anchor)
- UI 요소(RectTransform) 기준에서의 부착 지점
- 부모 객체(Canvas나 Panel 등) 안에서 어디에 기준을 잡을지를 정하는 것
- 앵커를 정하면, 화면 크기가 변해도 UI 위치와 크기가 자동으로 조정됨
📌 예시: 버튼의 앵커를 "오른쪽 아래"에 설정하면, 해상도가 바뀌어도 버튼은 항상 오른쪽 아래에 붙어있다.
- 앵커는 (0,0)~(1,1) 사이 값으로 나타냄
- (0,0) → 부모 왼쪽 아래
- (1,1) → 부모 오른쪽 위
5. 피벗 (Pivot)
- 오브젝트 자체의 중심점
- 이 중심을 기준으로 회전하거나 스케일 조정이 일어남
- 피벗은 주로 회전축, 크기 조정 시 중심을 바꿀 때 중요
📌 예시: 피벗을 (0,0)으로 설정하면, 왼쪽 아래 모서리를 기준으로 회전하거나 크기가 변함. 기본은 (0.5, 0.5) — 즉 중앙.
정리
항목 | 설명 | 주로 쓰는 상황 |
앵커 (Anchor) | 부모 공간 안에서 고정할 위치 | UI 위치 유지, 반응형 화면 |
피벗 (Pivot) | 오브젝트 자체의 중심점 | 회전, 스케일 조정 중심 |
'Unity' 카테고리의 다른 글
월드좌표, 로컬좌표 (0) | 2025.04.24 |
---|---|
리소스 데이터 관리(제네릭 T, TryGetValue, TryAdd) (0) | 2025.04.08 |
SceneManager.GetActiveScene, AddListener (0) | 2025.03.21 |
플레이어까지 거리(벡터) 구하기 (0) | 2025.03.19 |
[Resource.Load] (0) | 2024.11.13 |