초보자를 위한 유니티5 입문


Rect Transform

속성

설명

Pos X, Pos Y, Pos Z

X축, Y축, Z축의 Anchor에서 Pivot의 위치 정보

Width

UI의 폭

Height

UI의 높이

Rotation

UI의 회전 정보

Scale

UI 자체 크기

Anchor

UI 오브젝트를 Canvas에 배치할 때의 기준점

Pivot

UI의 위치나 회전의 기준점

- uGUI 전용 Transform


 

Canvas의 Render Mode

-> Canvas의 Canvas 컴포넌트의 Render Mode에서 UI 렌더링 설정을 할 수 있다.

Screen Space-Overlay, Screen Space-Camera, World Space


 

-Screen Space-Overlay

-> UI가 게임 화면의 가장 앞에 렌더링 되는 모드이다.

이 옵션을 선택하면 항상 맨 앞에 UI가 그려지게 되어 UI와 다른 오브젝트 사이의 그리기 순서를 지정할 수 없다. 또한 이 모드에서는 카메라를 제거하고 다른 오브젝트가 하나도 없더라도, UI 오브젝트는 표시된다.


 

-Screen Space-Camera

-> 카메라를 지정하여 그 카메라에서 UI를 그리는 모드이다.

카메라는 Render Camera에 Main Camera외에 UI용 카메라를 따로 준비한다.

Main Camera 및 UI용 카메라의 그리기 순서를 설정할 수도 있어서 UI 오브젝트를 다른 오브젝트 뒤에 표시가 가능.


 

-World Space

-> UI 오브젝트가 가른 오브젝트와 마찬가지로 X, Y, Z를 기준으로 배치되는 모드이다.

이 렌더링 모드에서는 다른 오브젝트와 마찬가지로 텍스트를 회전시키거나, 깊이를 적용하여 표시할 수 있다.



 

UI 오브젝트

UI 오브젝트

설명

Panel

게임 화면 전체에 이미를 표시하는데 사용.

Raw Image

텍스처 리소스를 사용하여 이미지를 표시.

Image

스프라이트를 사용하여 이미지 리소스를 표시.

Button

클릭되었을 때 액션 이벤트를 발생시키기 위해 사용.

Text

텍스트를 표시.

Slider

설정된 최솟값과 최댓값 사이의 값을 입력받거나 속성값으로 사용.

Toggle

선택 항목의 체크 여부를 지정하기 위해 사용.

Scrollbar

설정된 최솟값부터 최댓값 사이의 값을 입력받거나 진행 상황을 표시.

Canvas

Canvas를 추가.(복수의 Canvas를 추가할 수도 있다.)



컨트롤(Controls)

 

Label : 텍스트와 이미지를 표시할 수 있다.

- GUI.Label 함수의 첫 번째 이수는 그리는 위치와 범위를 Rect 클래스로 지정. 두 번째 인수는 표시하고 싶은 텍스트와 텍스처를 지정.

(텍스트와 택스처를 함께 표시하고 싶을 때는 GUIContent 클래스로 모아서 지정 가능)


void OnGUI{

 GUI.Label(new Rect(10, 10, 50, 50), "Label");

 GUI.Label(new Rect(10, 70, 50, 50), texture);

 GUI.Label(new Rect(10, 130, 50, 50), new GUIContent("Label", texture));

 } 

 

 

Box : Label과 마찬가지로 텍스트와 이미지를 표시한다.

- 배경 이미지 위에 표시 가능.

void OnGUI{

 GUI.Box(new Rect(10, 10, 50, 50), "Label");

 GUI.Box(new Rect(10, 70, 50, 50), texture);

 GUI.Box(new Rect(10, 130, 50, 50), new GUIContent("Label", texture));

 }

 

Button : 버튼 배경이 있는 텍스트와 이미지를 표시할 수 있다.

- 동시에 화면에서 Rect 클래스로 지정한 버튼 영역을 누르면 true가 반환.

void OnGUI{

 if(GUI.Button(new Rect(10, 10, 50, 50), "Button"))

 Debug,Log("Push Button 1");

if(GUI.Button(new Rect(10, 70, 50, 50), texture))

Debug,Log("Push Button 2");

if(GUI.Button(new Rect(10, 130, 50, 50), new GUIContent("button", texture)))

Debug,Log("Push Button 3");

}

 

RepeatButton : 버튼 영역을 누르는 동안 항상 true를 반환.

void OnGUI{

if(GUI.RepeatButton(new Rect(10, 10, 50, 50), "RepeatButton"))

Debug,Log("Push Button 1");

if(GUI.RepeatButton(new Rect(10, 70, 50, 50), Repeattexture))

Debug,Log("Push Button 2");

if(GUI.RepeatButton(new Rect(10, 130, 50, 50), new GUIContent("Repeatbutton", texture)))

Debug,Log("Push Button 3");

}


 

TextField : 한 줄짜리 텍스트 입력란을 표시한다.

- 인수에는 입력란에 표시할 텍스트를 지정한다. 반환 값으로 항상 입력란의 문자열을 돌려준다.


 

TextArea : 여러 행으로 된 텍스트 입력란을 표시.


 

PasswordFild : 표시할 문자열을 지정한 문자로 모두 치환해서 표시.

- 암호를 입력할 때 사용.


 

Toggle : On/Off 체크박스가 딸린 Label을 표시.

- 인수로 선택 상태를 지정할 수 있다. 반환 값은 현재 상태를 반환.


 

Toolbar : 버튼 여러 개를 한 행에 가로로 표시한다.

- 버튼 여러 개 중에서 항상 버튼 하나를 선택한 버튼 그룹.

표시할 내용을 인수로 지정할 때 string 배열이면 텍스트, Texture 배열이면 이미지,

GUIContents 배열이면 텍스트와 Texturn가 혼합 된 버튼을 표시 가능

반환값은 선택된 버튼 인덱스.


 

SelectionGrid : 옆으로 나열한 버튼 수를 지정해서 버튼을 여러 개의 열로 표시.

- 그 밖의 동작은 Toolbar랑 동일.


 

Slider / Scrollbar

- 손잡이 부분(노브)을 수평 방향이나 수직 방향으로 밀어 지정한 범위 내에서 float값을 조작하는 바이다.

Slider는 노브 크기가 고정되어 있지만, Scrollbar는 노브의 크기를 변경 가능.


 

Window : 팝업 창을 나타낸다.

- Window에서는 Window끼리 식별할 수 있는 ID 번호와 Window내에 표시할 내용을 적은 Window 함수가 필요.

 

 

 

Posted by 테루키스
: