Typically, Unity will be launched by double-clicking its icon from the desktop but it is also possible to run it from the command line (ie, the MacOS Terminal or the Windows Command Prompt). When launched in this way, Unity can receive commands and information on startup, which can be very useful for test suites, automated builds and other production tasks.

通常情况下,Unity可以通过双击桌面上的图标启动,也可以通过输入命令行启动(例如,MacOS终端或者Windows的CMD窗口),通过这种方式在启动时会接受命令和信息,这对测试对象,自动生成和其他制作任务是非常有用的。

Under MacOS, you can launch Unity from the Terminal by typing:-

在MacOs中,你可以在终端输入以下命令来启动Unity

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

...while under Windows, you should type

在windows下,你可以在CMD中输入

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

...at the command prompt. ......在命令提示符下。

Standalone Unity games can be launched in a similar way.

也可以用类似的方式启动单独的Unity游戏

Command Line Arguments 命令行参数

As mentioned above, the editor and also built games can optionally be supplied with additional commands and information on startup. This is done using the following command line arguments:-

如上所述,编辑器和建立游戏也能在启动时选择性的提供额外的命令和信息。这是使用下面的命令行参数:

-batchmode
Run Unity in batch mode. This should always be used in conjunction with the other command line arguments as it ensures no pop up windows appear and eliminates the need for any human intervention. When an exception occurs during execution of script code, asset server updates fail or other operations fail Unity will immediately exit with return code 1. Note that in batch mode, Unity will send a minimal version of its log output to the console. However, the Log Files still contain the full log information.
在批处理模式下运行Unity。应始终与其他命令行参数一起使用,因为它确保不会弹出窗口,无需任何人为的干预。当脚本代码在执行过程中发生异常,资源服务器更新失败或其他操作失败时Unity将立即退出,并返回代码为1。请注意,在批处理模式下, Unity将向控制台发送输出版本最小的日志。当然,日志文件将包含完整的日志信息。
-quit
Quit the Unity editor after other commands have finished executing. Note that this can cause error messages to be hidden (but they will show up in the Editor.log file).
其他命令执行完毕后将退出Unity编辑器。请注意,这可能会导致错误消息被隐藏(但他们将显示在Editor.log文件)
-buildWindowsPlayer <pathname>
Build a standalone Windows player (eg, -buildWindowsPlayer path/to/your/build.exe).
建立一个单独的Windows游戏(例如:-buildWindowsPlayer path/to/your/build.exe)
-buildOSXPlayer <pathname>
Build a standalone Mac OSX player (eg, -buildOSXPlayer path/to/your/build.app).
建立Mac游戏(例如:-buildOSXPlayer path/to/your/build.app)
-importPackage <pathname>
Import the given package. No import dialog is shown.
导入提供的package,不会显示导入对话框
-createProject <pathname>
Create an empty project at the given path.
根据提供的路径建立一个空项目
-projectPath <pathname>
Open the project at the given path.
打开指定路径的项目
-logFile <pathname>
Specify where the Editor log file will be written.
指定将要被写入编辑的log文件
-assetServerUpdate <IP[:port] projectName username password [r <revision>]>
Force an update of the project in the Asset Server given by IP:port. The port is optional and if not given it is assumed to be the standard one (10733). It is advisable to use this command in conjunction with the -projectPath argument to ensure you are working with the correct project. If no project name is given then the last project opened by Unity is used. If no project exists at the path given by -projectPath then one is created automatically.
可通过ip端口强制更新资源服务器的项目。端口是可选的,如果不是的话可以假定一个标准端口(10733)。最好使用此命令配合- projectpath参数确保你在正确的项目里工作。如果没有提供项目名字是那么就是最后一个Unity打开的项目。如果没有选择项目的路径则由- projectpath自动创建。
-exportPackage <exportAssetPath exportFileName>
Exports a package given a path. exportAssetPath is a folder (relative to to the Unity project root) to export from the Unity project and exportFileName is the package name. Currently, this option can only export a whole folder at a time. This command normally needs to be used with the -projectPath argument.
根据路径导出package。exportAssetPath是一个文件夹(相对Unity项目的根目录)为了导出Unity项目并且exportFileName是package的名称。目前,此选项只能在同一个时间导出整个文件夹。这个命令通常需要使用- projectpath参数
-nographics (Windows only)
When running in batch mode, do not initialize graphics device at all. This makes it possible to run your automated workflows on machines that don't even have a GPU.
当运行在批处理模式,不会初始化显卡设备。这使得它可以在你的机器上自动按工作流程运行,甚至它没有GPU。
-executeMethod <ClassName.MethodName>
Execute the static method as soon as Unity is started, the project is open and after the optional asset server update has been performed. This can be used to do continous integration, perform Unit Tests, make builds, prepare some data, etc. If you want to return an error from the commandline process you can either throw an exception which will cause Unity to exit with 1 or else call EditorApplication.Exit with a non-zero code. 
在Unity启动的同时会执行静态方法,该项目是开放的并且是在可选资源服务器更新完成之后。这可以用来不断的整合,进行单元测试,制作模型,准备一些数据等。如果你想通过命令行返回一个错误,你可以抛出一个异常,会引发代码为1的Unity关闭或其他引发EditorApplication.Exit非零代码。

To use -executeMethod you need to have a script in an Editor folder and a static function in the class.

使用executeMethod,你需要在编辑文件夹有一个脚本并且类里有一个静态函数。

// C# example
using UnityEditor;
class MyEditorScript
{
static void PerformBuild ()
{
string[] scenes = { "Assets/MyScene.unity" };
BuildPipeline.BuildPlayer(scenes, ...);
}
}
// JavaScript example
static void PerformBuild ()
{
string[] scenes = { "Assets/MyScene.unity" };
BuildPipeline.BuildPlayer(scenes, ...);
}

Example usage 用法示例

Execute Unity in batch mode, execute MyEditorScript.MyMethod method, and quit upon completion.

在批处理模式下执行Unity,执行MyEditorScript.MyMethod方法,完成后退出。

Windows:
C:\program files\Unity\Editor>Unity.exe -quit -batchmode -executeMethod MyEditorScript.MyMethod

Mac OS:
/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod MyEditorScript.MyMethod

Execute Unity in batch mode. Use the project path given and update from the asset server. Execute the given method after all assets have been downloaded and imported from the asset server. After the method has finished execution, automatically quit Unity.

在批处理模式下执行Unity。使用给定的项目路径和从资源服务器上进行更新。在所有资源已被下载且从资源服务器导入后执行给定的方法。当执行的方法完成后会自动退出Unity。

/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -projectPath ~/UnityProjects/AutobuildProject -assetServerUpdate 192.168.1.1 MyGame AutobuildUser l33tpa33 -executeMethod MyEditorScript.PerformBuild -quit

Unity Standalone Player command line arguments
Unity 独立版游戏命令行参数

Standalone players built with Unity also understand some command line arguments:

Unity创建独立版游戏也要了解一些命令行参数:

-batchmode
Run the game in "headless" mode. The game will not display anything or accept user input. This is mostly useful for running servers for networked games.
在"headless"模式下运行游戏。游戏将不显示任何内容,或接受用户输入。这对运行网络游戏的服务器有很大的作用的。
-force-opengl (Windows only)
Make the game use OpenGL for rendering, even if Direct3D is available. Normally Direct3D is used but OpenGL is used if Direct3D 9.0c is not available.
让游戏使用OpenGL进行渲染,即使有可用的Direct3D。通常情况是使用Direct3D,但如果是Direct3D 9.0c的不可用的话则会选用OpenGL。
-single-instance (Windows only)
Allow only one instance of the game to run at the time. If another instance is already running then launching it again with -single-instance will just focus the existing one.
在同一时候只允许一个游戏实例运行。如果另一个实例已在运行,然后再次通过 -single-instance启动它的话会调节到现有的这个实例。
-nolog (Windows only)
Do not produce output log. Normally output_log.txt is written in the *_Data folder next to the game executable, where Debug.Log output is printed.
不产生输出日志。 通常output_log.txt被写在游戏输出目录下的*_Data文件夹中 ,在debug.log中打印输出的地方。
-force-d3d9-ref (Windows only)
Make the game run using Direct3D's "Reference" software renderer. The DirectX SDK has to be installed for this to work. This is mostly useful for building automated test suites, where you want to ensure rendering is exactly the same no matter what graphics card is being used.
使游戏运行在Direct3D的"Reference"软件渲染模式,必须要安装DirectX SDK才能使其工作。这主要是用于建立自动化测试对象,这样您可以确保不管是使用什么显卡,其渲染效果是完全一样的。
-adapter N (Windows only)
Allows the game to run full-screen on another display, where N denotes the display number.
允许游戏全屏运行在另一台显示器上,其中N表示显示的号码。
-popupwindow (Windows only)
The window will be created as a a pop-up window (without a frame). 
这个窗口将以弹出的方式创建(没有框体)

unity命令行参数的更多相关文章

  1. Unity 命令行参数

    通常情况下,Unity可以通过双击桌面上的图标启动,也可以通过输入命令行启动(例如,MacOS终端或者Windows的CMD窗口),通过这种方式在启动时会接受命令和信息.我们可以制作一些小工具跟Uni ...

  2. Unity3D 命令行参数

    Unity3D 命令行参数 @by 广州小龙                                              unity ios开发群:63438968 Typically, ...

  3. Unity命令行模式,也能「日志实时输出」

    转自自己的简书:http://www.jianshu.com/p/bd97cb8042a9 如果你使用过Unity命令行模式(batchmode),来实现Unity自动化编译构建,你肯定会遇到过这样的 ...

  4. python处理命令行参数

    直接从命令行执行py文件的时候如果带有参数,如何获取这些参数,如何解析? http://blog.chinaunix.net/uid-20786165-id-3182268.html sys.argv ...

  5. .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

    较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...

  6. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

    特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传 ...

  7. powershell脚本,命令行参数传值,并绑定变量的例子

    这是小技巧文章,所以文章不长.但原创唯一,非常重要.我搜了下,还真没有人发 powershell怎样 [命令行 参数 绑定],所以我决定写成博客. 搜索关键字如下: powershell 命令行 参数 ...

  8. VS2013 带命令行参数的调试问题 解决方案

    int main(int argc,char* argv[]) argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数 比如:  ...

  9. 使用getopt()处理命令行参数

    假设有一程序 testopt,其命令行选项参数有: -i            选项 -l            选项 -r           选项 -n <值> 带关联值的选项 则处理 ...

随机推荐

  1. caj文件转word

    转载:https://baijiahao.baidu.com/s?id=1590365105855177484&wfr=spider&for=pc 使用工具: 迅捷caj转word转换 ...

  2. 重启监听卡在connecting to的问题

    问题描述:lsnrctl start启动监听起不来,一直卡在connecting to半天 1.[oracle@orcl ~]$ lsnrctl start 一直卡半天,就是连不上,按照以前的解决办法 ...

  3. 跨站请求伪造(Cross-site request forgery), 简称为 XSRF

    跨站请求伪造(Cross-site request forgery), 简称为 XSRF,是 Web 应用中常见的一个安全问题.前面的链接也详细讲述了 XSRF 攻击的实现方式. 当前防范 XSRF ...

  4. Spring学习-依赖注入

    Spring是基于IOC与AOP的框架,而其中的IOC(Inversion of Control)即反转控制是Spring的基础. 在以前学过的知识中,一个新的对象全部为自己手动new出来的,而在Sp ...

  5. DirectX11--HLSL语法入门

    前言 编写本内容仅仅是为了完善当前的教程体系,入门级别的内容其实基本上都是千篇一律,仅有一些必要细节上的扩充.要入门HLSL,只是掌握入门语法,即便把HLSL的全部语法也吃透了也并不代表你就能着色器代 ...

  6. UTF自动化测试工具

    自UFT推出后,QTP慢慢退出历史舞台 UFT测试的基本流程:录制测试脚本—-编辑测试脚本—-调试测试脚本—-运行测试脚本—-分析测试结果 UFT(QTP)介绍   http://blog.csdn. ...

  7. ssh排错思路

    telnet远程22端口refused 先netstat  -utnlp  看一下22端口监听状态(一般都不在监听) 然后systemctl  restart sshd 如果有报错,执行sshd  - ...

  8. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。”

    出现场景: From1中事件B绑定在事件A,事件A由工厂模式下的设备产生,当离开Form1时,设备中的事件A仍然会触发事件B,此时就会导致如上问题 原因(个人理解): 1.Form1已经被销毁了,但仍 ...

  9. jqgrid中分页和搜索,jqgrid loadonce:true后trigger("reloadGrid")无效

      第一次接触jqgrid,发现项目中好多地方都用到.   jqgrid是典型的B/S架构(浏览器/服务器模式),服务器端只需提供数据管理,浏览器只需负责数据显示.   jqGrid是用ajax实现对 ...

  10. css给span加float:right右浮动后内容换行下移

    转自:https://www.jb51.net/css/67309.html 在div css布局中 当span标签右浮动时会产生换行狭义的现象 <!DOCTYPE html PUBLIC &q ...