유니티의 UI는 크게 두가지 NGUI, UGUI
UGUI <- 유니티가 기본제공하는 UI
업그레이드 된것이 NGUI, 지금은 UGUI도 많이 좋아졌다.
그 이유는 유니티가 NGUI 개발자를 데려가서 그렇다.
Image가 여러개인데 실수를 방지하기 위해선 using UnityEngine.UI 를 써두면 됨. 그럼 보통쓰는 Image를 가져온다.
Canvas가 UI가 존재하기 위해선 필요하다. 작업할땐 UI가 대부분 2D 이기 때문에 2D버튼을 누르고 작업하면 편하다.
-SCREENSPACE-OVERLAY : 디폴트로 UI가 일반적으론 게임안의 오브젝트와 상관없이 유지되야하기 때문에 게임씬에 덮어진 렌더러 모드라고 보면된다.
-CAMERA 특정 카메라한테 캔버스를 귀속시키는 것이다.
-WORLD SPACE 일 경우 게임오브젝트와 동일한 공간에서 사용되는 모드다. 예를들어 vr게임에서 손같은 오브젝트에
hp바를 붙인다는 형식을 쓸 때 사용된다. 또는 몬스터의 hp바를 제공할 떄 사용된다. has a관계라고 봐도 무방하다.
ui는 ui전용 카메라를 두고 관리하는 경우가 있다.
캔버스 스케일러 : 캔버스에 대한 크기 조절자
constant pixel size : ui위치를 고정, 즉 해상도가 바뀌어도 그 위치에 고정.
scale with screen size : x, y축 해상도를 커스텀할 수 있다. 즉 해상도가 여러개일때 바꿔줄 때 사용한다. 여기의 match는 해상도의 확장이나 축소를 누구를 기준으로 줄여주거나 확장할지 정해주는 것, 즉 가로가 긴 화면의 게임일 경우 match를 width로 하는 것.
그런데 저 2가지 경우로도 옵션의 위치가 계속 바뀔것이다. 그럴 땐 x처럼 보이는 앵커를 사용해야 한다.
앵커를 특정위치에 저장해두면 그 위치에 이미지같은 UI가 고정이 된다. 즉 고정된 위치를 보장할 수 있다.
사용할 때 렉트트랜스폼의 앵커 프리셋을 이용하여 지정하면 된다. 바꿀때 렉트 트랜스폼의 포지션은 앵커에 대한 상대적 위치이므로 0,0을 넣어주면 그 위치로 UI를 이동시킬 수 있다. 근데 동그라미는 피봇인데 ALT와 SHIFT를 누르고 하면 피봇까지도 변경이 된다.
UI엔 앵커와 피봇이 있다. 움직이면 같이 움직이고 피봇은 어떤 중심축을 가지고 움직일 것인가이고(회전할 때도 그 피봇에 맞춰 회전) 앵커는 고정될 위치를 뜻한다. 해상도가 변할 때 앵커도 변한다.
앵커는 4개로 구성되어 있고 각각을 늘린 상태로 두면 해상도를 늘리면 UI도 늘어난다. 즉 앵커가 한곳에 몰아져있으면
그놈을 따라가서 크기가 그대로고 각각 나눠져있다면 늘어나는 것이다.
'Unity' 카테고리의 다른 글
UNITY의 DOTS (0) | 2024.02.14 |
---|---|
컴포넌트 (0) | 2023.09.21 |
[유니티] Physics (0) | 2023.09.19 |
유니티 ui와 게임오브젝트 클릭 나누기 (0) | 2023.09.05 |
유니티 string의 특별한 점 (0) | 2023.08.24 |