Unity 사용자 매뉴얼 2022.3(LTS)
개요
Unity는 게임 개발을 위한 강력한 플랫폼입니다. 본 문서는 UI 툴킷을 통해 UI 요소를 생성하는 방법을 다룹니다.
UI 툴킷
UI 툴킷은 Unity에서 UI를 구성하는 데 사용되는 도구입니다. UXML 파일을 통해 UI 구조를 정의하고, C# 클래스를 사용하여 이벤트 및 동작을 처리합니다.
UXML 요소 레퍼런스
다양한 UXML 요소에 대해 설명합니다. 여기서는 Vector3Field
요소에 대해 소개합니다.
UXML 요소: Vector3Field
- C# 클래스: Vector3Field
- 네임스페이스: UnityEngine.UIElements
- 상속된 기본 클래스: BaseCompositeField_3
속성
Vector3Field
는 여러 속성을 가지고 있습니다:
속성 이름 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
tabindex | int | 포커스 링에서 포커스를 맞출 수 있는 항목을 정렬하는 정수입니다. |
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
name | string | VisualElement의 이름입니다. 이 필드는 USS 선택자에서 사용됩니다. |
picking-mode | UIElements.PickingMode | 요소를 선택할 수 있는지를 결정합니다. |
style | string | 이 요소의 스타일 오브젝트에 대한 레퍼런스입니다. |
tooltip | string | 사용자가 마우스를 요소 위에 놓을 때 표시되는 텍스트입니다. |
usage-hints | UIElements.UsageHints | 고수준의 의도된 사용 패턴을 지정하는 힌트 값입니다. |
view-data-key | string | 보기 데이터 지속성에 사용되는 키입니다. |
USS 클래스
Vector3Field
의 C# 공용 프로퍼티와 관련된 USS 선택자는 다음과 같습니다:
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-vector3-field | 이 타입 요소의 USS 클래스명입니다. |
label | .unity-vector3-field__label | 레이블의 USS 클래스명입니다. |
input | .unity-vector3-field__input | 입력 요소의 USS 클래스명입니다. |
ussClassName (복합 필드) | .unity-composite-field | 복합 요소의 USS 클래스명입니다. |
label (복합 필드) | .unity-composite-field__label | 복합 필드에서 레이블의 USS 클래스명입니다. |
input (복합 필드) | .unity-composite-field__input | 복합 필드의 입력 요소 USS 클래스명입니다. |
spacer | .unity-composite-field__field-spacer | 필드 스페이서의 USS 클래스명입니다. |
... | ... | 기타 다양한 클래스를 가집니다. |
활용 및 응용 예제
- 기본 UI 생성:
csharp var vector3Field = new Vector3Field("Position"); vector3Field.bindingPath = "transform.position";
- 사용자 정의 스타일 적용:
csharp vector3Field.AddToClassList("custom-vector3-field");
- 툴팁 추가:
csharp vector3Field.tooltip = "Enter the X, Y, Z coordinates";
- 렌더링 동작 처리:
csharp vector3Field.RegisterValueChangedCallback(evt => { Debug.Log($"New Position: {evt.newValue}"); });
이 문서는 Vector3Field를 UI에서 활용하는 방법을 이해하는 데 큰 도움이 될 것입니다. UI 요소의 바인딩 및 이벤트 처리 같은 핵심 개념을 익힐 수 있습니다.