[Unity] 핵심 모음
[ Panel ]
(1) UI Root 컴포넌트
- Scaling Style
> Felxible : 어떤 해상도의 디바이스에서든 정해진 UI 크기를 유지
> Constrained : 어떤 해상도의 디바이스에서든 정해진 UI 크기 비율을 유지
> ConstrainedOnMobiles : 데스크탑 - Felxible, 모바일 - Constrained 기능 적용
(2) UI Panel 컴포넌트
- Alpha (자식 UI들의 Alpha를 컨트롤)
- Depth (패널의 렌더링 순서를 결정)
- Clipping (클리핑은 패널 영역을 설정하고, 그 영역 밖은 렌더링 않는 기능)
> None : 클리핑을 지정하지 않는다.
> Texture Mask : 이미지를 선택하여 패널에 마스크를 씌운다.
> Soft Clipping : 패널 영역 지정하고 클리핑한다. + 외곽부분은 Softness 값으로 흐려지게 한다.
> Constrain But Dont Clip : 패널 영역은 지정하지만 클리핑하지 않는다.
(3) Advanced Option
- Render Q : 오브젝트를 렌더링하는 우선순위를 설정한다
- Sort Order : 같은 Depth에서의 렌더링 순서를 결정한다.
- Normal : 패널이 빛의 영향을 받게할 것인지 결정한다.
- Cull : ScrollView 패널에서 성능향상을 위한 옵션으로, 패널이 드래그되는 동안 자식들을 렌더링하지 않는다.
- Visible : 패널의 자식들이 화면에 담기는지 계산하여 렌더링을 해줄 것인가를 결정하며, 자식들이 화면 밖으로 나가지않는다면 해당 옵션을 off하여 성능을 높일 수 있다.
- padding : 패널의 경계 부분을 부드럽게 해준다.
- Static : 패널의 자식들이 움지이지 않는 경우, Position, Rotation, Scale을 계산하지 않도록하여 성능을 높일 수 있다.
[ Atlas ]
(1) 개요
게임에 사용되는 수 많은 텍스쳐들을 하나로 묶어 관리, 사용함으로써 각 텍스쳐를 호출하는데 소모되는 비용을 줄여 프로그램의 성능을 높여준다.
일반적으로 '드로우 콜'이라고하는 텍스쳐를 불러오는데 필요한 과정의 수를 줄이는게 목적이다.
(2) 생성
선택창 NGUI -> Open -> Atlas Maker
Atlas Maker 창 -> new -> Texture 선택 -> Create 클릭 -> 아틀라스 파일을 저장할 경로 지정 -> 저장 경로에 생성된 파일 확인.
(3) 추가
선택창 NGUI -> Open -> Atlas Maker
Atlas Maker 창 > new -> Texture 선택 -> Add/Update 클릭
(4) 삭제
선택창 NGUI -> Open -> Atlas Maker
Atlas Maker 창 -> 삭제할 Texture 오른쪽에 있는 'X버튼 + Delete버튼'을 누른다.
[ Sprite ]
(1) 개요
NGUI에서의 Sprite는 단순 이미지 뿐만 아니라, 버튼이나 스크롤뷰 등 다양한 UI를 구현할 수 있는 핵심 UI이다.
(2) 생성
선택창 NGUI -> Create -> Sprite
단축키 : Alt + Shift + S
(3) UI Sprite 컴포넌트
- Atlas : 사용할 Atlas 선택
- Sprite : 사용할 Sprite 선택
- Size : 사이즈 결정(단위 :pixel)
- Type
> Simple : 일반적인 스프라이트의 성질을 가지며 스케일링 시, 텍스쳐의 모든 픽셀이 똑같이 스케일링된다. => 왜곡 및 선명도가 떨어진다.
> Sliced : 일반적으로 나인슬라이스, 나인패치로 불리는 것들과 흡사한 기능으로, 스프라이트를 9등분(T, B, L, R, TL, TR, BL, BR, Center)하고 스케일링 시, Center 부분만 조정되도록하여 외곽을 가지는 박스나 말풍선같은 텍스쳐의 왜곡 및 선명도를 유지할 수 있다.
> Tiled : 스프라이트를 타일처럼 표현한다.
> Filled : 스트라이트를 채우는 방향(수직, 수평 등 5가지 타입)을 정하여 Fill Amount(0 ~ 1) 값에 따라 픽셀을 채운다. 예) '수직 + 0.5 + dir(->)' => 이미지를 왼쪽부터 오른쪽으로 50%(0.5)만큼 채워서 보여준다. (좌측 절반만 보여진다.)
> Advanced : Sliced의 상위 기능으로 9등분된 (T, B, L, R, TL, TR, BL, BR, Center)를 각각 제어할 수 있다.
- Flip : 상하 좌우 뒤집기
- Color Tint : 스프라이트의 기본 색상을 정한다.
- Pivot : 말그대로 이동, 회전 등의 기준이되는 피벗(기준점)을 의미
- Depth : 같은 깊이에 있는 UI들과의 렌더링 순서를 결정
- Snap : 스프라이트를 오리지널 사이즈로 되돌린다. 주로 사이즈나 스케일링이 잘못됐을 때, 처음 상태로 복구하기 위해 사용한다.
[ Label ]
(1) 생성
선택창 NGUI -> Create -> Label
단축키 : Alt + Shift + L
(2) UI Label 컴포넌트
- Font : Text의 폰트를 선택한다.
- Size : 텍스트 사이즈를 정한다.
- Text : 텍스트를 입력한다.
- Modifier
> None : 옵션을 선택하지 않는다. 텍스트를 그대로 출력
> To Uppercase : 영문자를 대문자로 출력
> To Lowercase : 영문자를 소문자로 출력
> Custom : None과의 차이점을 모르겠다.
- Overflow
> Shrink Content : 텍스트의 크기가 라벨 영역보다 벗어날 정도로 커질 수 없게 막는다.
> Clamp Content : 라벨 영역을 벗어난 텍스트를 보여주지 않는다.
> Resize Freely : 텍스트의 크기에 맞춰서 라벨 영역이 늘어나거나 감소한다.
> Resize Height : 현재 라벨의 width가 고정된 상태로 텍스트에 맞춰 Height가 늘어나거나 감소한다.