Unity 매뉴얼 스크립팅 API 가이드 (2022.3)
이 문서는 Unity 사용자 매뉴얼의 일부로, UI 툴킷의 UXML 요소와 관련된 내용 및 GradientField 클래스에 대해 설명합니다. Unity의 UI 툴킷을 통해 사용자 인터페이스를 효율적으로 생성할 수 있습니다. 이 가이드는 GradientField 요소의 사용법과 속성에 대해 다룹니다.
UI 툴킷 소개
UI 툴킷은 Unity에서 사용자 인터페이스를 구축하기 위해 제공되는 프레임워크입니다. UXML은 UI 요소를 정의하는 XML 형식입니다.
GradientField 요소
GradientField는 색상 그라데이션을 설정하는 UI 요소입니다. 이 요소는 기본적으로 BaseField
클래스를 상속받습니다. 다음은 GradientField의 주요 속성입니다.
속성 이름 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
tabindex | int | 포커스 링에서 아이템을 정렬하는 데 사용되는 정수입니다. 0보다 크거나 같아야 합니다. |
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
name | string | VisualElement의 이름입니다. 특정 요소를 타게팅하는 USS 선택자를 작성할 때 사용됩니다. |
picking-mode | UIElements.PickingMode | 이 요소가 선택 가능한지를 결정합니다. |
style | string | 요소의 스타일 오브젝트에 대한 레퍼런스입니다. |
tooltip | string | 마우스를 요소 위에 놓았을 때 표시할 텍스트입니다. |
usage-hints | UIElements.UsageHints | VisualElement에 대한 고수준의 사용 패턴을 지정하는 힌트 값입니다. |
C# 클래스: GradientField
GradientField 클래스를 사용하여 그라디언트 UI 요소를 생성하고 조작할 수 있습니다.
사용 예제
아래는 GradientField를 사용하는 간단한 예제입니다.
using UnityEditor.UIElements;
using UnityEngine.UIElements;
public class GradientFieldExample : MonoBehaviour
{
public void CreateGradientField()
{
var gradientField = new GradientField("My Gradient");
gradientField.value = new Gradient(); // 기본 그라디언트 값 설정
gradientField.RegisterValueChangedCallback(evt =>
{
// 값이 변경될 때 수행할 작업
Debug.Log("Gradient changed: " + evt.newValue);
});
// UI에 추가
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(gradientField);
}
}
USS 클래스
다음 표는 GradientField 관련 C# 공용 프로퍼티와 USS 선택자 목록입니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-gradient-field | 이 타입 요소의 USS 클래스명입니다. |
label | .unity-gradient-field__label | 이 타입의 요소에 있는 레이블의 USS 클래스명입니다. |
input | .unity-gradient-field__input | 이 타입의 요소에 있는 입력 요소의 USS 클래스명입니다. |
content | .unity-gradient-field__content | GradientField 요소에 있는 콘텐츠의 USS 클래스명입니다. |
border | .unity-gradient-field__border | 이 타입의 요소에 있는 테두리 요소의 USS 클래스명입니다. |
추가 정보
- 관습: VisualElement에 고유한 이름을 부여하여 특정 요소를 타겟팅하는 것을 권장합니다.
- 성능 최적화: 특정 UsageHints를 설정하면 요소의 동작과 전반적인 성능 향상에 도움이 될 수 있습니다.
이 가이드를 통해 Unity UI 툴킷에서 GradientField 요소를 활용하는 방법에 대해 숙지하시기 바랍니다. 추가적인 질문은 Unity 포럼이나 커뮤니티에 문의하실 수 있습니다.