플레이어를 빌드할 때 빌드된 플레이어를 수정하고 싶을 때가 있습니다. 예를 들어 커스텀 아이콘을 추가하거나, 몇 개의 문서를 플레이어 옆에 복사하거나 설치 프로그램을 빌드하고 싶을 수 있습니다. 이 작업은 에디터 스크립트를 통해 BuildPipeline.BuildPlayer를 사용하여 빌드를 실행한 후 필요한 포스트 프로세싱 코드를 뒤에 붙여서 수행할 수 있습니다.
// C# example.
using UnityEditor;
using System.Diagnostics;
public class ScriptBatch
{
[MenuItem("MyTools/Windows Build With Postprocess")]
public static void BuildGame ()
{
// Get filename.
string path = EditorUtility.SaveFolderPanel("Choose Location of Built Game", "", "");
string[] levels = new string[] {"Assets/Scene1.unity", "Assets/Scene2.unity"};
// Build player.
BuildPipeline.BuildPlayer(levels, path + "/BuiltGame.exe", BuildTarget.StandaloneWindows, BuildOptions.None);
// Copy a file from the project folder to the build folder, alongside the built game.
FileUtil.CopyFileOrDirectory("Assets/Templates/Readme.txt", path + "Readme.txt");
// Run the game (Process class from System.Diagnostics).
Process proc = new Process();
proc.StartInfo.FileName = path + "/BuiltGame.exe";
proc.Start();
}
}
PostProcessBuildAttribute의 postprocessOrder 파라미터를 사용하여 빌드 메서드 실행 순서를 결정하고 이전 섹션에서 봤던 것처럼 이 메서드의 Process 클래스를 사용하여 외부 스크립트를 호출할 수 있습니다. 이 파라미터는 빌드 메서드를 오름차순으로 정렬하는 데 사용되고, 파라미터에 임의의 음수나 양수 값을 할당할 수 있습니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.