- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
构建播放器管道
构建播放器时,有时会想在某些方面修改已构建的播放器。例如,可能想添加一个自定义图标,复制一些文件到播放器旁边或构建一个安装程序 (Installer)。手动进行这些操作会让人觉得非常枯燥,如果知道如何编写 sh 或 perl 脚本,就能自动执行该任务。
Mac OSX 系统
创建完播放器之后,Unity 会自动在工程 (Project) 的资源 (Assets)/编辑器 (Editor) 文件夹下查找名为 PostprocessBuildPlayer(不带任何扩展名)的 sh 或 perl 脚本。找到文件后会在完成播放器构建时调用。
在该脚本中,可随意发布处理播放器。如构建一个播放器的外部安装程序。
可使用 perl、sh 或任何其他与命令行兼容的语言。
Unity 将一些有用的命令行参数传递给脚本,使您了解是播放器类型及其保存位置。
当前目录将设置为工程文件夹,资源 (Assets) 文件夹就包含在内。
#!/usr/bin/perl my $installPath = $ARGV[0]; # The type of player built: # "dashboard", "standaloneWin32", "standaloneOSXIntel", "standaloneOSXPPC", "standaloneOSXUniversal", "webplayer" my $target = $ARGV[1]; # What optimizations are applied. At the moment either "" or "strip" when Strip debug symbols is selected. my $optimization = $ARGV[2]; # The name of the company set in the project settings my $companyName = $ARGV[3]; # The name of the product set in the project settings my $productName = $ARGV[4]; # The default screen width of the player. my $width = $ARGV[5]; # The default screen height of the player my $height = $ARGV[6]; print ("\n*** Building at '$installPath' with target: $target \n");
注意,Python 等有些语言将脚本名称传递为命令行参数之一。如果使用其中一种语言,这些参数将沿着数组中的一个位置高效转移(因此安装路径为 ARGV[1] 等等)。
为了看到这个活动中的功能,请访问本网站的工程示例页面并下载 PostprocessBuildPlayer 示例包文件,将其导入后用于自己的工程当中。它使用创建播放器管道 (Build Player Pipeline) 功能提供 自定义的网络播放器构建后置处理,以展示可在自己的 PostprocessBuildPlayer 脚本中执行的自定义构建行为类型。
Windows 系统
Windows 系统不支持 PostprocessBuildPlayer 脚本,但是可以使用编辑器脚本达到同样的效果。可使用 BuildPipeline.BuildPlayer 运行此版本,后面加上所需的任何后处理代码:-
using UnityEditor; using System.Diagnostics; public class ScriptBatch : MonoBehaviour { [MenuItem("MyTools/Windows Build With Postprocess")] public static void BuildGame () { // Get filename. string path = EditorUtility.SaveFolderPanel("Choose Location of Built Game", "", ""); // 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/WebPlayerTemplates/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(); } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论