游戏内容打包
初学者可能会认为Pak仅仅是给热更资源使用的,其实不考虑热更,普通的游戏内容的打包,也是打包到Pak的。根据 http://t.csdnimg.cn/fwch8 的介绍,对小Demo进行打包构建,在输出目录中,可以看到UE4工程中的默认的包名是
{我的项目}\Saved\Output\WindowsNoEditor\{我的项目名}\Content\Paks\pak-0-0-pakchunk0-WindowsNoEditor.pak
【问】该名称的含义是什么?
【答】在UE4中,pak-0-0-pakchunk0-WindowsNoEditor.pak
是游戏客户端版本中的一个Pak文件。Pak文件是一种用于打包和压缩游戏资源的文件格式。
这个特定的Pak文件名 pak-0-0-pakchunk0-WindowsNoEditor.pak
可能是由UE4的自动打包工具生成的默认命名规则。它包含了游戏的资源文件,例如纹理、模型、声音、脚本等。
Pak文件的命名规则通常包含以下信息:
pak
:表示这是一个Pak文件。0-0
:可能是版本号或索引号,用于标识Pak文件的顺序或版本。pakchunk0
:表示这是第一个Pak文件块,如果游戏资源很大,可能会分成多个Pak文件块。WindowsNoEditor
:表示这个Pak文件是为Windows平台的非编辑器版本打包的。
在游戏客户端版本中,Pak文件通常用于将游戏资源打包成一个单独的文件,以便更方便地分发和加载游戏内容。客户端在运行时会加载这些Pak文件,并根据需要解压和使用其中的资源。
Game加载游戏内容Pak
通过加入日志的方式,得知Game加载该游戏内容的堆栈如下:
LogWindows: Error: [Callstack] 0x00007ffbbc7294d6 UE4Editor-PakFile.dll!FPakPlatformFile::Mount() [G:\St\EngineSource\Engine\Source\Runtime\PakFile\Private\IPlatformFilePak.cpp:7224] LogWindows: Error: [Callstack] 0x00007ffbbc72aaf6 UE4Editor-PakFile.dll!FPakPlatformFile::MountAllPakFiles() [G:\St\EngineSource\Engine\Source\Runtime\PakFile\Private\IPlatformFilePak.cpp:7482] LogWindows: Error: [Callstack] 0x00007ffbbc722faf UE4Editor-PakFile.dll!FPakPlatformFile::Initialize() [G:\St\EngineSource\Engine\Source\Runtime\PakFile\Private\IPlatformFilePak.cpp:7073] LogWindows: Error: [Callstack] 0x00007ff7aba736f9 UE4Editor-Cmd.exe!LaunchCheckForFileOverride() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:784] LogWindows: Error: [Callstack] 0x00007ff7aba83128 UE4Editor-Cmd.exe!FEngineLoop::PreInitPreStartupScreen() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:1536] LogWindows: Error: [Callstack] 0x00007ff7aba775bb UE4Editor-Cmd.exe!FEngineLoop::PreInit() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3593] LogWindows: Error: [Callstack] 0x00007ff7aba6d74e UE4Editor-Cmd.exe!EnginePreInit() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\Launch.cpp:124] LogWindows: Error: [Callstack] 0x00007ff7aba72a5d UE4Editor-Cmd.exe!GuardedMain() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\Launch.cpp:222] LogWindows: Error: [Callstack] 0x00007ff7aba72f6a UE4Editor-Cmd.exe!GuardedMainWrapper() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:144] LogWindows: Error: [Callstack] 0x00007ff7aba9632e UE4Editor-Cmd.exe!WinMain() [G:\St\EngineSource\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:273] LogWindows: Error: [Callstack] 0x00007ff7aba98586 UE4Editor-Cmd.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]