Unity 매뉴얼 스크립팅 API 가이드

이 문서는 Unity의 사용자 인터페이스(UI) 생성과 관련된 내용을 설명합니다. 특히 UXML과 USS 파일을 C# 스크립트와 함께 사용하는 방법을 다룹니다.

버전 정보

버전 상태
2022.3 지원됨
2023.2 지원됨
2023.1 지원됨
... ...
2017.1 레거시

주요 개념

  • UXML: UI 구조화에 사용되는 XML 형식.
  • USS: UI 스타일링에 사용되는 스타일 시트 형식.
  • VisualTreeAsset: UXML 파일을 나타내는 C# 오브젝트.
  • StyleSheet: USS 파일을 나타내는 C# 오브젝트.

UXML 및 USS 파일 로드하기

Unity에서는 UXML 및 USS 파일을 C#에서 쉽게 로드할 수 있습니다.

직렬화된 필드 사용하기

C# 스크립트에서 UXML 및 USS 파일을 참조하려면 다음과 같이 필드를 선언할 수 있습니다.

클래스 코드 스니펫
MonoBehaviour csharp<br>public VisualTreeAsset mainUI;<br>public StyleSheet[] seasonalThemes;
EditorWindow csharp<br>[SerializeField]<br>private VisualTreeAsset uxml;<br>[SerializeField]<br>private StyleSheet uss;

AssetDatabase 활용하기

에셋 데이터베이스를 사용하여 경로 또는 GUID를 통해 UI 에셋을 로드할 수 있습니다.

예시 코드 스니펫
경로로 에셋 로드하기 csharp<br>VisualTreeAsset uxml = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/Editor/main_window.uxml");
패키지에서 에셋 로드하기 csharp<br>VisualTreeAsset uxml = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Packages/<name-of-the-package>/main_window.uxml");

Addressables 사용하기

어드레서블 시스템을 통해 런타임 시 에셋을 효율적으로 로드하고 관리할 수 있습니다.

Resources 폴더 사용하기

UI 에셋을 프로젝트의 Resources 폴더에 추가한 후, Resources.Load 메서드를 사용하여 로드할 수 있습니다.

예시 코드 스니펫
Resources 폴더에서 에셋 로드하기 csharp<br>VisualTreeAsset uxml = Resources.Load<VisualTreeAsset>("main_window");

활용 예제

예제 1: UI 생성

다음은 MonoBehaviour를 사용하여 UI를 생성하는 간단한 예제입니다.

using UnityEngine;
using UnityEngine.UIElements;

public class MyUI : MonoBehaviour
{
    public VisualTreeAsset mainUI;

    void Start()
    {
        var ui = mainUI.CloneTree();
        var panel = GetComponent<PanelSettings>();
        panel.visualTreeAsset = ui;
    }
}

예제 2: EditorWindow 활용

EditorWindow를 사용하여 UXML을 로드하는 예제입니다.

using UnityEditor;
using UnityEngine.UIElements;

public class MyWindow : EditorWindow
{
    [SerializeField]
    private VisualTreeAsset uxml;

    void OnEnable()
    {
        var ui = uxml.CloneTree();
        rootVisualElement.Add(ui);
    }
}

결론

이 문서에서는 Unity에서 UXML과 USS 파일을 사용하는 기본적인 절차와 예제를 다루었습니다. 추가적인 활용을 위해 Unity의 공식 문서를 참조하는 것이 좋습니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA