- Today
- Total
프로그래밍 농장
UGUI [Unity] 본문
UGUI는 유니티의 공식 UI 시스템이다. 이것이 존재하기전에는 lEGACY ui가 존재햇으며, 이는 Update문에서 매 프레임마다 그려주는 방식으로 수행하였다. 이러한 방식때문에 플레이를 하기전까지는 유니티상에 어떻게 그려질줄을 확인할수없었다.
-> 그렇게 등장한 UGUI 는 UI 요소를 게임오브젝트나, 컴포넌트로서 만들어주고, 이를 게임오브젝트의 인스펙터상에서 설덩하고 확인할수있도록 구현한것이다.
기본적으로 UI 오브젝트들은 Canvas 오브젝트 내에서 그려져야한다.
아래와 같이 UI중 하나인 Image를 생성하게되면 자동으로 캔버스와 이벤트시스템이 생성된다.
EventSystem : UI에 대한 터치나 클릭등의 작업을 수행하도록 하는 것
Canvas : 모든 UI 오브젝트들을 가지고있는 '스크린'
유니티상의 1pixel(unit) = 1m
Canvas는 3가지의 렌더모드를 가진다.
1. ScreenSpace - Overlay : UI요소들이 스크린상에서만 존재하다가, 모든 3D Object가 그려진 후, 마지막으로 UI 오브젝트들을 덮어씌우는 방식으로 동작한다.
2. ScreenSpace - Camera : 캔버스가 카메라에 대응하는 3D 좌표상에서 위치값을 가지게 된다.
3. WorldSpace : 완전히 UI 오브젝트, Canvas자체를 3D 오브젝트처럼 다룰수있다 ( 좌표값, 등등.. 을 가짐 )
-> 보통은 ScreenSpace-overlay를 사용하며,
-> 파티클효과나 3d 오브젝트를 ui나 카메라상에 표현하고싶다면 ScreenSpace-camera,
-> ui요소를 증강으로서 사용하고 싶다면 WorldSpace를 쓴다.
- UI요소를 배치할때 필요한 Anchor Pivot Position 에 대한 개념
- 앵커 : UI 요소의 원점(0,0) 위치를 정한다.
- 피벗 : UI 요소 내부의 기준점을 정한다.
- 위치 : 앵커와 피벗을 기준으로 결정한 좌표
앵커 : 파란색(Canvas)를 기준으로 UI의 원점(0,0)를 정한다.
피벗 : 앵커와 달리 자기자신을 기준으로 아래와 같이 잡으며, 피벗값은 기본적으로 정중앙에 위치한다.
포지션 : 위의 앵커와 피벗에 의해서 정해지는 최종적인 위치이다.
'Unity' 카테고리의 다른 글
빌드 파일 크기 축소 [Unity] (0) | 2022.08.26 |
---|---|
유니티 정리예정 포스팅글 내용 (0) | 2022.08.24 |
쉐이더 [Unity] (0) | 2022.08.18 |
유니티 스크린샷 찍기 ( RenderTexture 조절 vs Pixel 조절 출력 ) (0) | 2022.08.16 |
Unity HDRP / URP 임포트시 발생하는 여러 에러에 관한 부분 (0) | 2022.08.10 |