本帖最后由 天才小熊猫 于 2016-10-10 14:09 编辑
这个是写给想要用GFX开发界面或者已经拿到授权和试用的开发者,如果没有拿到试用版或者授权的就不用看了,想测试的去scaleform官网上填写公司和项目内容然后索要,这里只讲拿到后的集成方法。
最近的需求,所以申请了一套GFx的测试版,但是最坑爹的地方是,官方给的测试版集成的有问题,所以要自己二次集成。这里本猫来说一下,首先当你有了资格的话,主要下载这个文件:“sf_4.5.32_win_vc14_lib.exe”,这个是最主要的,官方还有一个“sf_ime_4.5.32_win_vc14_lib.exe”,这个是支持中文方面的内容。
好了我主要扯集成,默认下载下来UE4的集成包是这个目录:
把这个东西,覆盖到你在github上面下载的UE4源码包,我下的是4.12的版本,所以源码包也是UE4 4.12,两个合并后,操作方法都一样的,先运行setup.bat的批处理文件,然后等待几个小时,看网速,然后运行GenerateProjectFiles.bat,运行完毕后,开始编译。
这里我要说一下,在运行GenerateProjectFiles.bat之前要先安装文章前面说的sf_4.5.32_win_vc14_lib.exe,如果你要使用GFx的Video或者一些Demo,需要安装DX SDK,好了这些不是主要的内容,正常情况下运行GenerateProjectFiles.bat后,会生成UE4.sln的解决方案,好了下面是重点。
我拿到的集成包是有问题的,官方的集成文档先不说是UE4.4的,其次第三方库还不对,路径也不对,所以就要自己下手了,首先如果遇到GFx_TextureFont.h头文件问题,我们把这个UE4源码包文件夹下的几个.h头文件放到X:\Autodesk\Scaleform\GFx SDK 4.5\Src\GFx下面,当然会提示重复,实际上我们只需要GFx_TextureFont.h就可以,其他的无所谓。因为Src里面已经有了。
接下来重新编译引擎,会遇到一个libPNG的静态库问题,这个有2个方法添加,因为UE4本身有自己的一套编译机制,所以通过解决方案添加链接库对GFx是没用的,一般情况下#pragma comment(lib,"XXX.lib ");是可以的,但是官方有一个添加的要求,我直接上网页吧:地址。
对GFx来讲,这里有一个方法,找到这个Source/ThirdParty/Scaleform/Scaleform.Build.cs文件,找到223行,这行里面定位LibPNG的链接库目录:
PublicLibraryPaths.Add(GFxDir + "/3rdParty/libpng-1.5.27/lib/" + GFxPlatform + "/Release");
注意到这里的话,将X:\Autodesk\Scaleform\GFx SDK 4.5里面的3rdParty、Include、Lib、Src移动到Source/ThirdParty/Scaleform/GFx目录下,GFx没有的话自己新建一个。
Scaleform.Build.cs里面223行中的GFxDir目录,填写上面段落3rdParty中的libpng第三方库的目录。然后在该库的lib文件夹下面新建一个Release文件夹,将libpng-1.5.27\Lib\x64\Msvc14\Release中的lib拷贝到刚才的Release文件夹下。
其他对应出的问题也按照这个方法执行。
这里要说一点,GFx如果是授权用户要填写Key,这个去开发中心要。然后解决方案搜索ScaleformEngine.cpp这个文件,搜索"Insert Scaleform License Key Here",将自己的Key填写进去,然后编译UE4解决方案。
好了UE4中集成ScaleformGFx就写到这里。留个备份,以防下次被坑。
最后来2个效果图:
|