Unity 매뉴얼: PropertyField
개요
PropertyField
는 Unity UI Toolkit에서 사용되는 중요한 요소로, SerializedProperty
에 바인딩되도록 설계되었습니다. 이를 통해 프로퍼티의 타입에 따라 적절한 UI 필드를 자동으로 생성할 수 있습니다.
PropertyField 사용 방법
PropertyField
를 사용하면 특정 프로퍼티에 대한 UI 요소를 쉽게 생성할 수 있습니다. 예를 들어, int
프로퍼티를 바인딩하면 IntegerField
가 생성됩니다. 기본적으로 생성된 필드는 .unity-base-field__aligned
라는 스타일 클래스를 가지고 있어 인스펙터 내에서 일관되게 정렬됩니다.
C# 클래스 및 네임스페이스
- C# 클래스:
PropertyField
- 네임스페이스:
UnityEditor.UIElements
- 기본 클래스:
VisualElement
주요 속성
속성 이름 | 유형 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
label | string | 필드의 레이블을 선택적으로 덮어씁니다. 기본값은 SerializedProperty 에서 가져옵니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
tabindex | int | 포커스 링에서 아이템 정렬에 사용됩니다. 0보다 커야 합니다. |
content-container | string | 자식 요소가 추가되는 컨테이너의 이름입니다. |
name | string | VisualElement의 이름으로, USS 선택자를 작성하는 데 사용됩니다. |
tooltip | string | 요소 위에 마우스를 놓으면 표시되는 텍스트입니다. |
view-data-key | string | 보기 데이터의 지속성을 위한 키입니다. |
USS 클래스
아래 표는 PropertyField
의 C# 공용 프로퍼티와 관련된 USS 선택자 정보입니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-property-field | 타입 요소의 USS 클래스명입니다. |
labelUssClassName | .unity-property-field__label | 레이블의 USS 클래스명입니다. |
inputUssClassName | .unity-property-field__input | 입력 요소의 USS 클래스명입니다. |
inspectorElementUssClassName | .unity-property-field__inspector-property | 인스펙터 요소의 USS 클래스명입니다. |
disabledUssClassName | .unity-disabled | 비활성화된 요소의 USS 클래스명입니다. |
추가 사항
Unity 에디터에서 UI 요소를 더욱 효과적으로 활용하기 위해 아래의 자료를 참고하면 좋습니다: - 커스텀 인스펙터 만들기 - 다양한 UXML 요소 문서: TextField
, DoubleField
, FloatField
, IntegerField
등
결론
PropertyField
를 통해 Unity UI Toolkit의 활용이 더욱 편리해집니다. 이 요소를 사용하여 복잡한 UI를 간단하게 생성하고, 사용자 경험을 향상시킬 수 있습니다. Unity의 다양한 UI 요소들을 활용하여 나만의 독창적인 UI를 만들어 보세요!