Unity 사용자 매뉴얼 2022.3 (LTS)
사용자 인터페이스(UI) 생성
UI 툴킷
UI 툴킷은 Unity에서 사용자 인터페이스를 만들기 위한 강력한 도구 세트입니다. 이 도구를 사용하면 다양한 UI 요소를 쉽게 구성할 수 있습니다.
UXML 요소 레퍼런스
UXML은 UI 구성 요소를 정의하는 XML 형식입니다. 여기서는 UnsignedLongField, UnsignedIntegerField, Vector2Field와 같은 UXML 요소를 살펴보겠습니다.
UnsignedLongField
- C# 클래스: UnsignedLongField
- 네임스페이스: UnityEngine.UIElements
- 기본 클래스: TextValueField_1
속성
속성 이름 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있을 때 true입니다. |
is-delayed | boolean | true로 설정하면 사용자가 Enter 키를 누르거나 포커스가 벗어날 때 값이 업데이트됩니다. |
label | string | 필드 옆에 표시될 레이블을 나타냅니다. |
tabindex | int | 포커스 링에서 항목을 정렬하는 정수로 0 이상이어야 합니다. |
value | unsignedLong | 필드와 연결된 값입니다. |
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
name | string | VisualElement의 이름입니다. |
picking-mode | UIElements.PickingMode | 요소를 선택할 수 있는지 결정합니다. |
style | string | 요소의 스타일 오브젝트에 대한 레퍼런스입니다. |
tooltip | string | 마우스를 요소 위에 놓았을 때 표시될 텍스트입니다. |
usage-hints | UIElements.UsageHints | 고수준의 사용 패턴을 지정하는 힌트 값입니다. |
view-data-key | string | 보기 데이터 지속성에 사용됩니다. |
USS 클래스
UXML 요소의 스타일링을 위해 USS(유니티 스타일시트)를 사용합니다. 아래 표는 C# 프로퍼티와 관련된 USS 선택자의 리스트입니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-unsigned-long-field | 타입 요소의 USS 클래스명입니다. |
label | .unity-unsigned-long-field__label | 레이블의 USS 클래스명입니다. |
input | .unity-unsigned-long-field__input | 입력 요소의 USS 클래스명입니다. |
ussClassName | .unity-base-text-field | 기본 텍스트 필드의 USS 클래스명입니다. |
label | .unity-base-text-field__label | 기본 레이블의 USS 클래스명입니다. |
input | .unity-base-text-field__input | 기본 입력 요소의 USS 클래스명입니다. |
singleLineInput | .unity-base-text-field__input--single-line | 단일 줄 입력 요소의 USS 클래스명입니다. |
multilineInput | .unity-base-text-field__input--multiline | 여러 줄 입력 요소의 USS 클래스명입니다. |
placeholder | .unity-base-text-field__input--placeholder | 플레이스홀더 텍스트의 USS 클래스명입니다. |
활용 예제
- 사용자 입력 필드 생성: UnsignedLongField를 사용하여 사용자로부터 숫자를 입력받는 UI 요소를 생성할 수 있습니다.
csharp var unsignedLongField = new UnsignedLongField("Enter Value"); unsignedLongField.bindingPath = "value"; unsignedLongField.isDelayed = true;
- UI 스타일링: USS 클래스를 사용하여 UI 요소의 스타일을 정의하고 일관된 디자인을 제공하여 사용자 경험을 향상시킬 수 있습니다.
csharp unsignedLongField.AddToClassList("unity-unsigned-long-field");
- 값의 지속성 유지: view-data-key를 설정하여 사용자가 작업을 멈춘 후에도 UI 상태를 기억시키는 기능을 구현할 수 있습니다.
csharp unsignedLongField.viewDataKey = "uniqueKey";
이 매뉴얼은 Unity의 UI Toolkit을 활용하여 다양한 사용자 인터페이스를 구축하는 데 필요한 정보를 제공합니다. 다양한 요소 및 속성을 잘 활용하여 효과적인 UI를 디자인해 보세요.