Unity 사용자 매뉴얼 2022.3 (LTS)
사용자 인터페이스(UI) 생성
Unity UI를 통해 게임이나 애플리케이션의 사용자 인터페이스를 쉽게 구축할 수 있습니다. UI 요소들은 캔버스 안에 배치되며, 다양한 기능을 통해 화면에 표시될 수 있습니다.
캔버스 컴포넌트
캔버스는 모든 UI 컴포넌트의 뼈대가 되는 요소로, 다양한 UI 구성 요소가 이 안에 포함됩니다. 캔버스는 다음과 같은 주요 컴포넌트를 포함합니다:
| 컴포넌트 | 설명 |
|---|---|
| 캔버스 | 모든 UI 요소가 배치되며, UI 렌더링의 기준이 되는 컴포넌트입니다. |
| 캔버스 스케일러 | 화면 크기에 따라 UI 크기를 조정하여 다양한 해상도를 지원합니다. |
| 캔버스 그룹 | 여러 UI 요소를 그룹화하고, 함께 표시 혹은 숨길 수 있게 해줍니다. |
| 캔버스 렌더러 | 캔버스를 화면에 실제로 렌더링하는 역할을 합니다. |
| 사각 트랜스폼 | UI 요소의 위치, 회전, 크기를 설정할 수 있도록 도와줍니다. |
활용 및 응용 예제
기본 UI 제작
간단한 UI를 제작하기 위해, 캔버스를 생성하고 버튼과 텍스트 요소를 추가할 수 있습니다.
// 캔버스 생성
Canvas canvas = new GameObject("MyCanvas").AddComponent<Canvas>();
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
// 버튼 추가
Button button = new GameObject("MyButton").AddComponent<Button>();
button.transform.SetParent(canvas.transform, false);
// 텍스트 추가
Text text = new GameObject("MyText").AddComponent<Text>();
text.transform.SetParent(canvas.transform, false);
반응형 UI 구성
캔버스 스케일러를 사용하여 다양한 화면 크기에서 UI가 일관되게 보이도록 설정할 수 있습니다.
// 캔버스 스케일러 추가
CanvasScaler scaler = canvas.gameObject.AddComponent<CanvasScaler>();
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
scaler.referenceResolution = new Vector2(1920, 1080);
UI 그룹화
캔버스 그룹을 이용해 여러 UI 요소를 그룹으로 묶어, 일괄적으로 조정 가능한 장점을 활용할 수 있습니다.
// 캔버스 그룹 생성
CanvasGroup canvasGroup = new GameObject("MyCanvasGroup").AddComponent<CanvasGroup>();
canvasGroup.transform.SetParent(canvas.transform, false);
이렇게 Unity의 UI 시스템을 활용하면 게임이나 애플리케이션의 사용자 경험을 효과적으로 향상시킬 수 있습니다.