Unity 사용자 매뉴얼 2022.3 (LTS)
Unity는 게임 및 애플리케이션 개발을 위한 강력한 엔진으로, 특히 사용자 인터페이스(UI) 생성 및 관리에 유용한 UI 툴킷을 제공합니다. 이 문서에서는 Unity의 UI 툴킷에 포함된 TreeView 구성 요소에 대해 알아보겠습니다.
UI 툴킷
UI 툴킷은 UI를 생성하고 구성하는 도구를 제공하며, UXML 및 USS를 사용하여 사용자 정의 UI를 설정할 수 있습니다.
UXML 요소 레퍼런스
UXML은 Unity에서 UI 레이아웃을 정의하기 위한 XML 형식입니다. 이번 섹션에서는 TreeView 구성 요소에 관련된 UXML 요소를 설명합니다.
속성 이름 | 타입 | 설명 |
---|---|---|
auto-expand | boolean | true인 경우 항목이 TreeView에 추가되면 자동으로 확장됨 |
binding-path | string | 바인드될 타겟 프로퍼티의 경로 |
fixed-item-height | int | 리스트에 있는 단일 항목의 높이 (픽셀) |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true |
reorderable | boolean | 리스트 항목을 드래그하여 재정렬할 수 있는지를 나타냄 |
selection-type | UIElements.SelectionType | 선택 타입을 컨트롤함 |
show-alternating-row-backgrounds | UIElements.AlternatingRowBackground | 컬렉션 뷰 행의 배경 색상을 번갈아 바꿀지 여부를 제어 |
show-border | boolean | 컬렉션 뷰의 테두리를 표시함 |
tabindex | int | 포커스 링에서 포커스를 맞출 수 있는 항목 정렬에 사용됨 |
virtualization-method | UIElements.CollectionVirtualizationMethod | 스크롤 바가 표시될 때 사용할 가상화 메서드 |
C# 클래스: TreeView
TreeView는 여러 항목을 계층적으로 표시하는 데 사용됩니다. UnityEngine.UIElements
네임스페이스에 포함되어 있으며, 기본 클래스는 BaseTreeView
입니다.
TreeView의 주요 속성
- auto-expand: 항목이 트리에 추가될 때 자동으로 확장됩니다.
- reorderable: 사용자가 항목을 드래그해 재정렬할 수 있습니다.
- selection-type: 선택할 수 있는 항목의 타입을 정의합니다.
사용 예
TreeView 생성하기
TreeView를 생성하고 항목을 추가하는 기본 예제를 제공합니다. Unity의 UXML 파일을 사용하여 TreeView를 구현할 수 있습니다.
// TreeView 초기화 예시
var treeView = new TreeView();
treeView.autoExpand = true;
treeView.reorderable = true;
// 항목 추가
treeView.AddItem("항목 1");
treeView.AddItem("항목 2");
비주얼 스타일 적용
TreeView에 스타일을 적용하려면 USS 파일을 사용할 수 있습니다. 이렇게 하면 특정 클래스를 활용하여 UI 요소의 외관을 쉽게 변경할 수 있습니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
unity-tree-view | TreeView 요소의 USS 클래스명 | 모든 TreeView 인스턴스에 추가됨 |
unity-tree-view__item | TreeView 항목 요소의 USS 클래스명 | 모든 TreeView 항목 요소에 추가됨 |
unity-tree-view__item-toggle | TreeView 항목 토글 요소의 USS 클래스명 | 모든 항목 토글 요소에 추가됨 |
unity-tree-view__item-content | TreeView 항목 콘텐츠 요소의 USS 클래스명 | 모든 항목 콘텐츠 요소에 추가됨 |
결론
Unity의 UI 툴킷과 TreeView를 통해 사용자는 복잡한 UI를 효율적으로 구성할 수 있습니다. UXML 및 USS를 적절히 활용하여 동적인 사용자 인터페이스를 만들 수 있으며, 다양한 상호작용을 구현하는 데 큰 도움이 됩니다.
추가적으로 Unity의 공식 문서 및 커뮤니티 포럼을 활용해 더 많은 예제와 지원을 받을 수 있습니다.