Unity 사용자 매뉴얼: UXML 요소 LayerField 및 Label
이 문서는 Unity의 UXML 요소인 LayerField와 Label에 대해 설명하며, 해당 요소들을 효과적으로 활용할 수 있는 방법에 대해 안내합니다.
UXML 요소 개요
UXML은 Unity Editor에서 UI를 정의할 때 사용하는 XML 기반의 마크업 언어입니다. UXML 요소는 Unity UI의 구조를 정의하는 데 사용되며, 다양한 속성을 통해 요소의 동작과 외형을 조정할 수 있습니다.
UXML 요소 LayerField
LayerField는 사용자가 레이어를 선택할 수 있는 UI 요소입니다. 이 요소는 에디터에서 주로 사용됩니다.
주요 속성
속성명 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
tabindex | int | 포커스 링에서 포커스를 맞출 수 있는 항목을 정렬하는 데 사용됩니다. |
value | int | 팝업 메뉴에서 현재 선택한 값입니다. |
UXML 요소 Label
Label은 사용자에게 정보를 전달하기 위한 텍스트 요소입니다. 이 요소는 주로 다른 UI 요소 옆에 배치되어 사용됩니다.
주요 속성
속성명 | 타입 | 설명 |
---|---|---|
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
name | string | 이 VisualElement의 이름입니다. |
picking-mode | UIElements.PickingMode | 이 요소를 선택할 수 있는지를 결정합니다. |
tooltip | string | 사용자가 마우스를 요소 위에 올려놓았을 때 표시될 텍스트입니다. |
C# 클래스
LayerField는 UnityEditor.UIElements
네임스페이스 내에 정의되어 있으며, 기본적으로 PopupField_1
클래스를 상속받습니다.
사용 예제
LayerField 예제
다음은 LayerField를 생성하고 사용하는 간단한 코드를 보여줍니다.
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
public class LayerFieldExample : EditorWindow
{
[MenuItem("Window/LayerField Example")]
public static void ShowExample()
{
LayerFieldExample window = GetWindow<LayerFieldExample>();
window.titleContent = new GUIContent("LayerField Example");
}
public void CreateGUI()
{
var layerField = new LayerField("Select Layer");
rootVisualElement.Add(layerField);
}
}
Label 예제
Label을 사용하는 방법은 다음과 같습니다.
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
public class LabelExample : EditorWindow
{
[MenuItem("Window/Label Example")]
public static void ShowExample()
{
LabelExample window = GetWindow<LabelExample>();
window.titleContent = new GUIContent("Label Example");
}
public void CreateGUI()
{
var label = new Label("This is a label.");
rootVisualElement.Add(label);
}
}
요약
UXML의 LayerField와 Label 요소는 유용한 UI 컴포넌트로, Unity의 에디터와 사용자 인터페이스의 다양한 상호작용을 구현하는 데 도움을 줍니다. 이 문서의 예제를 바탕으로 자신만의 커스텀 UI를 제작해보세요.