Unity 광원 탐색기 확장하기
이 문서는 Unity의 광원 탐색기를 확장하는 방법에 대한 공식 가이드입니다. 개발자가 커스텀 버전의 광원 탐색기 창을 만들 수 있도록 하는 방법을 설명합니다.
광원 탐색기란?
광원 탐색기는 Unity에서 씬의 모든 광원을 확인하고 해당 프로퍼티를 편집할 수 있는 창입니다. 이 확장을 통해 사용자는 커스텀 스크립터블 렌더 파이프라인(SRP) 또는 고해상도 렌더 파이프라인에 필요한 특정 기능을 갖춘 광원 탐색기를 만들 수 있습니다.
주요 기능
광원 탐색기의 확장은 다음과 같은 기능을 제공합니다: - 탭 이름 변경 - 새로운 게임 오브젝트 타입 추가 - 커스텀 열 추가 및 모양 조정
확장 방법
광원 탐색기를 확장하려면 ILightingExplorerExtension
인터페이스를 상속받거나 DefaultLightingExplorerExtension
클래스를 사용해야 합니다. 이 클래스는 이미 창에 있는 모든 콘텐츠를 제공합니다.
기본 코드 구조
다음은 광원 탐색기 클래스를 확장하는 기본 구조입니다.
using UnityEngine;
using UnityEditor;
[LightingExplorerExtensionAttribute(typeof(ExampleRenderPipelineAsset))]
public class SimpleExplorerExtension : DefaultLightingExplorerExtension
{
private static class Styles
{
public static readonly GUIContent Name = EditorGUIUtility.TrTextContent("Name");
}
protected override LightingExplorerTableColumn[] GetLightColumns()
{
return new[]
{
new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Name, Styles.Name, null, 200), // 0: Name
};
}
}
예제
- 광원 이름만 표시하기
이 예제에서는 광원의 이름 열만 표시합니다.
csharp // 코드 생략
- 이름 및 활성화 상태 표시하기
이 예제는 광원의 이름과 활성화된 상태를 보여주고 Emissive Materials 탭은 숨깁니다.
csharp // 코드 생략
유용한 클래스 및 메서드
광원 탐색기를 확장할 때 사용할 수 있는 클래스 및 메서드는 다음과 같습니다:
클래스/메서드 | 설명 |
---|---|
ILightingExplorerExtension | public virtual LightingExplorerTab[] GetContentTabs(); 등의 메서드를 포함 |
DefaultLightingExplorerExtension | ILightingExplorerExtension의 상속 클래스, 여러 편리한 메서드 제공 |
GetLights | 사용자가 정의한 광원 목록을 반환 |
GetLightColumns | 표시할 광원 열 유형을 반환 |
결론
Unity의 광원 탐색기 확장은 사용자에게 고유한 렌더링 니즈를 충족시키는 강력한 도구입니다. 위의 예제를 참고하여 자신만의 커스텀 광원 탐색기를 만들어 보세요. Unity 제품의 최신 기능과 documentation을 확인하여 추가적인 확장 기능을 탐색하는 것도 좋은 방법입니다.