UE相关的一些特殊版本环境编译记录
以下记录了一些工作中对UE特定版本特定环境编译的坑,希望能帮到后来人。不定期更新。UE4.24 HTML5引擎编译
Unreal Engine从4.24.3以后已经停止了HTML5平台的支持,网页渲染架构据说会再来一波升级,但是迟迟没能搞定。需要在网页上跑本地渲染的项目,没办法,必须自己编译引擎。编译过引擎的同学一定觉得这不是一个问题,但是你完全忽略了一个小众分支是如何的不受待见。
首先官网会引导你去H5社区维护文档的主页
如果你仔细阅读,你会得到一个step by step的教程如下
非常棒,但是你注意看它的问题板,你就知道这东西有多么的可怕。首先,这个文档有错误。作者在写文档的时候应该还是开发阶段,所以留下的是开发分支的地址
git clone -b 4.24.3-html5-1.39.18 --single-branch https://github.com/UnrealEngineHTML5/UnrealEngine ue4-4.24.3-html5在直接编译主分支失败以后,我注意到了这一点,老老实实按着教程clone了这个分支,编译,通过,然后测试项目,最后发现,无法获得鼠标的屏幕坐标,数值是一个极大的随机数。。。
所以,切记,主分支才是稳定分支,老老实实从主分支拉取
编译过程中的坑
[*]python环境问题
UE依赖Emscripten将c++转为js代码,编译过程中极其依赖python,emsdk的脚本做得非常干净,会自己创建一个本地的编译环境。但是,Win10商店不知从哪个版本起,自带了一个老掉牙版本的python,全局指定了这个路径,导致emsdk创建的python环境失效,第一步就过不去。必须删掉。
删掉以后你会发现python的版本还是不对,因为UnrealEngine\Engine\Platforms\HTML5\Source\Programs\UnrealBuildTool
这个目录下的HTML5SDKInfo.cs中写死了python的版本跟emsdk编译脚本中的不一样,需要与emsdk统一,而emsdk的版本一直在变。。。
[*]第三方库中的PhysX3编译失败
这是H5平台的物理依赖库,两次编译到这里都会莫名其妙的卡住,翻阅Git上的讨论组,最后定位到了另外一个重要的文件
C:\HTML5Works\UE4HTML5\ue4-html5\UnrealEngine\Engine\Platforms\HTML5\Build\BatchFiles\Build_All_HTML5_libs.sh
在编译脚本里面赫然发现了这一句
# WARNING: building PhysX might take a while...
# WARNING -- WARNING -- WARNING -- WARNING
# WINDOWS may stall here at the end of each library build (-O2 -O3 -Oz etc.)
# the zombie python process may have to be manually killed (via task manager) to get this moving again...
# WARNING -- WARNING -- WARNING -- WARNING是的,杀掉那个挂起的python进程,编译就继续了,然后几小时后,你就得到了一个完美的h5引擎。
我的问题是,您写了那么多个WARNING,咋就不能放到编译文档里面去呢!!!!?
[*]其他问题
如果你编译过程中遇到了什么其他诡异的问题,建议翻一翻讨论区,你掉进去的坑,大概率埋着别人。
OpenVDB 的python导出
现在UE5有插件直接显示vdb了哟~~~~真的houdini已经特么的是一个闪退高手了,好嘛,这种破技能还叠加给另外一个闪退几率更高的高手。然后nv也来叠buff放出nanoVDB,反正涨价总得有说头,大家混口饭吃都这么卷了么。。。
言归正传,我需要把一些点云数据转为vdb来显示,找到OpenVDB的Git
官方文档里面直接上教程,怎么安装一句也没有,按着git read me走一遍build,最后一点py的影子也没有,倒是cmake出来的工程里面有,但是咋编啊。。。
还是翻讨论区,找到这个
是的,编译参数-DOPENVDB_BUILD_PYTHON_MODULE=ON,编好以后自己设环境变量,然后import pyopenvdb 开始愉快地画点云吧!
Again.你掉进去的坑,大概率埋着别人。 说到闪退高手,不得不提一下高手中的高手Houdini for macOS 哈哈哈,凯哥我想构建一条属于程序员的奇葩路线,用taichi做计算预览,导出vdb用ue5/unity做渲染数据后处理。unity也有个vdb的插件~所有高集成度的东西都是魔鬼~
页:
[1]