Gameworks For UE4版本合并/UE4不能构建光照问题

英伟达的GameWorks为UE4提供了很多分支,包括Cataclysm、Flex 、VXGI、Volumetric Lighting 等等

英伟达GameWorks github分享链接

然而,英伟达并未提供合并办的UE4,因此以上分支需要手动合并,下面是合并方法:


通过git clone下整个库(本人通过VS2015git相关工具克隆,合并也使用的是VS2015)。

在VS中打开其中某个分支(Flex,VXGI等都可以),选择创建一个新的分支作为你将要合并的最终版本。

选择合并分支,合并的时候注意选择相同版本的UE4,否则可能出现后续编译出错的问题。

如果之前步骤没有问题,合并时会出现冲突,从十几个到二十几个不等,取决于你合并的两个分支之间的影响程度。

选择冲突 跳转解决冲突界面。可以 比较文件 看看具体问题在哪。之后点击合并,跳转合并界面,发现问题是由于分支在同一个位置插入了代码,从代码段中可以清楚的看到,英伟达不同功能的模块用注释隔开。因此 只需要在冲突的地方选择其中某一个分支 再将代码块中的另一个模块代码拷贝到最终文件中 即可完成合并。

反复执行第五步 直接到解决完冲突。

提交合并,然后再跳转第三步合并其他分支。直到合并完所有想要合并的分支。

进入资源管理器 到库目录下找到setup.bat文件 运行并下载UE4相关其他文件。

下载完成后运行GenerateProjectFiles.bat 生成UE4.sln。可能会发现GenerateProjectFiles.bat 报错 提示找不到VXGI模块 原因是VXGI、Volumetric Lighting放在同一个文件夹中,而VXGI的build文件更深一个目录,所以Volumetric Lighting的build文件屏蔽了VXGI的build文件。这时进入\Engine\Source\ThirdParty\GameWorks将NvVolumetricLighting.Build.cs放到\Engine\Source\ThirdParty\GameWorks\Volumetric Lighting下,之后就能正常生成了。

用VS打开,然后选择UE4生成 等生成成功之后在\Engine\Binaries下找到UE4Editor.exe 即完成所有工

PS:两点问题需要注意:

1、解决源码版UE4不能构建光照问题 用VS打开UE4.sln 右键选择UnrealLightmass生成。


2、如果合并了Flex分支启动UE4_Editor的时候有时出出现崩溃,像这样:

解决方案:

half3 TangentX = TangentBias(Input.TangentX);

你可能感兴趣的:(Gameworks For UE4版本合并/UE4不能构建光照问题)