Unity 씬 템플릿 파이프라인 사용 가이드
Unity에서는 씬 템플릿을 사용하여 게임 개발 작업을 효율적으로 수행할 수 있습니다. 이 문서에서는 씬 템플릿을 커스터마이즈하고, 이를 사용하여 새로운 씬을 생성하는 방법을 설명합니다.
씬 템플릿 파이프라인 스크립트 생성 및 연결
Unity가 씬 템플릿에서 새로운 씬을 인스턴스화할 때, 커스텀 코드를 실행하려면 다음 단계를 따르십시오:
- 템플릿 확인: 편집할 씬 템플릿을 선택합니다.
- 씬 템플릿 프로퍼티 편집:
Scene Template Pipeline
프로퍼티를 적절한 씬 템플릿 파이프라인 스크립트를 가리키도록 설정합니다.
C#을 통한 스크립트 연결
C# 스크립트를 사용하여 씬 템플릿에 연결할 수도 있습니다. 씬 템플릿 파이프라인 스크립트는 ISceneTemplatePipeline
인터페이스 또는 SceneTemplatePipelineAdapter
에서 파생되어야 하며 다음과 같은 이벤트를 구현해야 합니다: BeforeTemplateInstantiation
또는 AfterTemplateInstantiation
.
예제 코드
using UnityEditor.SceneTemplate;
using UnityEngine;
using UnityEngine.SceneManagement;
public class DummySceneTemplatePipeline : ISceneTemplatePipeline
{
public void BeforeTemplateInstantiation(SceneTemplateAsset sceneTemplateAsset, bool isAdditive, string sceneName)
{
if (sceneTemplateAsset)
{
Debug.Log($"Before Template Pipeline {sceneTemplateAsset.name} isAdditive: {isAdditive} sceneName: {sceneName}");
}
}
public void AfterTemplateInstantiation(SceneTemplateAsset sceneTemplateAsset, Scene scene, bool isAdditive, string sceneName)
{
if (sceneTemplateAsset)
{
Debug.Log($"After Template Pipeline {sceneTemplateAsset.name} scene: {scene} isAdditive: {isAdditive} sceneName: {sceneName}");
}
}
}
씬 템플릿 인스턴스화 시퀀스
템플릿에서 새로운 씬을 생성할 때 Unity는 다음과 같은 파일 작업을 수행합니다:
- Create 클릭: 새로운 씬 다이얼로그에서 Create를 클릭합니다.
- 씬 템플릿 에셋 호출: Unity가 씬 템플릿 에셋을 호출합니다.
- 이벤트 트리거: Unity는 여러 이벤트를 순서대로 트리거합니다.
인스턴스화 시퀀스 이벤트
단계 | 설명 |
---|---|
1 | ISceneTemplatePipeline.BeforeTemplateInstantiation 이벤트가 트리거됩니다. |
2 | SceneTemplate.NewTemplateInstantiating 이벤트가 발생합니다. |
3 | 템플릿 씬의 새로운 복사본이 생성됩니다. |
4 | 새로운 씬에 동일한 이름의 폴더가 생성됩니다. |
5 | EditorSceneManager.sceneOpening 과 같은 이벤트가 발생합니다. |
6 | 레퍼런스가 다시 매핑되어 새로운 씬이 복제됩니다. |
7 | 씬이 저장되고 관련 이벤트가 트리거됩니다. |
8 | ISceneTemplatePipeline.AfterTemplateInstantiation 이벤트가 발생합니다. |
9 | SceneTemplate.NewTemplateInstantiated 이벤트가 발생합니다. |
활용 및 응용 예제
- 자동화된 씬 설정: 게임 레벨을 설정할 때, 씬 템플릿을 사용하여 기본적인 환경 요소를 직접 추가할 수 있습니다.
- 템플릿 관리: 다양한 게임 모드에 맞춘 템플릿을 만들고 관리하여 재사용성을 높일 수 있습니다.
- 버전 관리: 씬 템플릿을 통해 팀원 간의 협업을 원활하게 하고, 버전 관리를 쉽게 할 수 있습니다.
Unity 씬 템플릿 파이프라인을 활용하면 다양한 게임 개발 작업을 효율적으로 처리할 수 있습니다. 이 가이드를 통해 귀하의 프로젝트에 맞는 템플릿을 구축해보세요!