Unity 매뉴얼 스크립팅 API
소개
이 문서는 Unity의 매뉴얼 스크립팅 API에 관한 내용을 다룹니다. Unity 2022.3(LTS) 버전을 기준으로 하며, 사용자 인터페이스(UI) 생성과 UI 툴킷에 대한 정보가 포함되어 있습니다.
사용자 인터페이스(UI) 생성
Unity에서는 UI 툴킷을 사용하여 다양한 요소를 생성하고 구성할 수 있습니다. UI 요소를 정의하기 위한 UXML 구조와 C# 클래스를 사용하여 필요한 기능을 구현합니다.
UXML 요소 참조
ColorField
- C# 클래스: ColorField
- 네임스페이스: UnityEditor.UIElements
- 기본 클래스: BaseField_1
구성원 UXML 속성
각 요소는 여러 속성을 가지며 주요 속성은 다음과 같습니다.
속성 이름 | 타입 | 설명 |
---|---|---|
hdr | boolean | true인 경우 컬러를 HDR 값으로, false인 경우 LDR 값으로 취급합니다. |
show-alpha | boolean | true인 경우 사용자가 알파 값을 설정할 수 있습니다. |
show-eye-dropper | boolean | true인 경우 컬러 피커에 스포이드 컨트롤이 표시됩니다. |
상속 UXML 속성
ColorField는 기본 클래스에서 아래와 같은 속성을 상속받습니다.
속성 이름 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
VisualElement에서 상속받는 속성
ColorField는 다음의 VisualElement 속성을 상속합니다.
속성 이름 | 타입 | 설명 |
---|---|---|
content-container | string | 자식 요소가 추가되는 컨테이너의 이름입니다. |
name | string | VisualElement의 이름으로, 특정 요소를 타게팅하는 데 사용됩니다. |
picking-mode | UIElements.PickingMode | 요소를 선택할 수 있는지 결정합니다. |
USS 클래스
아래 표는 ColorField의 C# 프로퍼티와 관련된 USS 선택자를 소개합니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-color-field | 컬러 필드의 USS 클래스명입니다. |
label | .unity-color-field__label | 컬러 필드의 레이블 클래스명입니다. |
input | .unity-color-field__input | 컬러 필드의 입력 요소 클래스명입니다. |
활용 및 응용 예제
ColorField 사용 예제
ColorField를 사용하여 UI에서 색상을 선택할 수 있는 필드를 만드는 예제입니다.
using UnityEngine;
using UnityEditor.UIElements;
using UnityEngine.UIElements;
public class ColorFieldExample : EditorWindow
{
[MenuItem("Window/ColorField Example")]
public static void ShowExample()
{
ColorFieldExample wnd = GetWindow<ColorFieldExample>();
wnd.titleContent = new GUIContent("ColorField Example");
}
public void CreateGUI()
{
ColorField colorField = new ColorField("Choose a Color");
colorField.hdr = false; // LDR 색상 처리
colorField.showAlpha = true; // 알파 값 표시
colorField.value = Color.red; // 초기 색상
// 변경을 처리하는 이벤트
colorField.RegisterValueChangedCallback(evt =>
{
Debug.Log("Selected Color: " + evt.newValue);
});
rootVisualElement.Add(colorField);
}
}
UXML 사용 예제
UXML 파일을 사용하여 UI를 정의하는 예제입니다.
<UXML xmlns="UnityEngine.UIElements">
<ColorField name="myColorField" label="Pick a Color" show-alpha="true" />
</UXML>
결론
이 문서는 Unity에서 ColorField 요소를 사용하여 UI를 생성하고 조작하는 방법을 다룹니다. UXML과 C# 코드를 조합하여 다양한 UI 구성 요소를 만들 수 있습니다. Unity의 UI 툴킷은 강력한 도구로, 개발자가 보다 효율적으로 UI를 구축할 수 있도록 돕습니다.