构建玩家时,有时需要修改构建的玩家。例如,您可能想要添加自定义图标、将一些文档复制到玩家旁边或构建安装程序。您可以通过编辑器脚本使用 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 类调用您的外部 脚本一段代码,允许您创建自己的组件、触发游戏事件、随着时间的推移修改组件属性并以您喜欢的任何方式响应用户输入。 更多信息
参见 术语表,如上一节所示。此参数用于从低到高对构建方法进行排序,您可以为其分配任何负值或正值。