命令行构建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
命令行构建Unity项目的更多相关文章
- [Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生 ...
- [Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建
本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 ...
- [Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建
谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安 ...
- 命令行创建Maven项目卡住以及出错解决办法。
第一次通过命令行创建maven项目.结果,果不其然啊,还是出问题了,不过出问题比没有出问题强,知道哪里有问题并学会解决也是一种收获. 遇到的第一个问题,在从仓库下载东西的时候会卡住,我开始以为是网速问 ...
- 学习笔记-使用cmd命令行创建nodejs项目
使用cmd命令行创建nodejs项目 1)在DOS下cd 进入到你想要创建项目的路径. 2)mkdir sing (创建一个sing文件夹) 3)cd sing 4) npm init (初始化工程 ...
- 命令行编译java项目
命令行编译java项目 项目名: testproj 目录 src -> cn -> busix -> test bin lib 编译项目 cd testproj javac -d . ...
- 一个使用命令行编译Android项目的工具类
一个使用命令行编译Android项目的工具类 简单介绍 编译apk项目须要使用的几个工具,基本都在sdk中,它们各自是(Windows系统): 1.aapt.exe 资源打包工具 2.android. ...
- Cordova之如何用命令行创建一个项目(完整示例)
原文:Cordova之如何用命令行创建一个项目(完整示例) 1. 创建cordova项目 (注意:当第一次创建或编译项目的时候,可能系统会自动下载一些东西,需要一些时间.) 在某个目录下创建cordo ...
- 2019-7-3-如何通过命令行-msbuild-编译项目
title author date CreateTime categories 如何通过命令行 msbuild 编译项目 lindexi 2019-07-03 19:12:19 +0800 2019- ...
随机推荐
- Web安全之点击劫持(ClickJacking)
点击劫持(ClickJacking)是一种视觉上的欺骗手段.大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的 ...
- word开发遇到的问题
1.系统不能安装多个office word版本,建议只安装一个2003版本,越完整越好. 2.安装时候ghost系统会遇到问题,由于很多组件没有完整的安装,因此缺少了很多安装时文件保护要进行提醒的dl ...
- java发送固定字节到C++接口
需求:java工程需要发送一个socket消息到C++接口,C++接口中规定了若干个参数,并且每个参数的长度是固定的,起始位置也是固定的, C++那边是GB2312编码,java这边是UTF-8. 现 ...
- 使用powershell部署WSP包
代码如下,先卸载,然后删除,然后添加,然后安装. 卸载之后会重启IIS,所以等待几秒钟,直到卸载完成. 添加snapin $snapin = Get-PSSnapin | Where-Object { ...
- 为Autodesk Viewer添加自定义工具条
如果你参加过我们近期的活动,你就会频繁的听到我们现在正在做的Autodesk Viewer大模型浏览器,这是一个不需要下载任何插件,基于WebGL技术的浏览器,可以支持几十种数据格式.同时viewer ...
- WAMP集成环境的安装
暑假已经正式开始,我的学习计划也开始有了初步的进展,今天学习的主要内容是PHP的基础知识,以及在电脑上面安装了集成的WAMP(Windows+Apache+MySQL+PHP). PHP的基础知识: ...
- 如何为Swift进行宏定义
这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-C, 所以习惯了C语言那种宏定义方式, Swift作为一款更加安全的语言, 放弃了C语言中的宏定义, 有效的防止预编译时代码 ...
- 【读书笔记】iOS-苹果的网络
一,网络结构. 1,客户端服务器网络结构. 客户端服务器网络结构是一种主从网络结构.服务器是被动的,有点像餐厅的服务员.而客户端是主动的,像在餐厅吃饭的顾客. 2,对等网络结构. 对等网络也叫点对点网 ...
- CodeForce Round#49 untitled (Hdu 5339)
Untitled Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- 手机屏幕滑动效果框架——flipsnap
下午有时间,研究了下手机网页开发方面的内容.其中关于手机手势滑屏操作.发现有比较好的jquery 插件--flipsnap. 官方网站:http://pxgrid.github.com/js-flip ...