【UE4 C++】資源烘焙與UE4Editor.exe啟動


資源烘焙

  • 虛幻引擎以內部使用的特定格式存儲內容資源,將內容從內部格式轉換為特定於平台的格式的過程 稱為 烘焙((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
  • 啟動本地ds
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" TestMap_Main -game -server -log -skipcompile
  • 啟動游戲並聯網加入本地ds
"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" 127.0.0.1 -game -skipcompile

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM