在ue4中Development模式(通过UnrealVS 设置调试UE4 参数为游戏名 -Game -Debug -skipcomplie)下调试游戏程序很可能会遇到全局着色库问题,主要原因是Development模式下需要对游戏资源打包为pak后才能加载,如果没有打包或pakmountpoint错误,都会导致初始化全局库时无法找到ShaderArchive-Global-PCD3D_SM5.ushaderbytecode,从而无法初始化和加载全局shader:
1、首先需要在UE Editor中调用“Cook Content for Windows“”对资源进行进行烘焙,烘焙完的资源会放到工程目录下的\Saved\Cooked\WindowsNoEditor\文件夹下
2、通过Unrealpak对烘焙后的资源进行手工打包
unrealpak d:\aaa.pak -create=D:\MyProject\Saved\Cooked\WindowsNoEditor\
3、将生成的pak文件复制到工程目录下Content\Paks\下,再调试程序就可以运行了
需要注意的是,很多错误原因都是因为资源的挂载点(mountpoint)和工程运行目录不匹配,因此在FPakFile::EFindResult FPakFile::Find(const FString& FullPath, FPakEntry* OutEntry) const函数中无法找到ShaderArchive-Global-PCD3D_SM5.ushaderbytecode导致加载失败
在UE4的Development模式下调试游戏时,可能会遇到全局着色库加载失败的问题,主要是由于资源未正确打包或pakmountpoint错误。解决步骤包括:使用UEEditor的'CookContentforWindows'烘焙资源,然后使用Unrealpak工具手动打包资源到pak文件,并将其放置在工程的ContentPaks目录下。确保资源的挂载点与运行目录匹配,以避免ShaderArchive-Global-PCD3D_SM5.ushaderbytecode找不到导致的初始化失败。
1857





