命令行构建Unity项目

自动任务构建

通常可以在桌面双击 Unity 图标,启动程序,但是,也可以通过命令行(例如,MacOS 终端或 Windows Command 窗口)运行程序。若使用这种方式启动 Unity,它将可以接受启动命令和信息,这将非常有助于测试套件、自动构建和其他制作任务。

在 MacOS 中,可以在终端 (Terminal) 输入以下内容,启动 Unity:-

/Applications/Unity/Unity.app/Contents/MacOS/Unity

…而在 Windows 中,应在 cmd 窗口输入:

"C:\Program Files (x86)\Unity\Editor\Unity.exe"

独立版 Unity 游戏可以用相同的方式启动。

Unity命令行参数

如上所述,在启动编辑器和构建游戏时,也可以选择性地使用其他命令和信息。使用以下命令行参数并可达到这一目的:-

-batchmode
在批处理模式下运行 Unity。此命令行应始终与其他命令行参数配合使用,因为它可以确保不会弹出窗口,无需任何人为干预。在执行脚本代码时发生异常、资源服务器更新失败或其他操作失败时,Unity 将立即退出,并返回代码 1。请注意:在批处理模式下,Unity 将向控制台发送最小版本的日志输出。当然,资源包。不显示导入对话框。
-createProject <pathname>
在指定路径创建空工程。
-projectPath <pathname>
在指定路径打开工程。
-logFile <pathname>
指定写入编辑器或 Windows 独立版日志文件的位置。
-assetServerUpdate <IP[:port] projectName username password [r <revision>]>
IP:port 部分给出的资源服务器 (Asset Server) 中强制执行工程更新。端口为可选,若未指定,则假设为标准端口 (10733)。建议将此命令与 -projectPath 参数配合使用,以确保更新正确的工程。如果未给出工程名称,那么将使用 Unity 上次打开的工程。如果 -projectPath 指定的路径不存在工程,那么将自动创建此工程。
-exportPackage <exportAssetPath1 exportAssetPath2 ExportAssetPath3 exportFileName>
根据给定路径(或给定路径集合)导出资源包。exportAssetPath 是从 Unity 工程中导出的文件夹(相对 Unity 工程的根目录),exportFileName 是指资源包的名称。目前,此选项仅能导出整个文件夹。此参数通常需要与 -projectPath 参数同时使用。
-nographics(仅限 Windows)
当以批处理模式运行时,完全不需要初始化图形设备。这可以让您在机器上自动运行工作流,即使没有 GPU 同样如此(只有在焦点对准窗口时才能运行自动工作流,否则将不能发送模拟输入命令)。使用此选项生成的独立版播放器不具有任何图形。
-executeMethod <ClassName.MethodName>
在启动 Unity 之后、打开工程之后以及执行可选资源服务器更新之后,立即执行静态类函数。此参数可用来不断整合、执行单元测试、完成构建、准备数据等等。如果希望从命令行 (commandline) 返回错误,那么可以抛出一个异常,引起 Unity 以 1 值退出,或调用具有非零代码的 EditorApplication.Exit。若想要传递参数,可以将其添加至命令行,并使用 System.Environment.GetCommandLineArgs 在类函数内检索。
 

自动构建DEMO

cd ..\..\..\
set WORKSPACE=%CD%

svn up --accept mine-full --force
cd tools\
"C:\Program Files (x86)\Unity\Editor\Unity.exe" -batchmode -projectPath %WORKSPACE%\cb-art -nographics -executeMethod CAutoResourceBuilder.ProductExportAll_Android  -logFile %WORKSPACE%\cb-product\BuildInfo\LastAutoBuildLog.txt -quit

参考资料

Unity3D命令行Build http://www.cnblogs.com/gameprogram/archive/2012/05/11/2496303.html

Unity Command Line Argument http://docs.unity3d.com/Manual/CommandLineArguments.html

游戏蛮牛Unity用户文档 命令行参数 http://www.unitymanual.com/m/Manual/65.html

posted @ 2014-12-30 14:55  赵青青  阅读(5580)  评论(1编辑  收藏  举报