Unity 매뉴얼: 사용자 인터페이스(UI) 생성
이 문서는 Unity의 사용자 인터페이스(UI) 생성과 관련된 UXML 요소를 설명합니다. UXML은 UI의 구조를 정의하는 마크업 언어로, UI 툴킷과 함께 사용됩니다.
1. UXML 요소 소개
MultiColumnTreeView
MultiColumnTreeView는 여러 열을 사용하는 트리 뷰를 생성합니다. 이를 사용하여 복잡한 데이터 구조를 표시할 수 있습니다.
구성원 속성
속성 이름 | 타입 | 설명 |
---|---|---|
sorting-enabled | boolean | 다중 열 헤더에서의 정렬 활성화 여부입니다. |
auto-expand | boolean | 항목이 TreeView에 추가될 때 자동으로 확장할지 여부를 설정합니다. |
binding-path | string | 바인드할 타겟 프로퍼티의 경로입니다. |
fixed-item-height | int | 리스트의 단일 항목 높이(픽셀)를 지정합니다. |
focusable | boolean | 요소에 포커스 가능하면 true를 설정합니다. |
selection-type | SelectionType | 선택 타입을 제어합니다. 기본값은 Single입니다. |
show-border | boolean | 컬렉션 뷰의 테두리를 표시합니다. |
virtualization-method | CollectionVirtualizationMethod | 사용할 가상화 메서드를 설정합니다. |
UXML 요소의 일반 사용법
- UXML 파일을 생성하여 UI 구조를 정의합니다.
- C# 스크립트를 통해 UXML에서 정의된 요소에 접근하여 동작을 정의합니다.
- VisualElement를 사용하여 UI 요소의 스타일과 동작을 조정합니다.
2. C# 클래스 사용 예제
아래는 MultiColumnTreeView를 사용하여 데이터를 표시하는 방법의 예입니다.
using UnityEngine;
using UnityEngine.UIElements;
public class MyTreeView : MonoBehaviour
{
private void Start()
{
var treeView = new MultiColumnTreeView();
treeView.sortingEnabled = true;
// 추가적인 설정 및 데이터 바인딩
// UI에 추가
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(treeView);
}
}
3. USS 클래스 사용
USS는 스타일 시트를 사용하여 UI 요소의 모습을 꾸밀 수 있게 해줍니다. 아래는 각 요소에 적용되는 기본 USS 클래스입니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-tree-view | TreeView 요소의 USS 클래스명입니다. |
itemUssClassName | .unity-tree-view__item | TreeView 항목 요소의 USS 클래스명입니다. |
itemToggleUssClassName | .unity-tree-view__item-toggle | TreeView 항목 토글 요소의 USS 클래스명입니다. |
itemContentContainerUssClassName | .unity-tree-view__item-content | TreeView 항목 컨테이너 요소의 USS 클래스명입니다. |
4. 결론
Unity의 UI 툴킷을 사용하면 복잡한 UI 구조를 쉽게 생성하고 조작할 수 있습니다. UXML과 USS를 활용하여 효율적으로 사용자 경험을 향상시키는 것을 목표로 하세요.