유니티 7일차] 초보자를 위한 유니티5 구이 요약정리
유니티(Unity)/Study 2018. 7. 20. 10:52 |초보자를 위한 유니티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 함수가 필요.
'유니티(Unity) > Study' 카테고리의 다른 글
유니티 Google Cardboard Sdk (0) | 2018.10.04 |
---|---|
유니티 8일차] 유니티 구이2 (0) | 2018.07.26 |
[유니티 6일차] 유니티 구이 2 (0) | 2018.07.17 |
유니티 5일차] 유니티 GUI - 1 (0) | 2018.07.16 |
유니티 4일차] Time.deltaTime (0) | 2018.07.13 |