有一段时间没写文章了,趁着等待打包的时间,记录下近期所作的事情:如标题所示。
UnrealEngine从4.24开始就不在支持HTML5,这个看官方文档就知道了。项目中为了增加浏览器缓存的功能,查了不少资料,再UE中,html5比较有价值的一个选项IndexedDB Storage,有关indexedDB其实就说为了给浏览器建立客户端的数据库用于缓存从服务器下载的资源,服务于二次进入相同页面时可以少下载或者不用再从服务端下载,UE里对应的选项如下图所示:
在4.23,这个按钮是灰态的,告诉你需要引擎源码才能支持,查了不少资料发现这块网络上的讲解几乎没有,因此本文章主要是介绍如何让4.27支持html并且可以勾选该选项。
先附上参考的文章:https://github.com/SpeculativeCoder/UnrealEngine-HTML5-ES3s
文章里一步步的讲的已经很多,但是实践中其实还是遇到了有些问题,这里只记录下我自己的操作过程及遇到的问题:
1、下载4.27:https://github.com/SpeculativeCoder/UnrealEngine/tree/4.27-html5-es3
2、windows下确保安装了
git for windows:用于windows下执行.sh文件
vs2019或者2022,并在VS安装程序中保证勾选了unreal相关组件
CMAKE
python3.1.2
打开翻墙软件
3、到引擎的解压目录,并且运行目录下的Setup.bat,会继续下载引擎相关的依赖
4、到Engine/Platforms/HTML5/目录下,右击git bash 打开bash的控制台,把Html5Setup.sh拖到控制台中运行.好了到这文章中说可以等待绿色的succss提示,但本人实践中在这遇到了不少问题:
a、运行Html5Setup.sh内指令忽然停了:说明有些指令出错了但是bash不会给你报,这里我一步步的增加调试语句,后面查出epsdk在windows下没被认出是目录底下的python文件,打开HTML5Setup并修改如下:
b、指令中包含了下载并且安装epsdk相关的插件,然后也是通过指令来设置环境变量,但是实际上并未真正的设置到环境变量中,也就会出现遇到后面build三方lib库时候出现bash停止继续执行的状况,bash执行时其实有log,windows下会要你自己手动设置一下,bash脚本在:
自己手动设置的环境变量如下:
到这步应该可以等到文章里所说的success了。
c、怀疑缓存问题,误删了下载的引擎内的patch(自己的锅,后面编辑查看了脚本发现其实 就是文章作者修改UE内代码打包的patch,不要乱删):
5、回到引擎目录下运行GenerateProjectFiles.bat,生成sln。这步遇到了奇怪的报错:
Error while enumerating Visual Studio toolchains,需要打开Engine\Source\Programs\UnrealBuildTool\Platform\Windows\UEBuildWindows.cs
修改如下:
6、打开引擎目录下的.sln,并且编译执行,新建项目后进入,可以看到按钮是可以打开或者关闭 了。