在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导致加载失败
版权声明:本文为sandygull原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。