自動任務構建
通常可以在桌面雙擊 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