Unity 매뉴얼: 사용자 인터페이스(UI) 생성
이 문서는 Unity에서 사용자의 인터페이스(UI)를 만들기 위한 다양한 요소와 방법을 설명합니다. Unity에서는 UI 툴킷을 사용하여 UXML 요소와 C# 클래스를 통해 UI를 구성할 수 있습니다.
UI 툴킷 개요
Unity의 UI 툴킷은 복잡한 사용자 인터페이스를 구성하는 데 도움이 되는 요소와 속성을 제공합니다. 이를 통해 개발자는 효율적이고 유연한 UI를 디자인할 수 있습니다.
주요 UXML 요소
다음은 UXML에서 자주 사용하는 요소의 리스트입니다.
요소 이름 | 설명 |
---|---|
ObjectField | 씬 오브젝트를 필드에 할당할 수 있도록 합니다. |
MultiColumnTreeView | 여러 열로 구성된 트리 뷰를 생성하는 요소입니다. |
PopupWindow | 팝업 창을 제공하는 UI 요소입니다. |
ObjectField 요소
ObjectField 요소는 씬의 오브젝트를 필드에 할당할 수 있도록 도와줍니다. 이 요소에는 다음과 같은 속성이 있습니다.
속성 이름 | 타입 | 설명 |
---|---|---|
allow-scene-objects | boolean | 씬 오브젝트가 필드에 할당될 수 있도록 합니다. |
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
자주 사용하는 C# 클래스
ObjectField 요소와 관련된 C# 클래스는 UnityEditor.UIElements 네임스페이스에 포함되며, 기본 클래스는 BaseField_1입니다.
C# 클래스 속성
C# 프로퍼티 | 설명 |
---|---|
ussClassName | 이 타입 요소의 USS 클래스 이름입니다. |
labelUssClassName | 레이블의 USS 클래스 이름입니다. |
inputUssClassName | 입력 요소의 USS 클래스 이름입니다. |
objectUssClassName | 오브젝트 요소의 USS 클래스 이름입니다. |
활용 및 응용 예제
1. ObjectField 사용 예제
아래의 코드는 ObjectField 요소를 생성하고 씬 오브젝트를 할당하는 예제입니다.
using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;
public class MyCustomEditor : EditorWindow
{
[MenuItem("Window/My Custom Editor")]
public static void ShowWindow()
{
MyCustomEditor wnd = GetWindow<MyCustomEditor>();
wnd.titleContent = new GUIContent("My Custom Editor");
}
public void CreateGUI()
{
ObjectField objectField = new ObjectField("My Object");
objectField.allowSceneObjects = true;
rootVisualElement.Add(objectField);
}
}
2. MultiColumnTreeView 활용
MultiColumnTreeView 요소를 사용하여 데이터 목록을 시각적으로 표현할 수 있습니다. 이를 통해 사용자가 다양한 정보를 쉽게 탐색할 수 있습니다.
// MultiColumnTreeView 사용 예제 (코드 미포함)
이와 같이 다양한 요소와 클래스들을 활용하여 Unity에서 더욱 다채로운 사용자 인터페이스를 제작할 수 있습니다. UI 툴킷을 통해 높은 사용자 경험을 제공하세요.