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.html
一般状况下,Unity能够经过双击桌面上的图标启动,也能够经过输入命令行启动(例如,MacOS终端或者Windows的CMD窗口),经过这种方式在启动时会接受命令和信息,这对测试对象,自动生成和其余制做任务是很是有用的。windows
Under MacOS, you can launch Unity from the Terminal by typing:-服务器
在MacOs中,你能够在终端输入如下命令来启动Unity网络
/Applications/Unity/Unity.app/Contents/MacOS/Unity
app
...while under Windows, you should typeless
在windows下,你能够在CMD中输入编辑器
"C:\Program Files (x86)\Unity\Editor\Unity.exe"
ide
...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).
这个窗口将以弹出的方式建立(没有框体)