資源烘焙
- 虛幻引擎以內部使用的特定格式存儲內容資源,將內容從內部格式轉換為特定於平台的格式的過程 稱為 烘焙((Cooking)
從編輯器烘焙資源
- FIle → Cook Content for Windows
從命令行烘焙資源
- 默認保存
%ProjectDir%/Saved/Cooked/[TargetPlatform]/
- 包含引擎資源、項目資源、插件資源
- 烘焙出的文件類型為 .uasset,.umap,.uexp,.ubulk
- .uexp 包含該資源對應的UE4版本號、頭部大小、包路徑等信息,數據對應PackageFileSummary類,
- commandlet必須通過
run=cook
指定
UE4Editor.exe <GameName or uproject> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
UE4Editor-Cmd.exe <GameName> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
// Example UE4Editor.exe
C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor.exe
"C:\Users\Alice\Documents\Unreal Projects\DesignPatterns\DesignPatterns.uproject"
-run=cook -targetplatform=WindowsNoEditor -Map=NewMap -Iterate -UnVersioned -Compressed
// Example UE4Editor-Cmd.exe
C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe
"C:\Users\Alice\Documents\Unreal Projects\DesignPatterns\DesignPatterns.uproject"
-run=Cook -TargetPlatform=WindowsNoEditor -unversioned -stdout -CrashForUAT -unattended -NoLogTimes -UTF8Output
選項說明
-targetplatform=<Plat1>+<Plat2>
指定要烘焙的平台。可用平台列表包含WindowsNoEditor、WindowsServer、LinuxServer、PS4, XboxOne、IOS和Android。
-iterate
指定烘焙器僅烘焙過時項目。如果不指定該選項,則沙箱目錄將被刪除,所有內容將重新烘焙。
-Map=<Map1>+<Map2>+...
指定要構建的貼圖。
-cookonthefly
指定以服務器模式啟動烘焙器。這樣將啟動服務器,服務器將等待游戲連接,然后根據需要提供烘焙的數據。使用該選項時,游戲需要在其命令行上指定-filehostip=<Server IP>以便能夠連接服務器。
-MapIniSection=<ini file section>
指定ini文件中包含貼圖名稱的分段。烘焙器將烘焙指定分段中指定的所有貼圖。
-UnVersioned
保存所有烘焙的數據包,不含版本。然后這些數據包在加載時會被假定為最新版本。
-CookAll
烘焙所有內容。
-Compressed
告知烘焙器壓縮烘焙過的數據包。
UE4Editor.exe 啟動
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" -skipcompile
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" "%GameDir%\MyGame.uproject" -skipcompile
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" "%GameDir%\MyGame.uproject" TestMap_Main -game -skipcompile
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" "%GameDir%\MyGame.uproject" TestMap_Main -game -server -log -skipcompile
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" "%GameDir%\MyGame.uproject" 127.0.0.1 -game -skipcompile
參考