Unity 매뉴얼: UI 요소 생성
이 문서는 Unity의 사용자 인터페이스(UI) 요소를 만드는 방법에 대한 정보를 제공합니다. Unity에서는 다양한 UXML 요소를 사용하여 UI를 구성할 수 있습니다.
UXML 요소
UXML은 Unity의 UI Toolkit에서 사용자 인터페이스를 정의하는 XML 기반의 마크업 언어입니다. 여기서는 TwoPaneSplitView
, TreeView
, UnsignedIntegerField
와 같은 주요 UXML 요소에 대해 설명합니다.
TwoPaneSplitView 요소
TwoPaneSplitView
는 두 개의 패널로 구성된 분할 뷰입니다. 이 요소는 사용자가 가로 및 세로 두 방향으로 UI를 나누는 데 사용됩니다.
속성
속성 이름 | 타입 | 설명 |
---|---|---|
fixed-pane-index | int | 첫 번째 자식 요소를 고정 창으로 설정하려면 0, 두 번째 자식 요소를 고정 창으로 설정하려면 1입니다. |
fixed-pane-initial-dimension | int | 고정 창의 초기 너비 또는 높이입니다. |
orientation | UIElements.TwoPaneSplitViewOrientation | 분할 뷰의 방향 설정 |
TreeView 요소
TreeView
요소는 계층 구조를 시각적으로 표현하는 데 가장 적합한 UI 요소입니다. 이 요소는 일반적으로 트리나 목록을 표시할 때 사용됩니다.
속성
속성 이름 | 타입 | 설명 |
---|---|---|
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있는지를 나타냅니다. |
tabindex | int | 포커스 링에서 포커스를 맞출 수 있는 항목을 정렬하는 데 사용됩니다. |
UnsignedIntegerField 요소
UnsignedIntegerField
요소는 사용자로부터 양의 정수를 입력받는 데 사용되는 UI 요소입니다.
속성
속성 이름 | 타입 | 설명 |
---|---|---|
tooltip | string | 사용자가 마우스를 요소 위에 올렸을 때 표시되는 텍스트입니다. |
styles | string | 요소의 스타일에 대한 레퍼런스입니다. |
C# 클래스와 USS 선택자
각 요소에는 관련된 C# 클래스와 USS 선택자가 있습니다. 다음 표에서는 TwoPaneSplitView
와 관련된 C# 프로퍼티와 USS 선택자를 나열합니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
disabled | UssClassName.unity-disabled | 비활성화된 로컬 요소의 USS 클래스명입니다. |
활용 및 응용 예제
예제 1: TwoPaneSplitView 만들기
using UnityEngine;
using UnityEngine.UIElements;
public class SplitViewExample : MonoBehaviour
{
public VisualElement CreateSplitView()
{
var splitView = new TwoPaneSplitView();
splitView.fixedPaneIndex = 0; // 왼쪽 패널을 고정
splitView.fixedPaneInitialDimension = 200; // 고정 패널의 초기 너비
return splitView;
}
}
예제 2: TreeView 생성
using UnityEngine;
using UnityEngine.UIElements;
public class TreeViewExample : MonoBehaviour
{
public VisualElement CreateTreeView()
{
var treeView = new TreeView();
treeView.focusable = true; // 포커스 가능 설정
return treeView;
}
}
예제 3: UnsignedIntegerField 사용
using UnityEngine;
using UnityEngine.UIElements;
public class InputFieldExample : MonoBehaviour
{
public VisualElement CreateInputField()
{
var unsignedIntField = new UnsignedIntegerField();
unsignedIntField.tooltip = "양의 정수를 입력하세요.";
return unsignedIntField;
}
}
이처럼 Unity의 UI Toolkit을 사용하면 다양한 구성 요소를 손쉽게 만들 수 있으며, UXML 요소와 C# 스크립트를 통해 유연하게 UI를 구축할 수 있습니다.