Developer/UNITY

NGUI에서 UI기본 구조와 주요 컴포넌트

블로blow 2014. 8. 13. 14:11
728x90

2D UI는 씬에 게임오브젝트가 생기는데, 여기엔 핵심적인 2개의 컴포넌트가 연결되어 있다.

1. UIRoot

위젯을 작업하기에 적합한 크기로 줄여주는 역할을 하고, Scaling Style를 담당한다.

Scaling Style에서 텍스처의 픽셀상의 본래 크기를 유지하는 Pixel perfect가 있고, 

파라미터에 지정한 값에 따라 화면에서 비율을 유지하는 방식인 FixedSize가 있다.



2. UICamera

버튼에 붙어있는 충돌체처럼, 각 UI요소에서 발생하는 이벤트와 관련된 메세지를 보내는것이 주된 기능이다.

OnClick()이나 OnHover()등의 메소드가 있다.


파라미터

EventType : 카메라가 처리할 이벤트 유형을 결정한다.

EventMask : 이벤트를 받아들일 레이어를 지정한다.

Debug : 디버그 모드의 사용여부, UI가 의도하지 않은 방식으로 작동할 때, 유용하다.

AllowMultiTouch : 멀티 터치 입력의 허용 여부를 결정한다.

Sticky Tooltip : 사용여부 결정.

Raycast Range : 특정 지점에서 특정 방향으로 소는, 보이지 않는 가상의 선이다. 중간에 다른 오브젝트와 만날 경우 진행을 멈춘다. 충돌체를 감지한 카메라는 이벤트를 처리하기 위해 마우스나 터치 입력이 발생하는 지점에서부터 정면을 향해 가상선을 그린다. 이 때 가상선의 진행 범위를 제한하면 상호작용이 발생하는 영역을 한정 할 수 있다. 기본값이 -1을 사용하면 카메라가 볼 수 있는 영역까지 가상선의 범위가 미친다.


3. UIAnchor

카메라 뷰 상에서 게임오브젝트를 이정한 지점에 고정시키기 위해 사용한다.


4. UIPanel

Panel의 목적은 위젯을 모아서 관리하고, 하나의 드로우콜로 렌더링하는 것.


728x90