서브컬처 게이머

세상의 모든 아름다운 것들을 위하여


나니노벨 Custom Build Environment

개요

※이 글은 유니티 다이얼로그 시스템 에셋 ‘Naninovel(나니노벨)’의 한국어 번역 페이지입니다.

※모든 내용의 저작권 및 내용의 책임과 권한은 Naninovel에 있습니다.

※원문 페이지: (링크)

※마지막 수정일: 2025/2/23


에디터 빌드 메뉴를 사용하여 프로젝트를 구축할 때 나니노벨은 추가적으로 프리 프로세싱 및 포스트 프로세싱 절차를 자동으로 실행합니다. 이러한 절차는 나니노벨의 구성 메뉴 (예 : 스크립트 문서, 캐릭터 외양, BGM 및 SFX 클립 등등)로부터 할당된 모든 리소스가 빌드에 포함되도록 합니다.

커스텀 빌드 환경(예: 클라우드 빌드 또는 커스텀 스크립트나 명령어를 통한 빌드)을 사용하는 경우에은 Naninovel.BuildProcessor.PreprocessBuild (BuildPlayerOptions)Naninovel.BuildProcessor.PostprocessBuild() 정적 메서드를 빌드 전후에 수동으로 호출해야합니다.

아래는 필요한 나니노벨 처리 메서드를 호출하는 클라우드 빌드 커스텀 빌드 처리 스크립트의 예입니다. 프로세싱 스크립트를 설정하는 방법에 대해서는 공식 서비스 문서의 도움을 받으세요.

public static class CustomBuildProcessor
{
	#if UNITY_CLOUD_BUILD
    public static void PreExport (BuildManifestObject manifest)
    {
        var options = new UnityEditor.BuildPlayerOptions();
        var target = manifest.GetValue<string>("target").ToString().ToLower();

        if (target.Contains("windows") && target.Contains("64"))
            options.target = UnityEditor.BuildTarget.StandaloneWindows64;
        else if (target.Contains("windows"))
            options.target = UnityEditor.BuildTarget.StandaloneWindows;
        else if (target.Contains("android"))
            options.target = UnityEditor.BuildTarget.Android;
        else if (target.Contains("webgl"))
            options.target = UnityEditor.BuildTarget.WebGL;
        else throw new System.ArgumentException($"Unhandled target: {target}");

        Naninovel.BuildProcessor.PreprocessBuild(options);
    }
	#endif

    public static void PostExport(string exportPath)
    {
        Naninovel.BuildProcessor.PostprocessBuild();
    }
}

커스텀 명령어에 어셈블리 정의를 사용하는 경우, 유니티 에디터는 클라우드 빌드를 사용하는 동안 빌드 에러로 이어지는 모든 어셈블리를 컴파일하기 전 에셋 임포팅을 수행합니다. 빌드를 시작하기 전 스크립트 에셋을 리임포팅함으로써 문제가 해결될 수 있습니다.

var scriptGuids = AssetDatabase.FindAssets("t:Naninovel.script");
foreach (var scriptGuid in scriptGuids)
{
    var scriptPath = AssetDatabase.GUIDToAssetPath(scriptGuid);
    AssetDatabase.ImportAsset(scriptPath);
}

에디터 빌드 메뉴에서 트리거되어야 하는 커스텀 빌드 처리기를 사용하는 경우 구성 메뉴의 Resource Provider에서 Enable Build Processing 프로퍼티를 비활성화하여 나니노벨 처리기를 비활성화하면 됩니다. 해당 프로퍼티를 활성화/비활성화하는 경우 변경사항이 적용될 수 있도록 유니티 에디터를 다시 실행하세요.

연관글 목록

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다