如何使用Houdini为Unreal4适配到对应版本的Houdini Engine插件(需要卸载重装咩)
首先描述一下我遇到的问题:最近想试试Unreal4.26的新Niagara特效系统,但是我的Unreal版本是4.25的,于是重新卸载并安装了4.26的虚幻引擎,此时忽然想起了我的Houdini内对虚幻引擎的这个插件只支持4.24和4.25这两个版本,那么怎样才能成功下载一个支持4.26虚幻引擎版本的Houdini Engine插件到Houdini里呢?
这里由于截图的关系,让我重新直接把问题抽象成如何升级Houdini Engine for ue4插件的版本以适配更高级的虚幻引擎版本,这个和我遇到的问题是不冲突的。
首先打开Houdini,在左上方New shelf里把Houdini Engine点上:
点击最左边的Plugin Installer
这之后可以看到打开来的Houdini Engine Plugin Installer里已经自带了支持虚幻4.25和4.26的插件,如图1所示;如果你没有,那么可能需要重装Houdini,在安装的时候勾上Houdini Engine for Unreal,如图2所示:
图1:这里可以看到Houdini对虚幻的支持到4.26版本为止图2
(这里额外说明一下这里的4.2x和4.2x-2并不是说分别支持Unreal4.2x.1和Unreal4.2x.2的版本,这个“-2”是指Houdini Engine for Unreal这个插件的版本,以下是官方对这个Houdini插件版本的描述:
“版本 2 是对现有 Houdini Engine 插件核心架构的重大改写,并带有许多新功能和改进”
”版本 2 还部分向后兼容 Houdini Engine for Unreal 插件的版本 1”
“当加载包含使用版本 1 制作的 Houdini 对象的关卡时,插件将尝试将 V1 组件、参数、输入和输出转换为其 v2 等效项”
“某些 HDA 可能需要在转换后重建,以便 v2 插件正确显示其参数和输入“
“遗留 v1 数据的转换仍在进行中,并将在未来进行改进。但是,为插件版本 1 创建的 Houdini 数字资产本身(HDA 文件)与版本 2 完全兼容,因为它支持大多数版本 1 工作流程”)
言归正传,假设这时我们的虚幻引擎版本是4.27,那么怎么让上面的框框里多出4.27的选择呢?
首先要明确这个Tag虽然叫Houdini Engine Plugin Installer,但是它并不能自动帮我们去官网下载你想要的Houdini Engine for Unreal版本,一切需要我们手动操作来进行。所以这个时候就有一个分支:
1、如果你已经购买了正版的Houdini软件,可以直接尝试去官网下载插件,链接如下:https://www.sidefx.com/buy/#houdini-engine-unreal-unity
2、如果你像我一样使用的是学习交流版Houdini,则需要去Github上下载,链接如下:
https://github.com/search?q=Houdini+Engine+for+Unreal
我就讲一下这里的第2条路应该怎么走,从github上下载完成后,解压文件夹可以看到以下内容:
Houdini Engine for Unreal 4.27的源文件
把它们的父文件夹命名为“4.27”,把这个“4.27”的文件夹放到…Side Effects地 SoftwareHoudini 18.5.xxxengineunreal目录下面,如下图所示:
4.27是我们刚刚新增的,其余的是Houdini内置的
紧接着重启Houdini,就可以看到4.27已经出现在了可供选择的范围内:
4.27出现啦
但是,这其实是没有作用的,接下来仔细讲解原因:
这里由于截图关系,我把假设重新替换成我的Houdini只支持到Unreal4.25,我需要升级到4.26的插件。我们通过下图中的方式,选择“install”/”update”,将这个插件复制到Unreal相关的目录…UE4.26UE_4.26EnginePluginsRuntimeHoudiniEngine下(18.351版本仅支持4.24和4.25,18.5.424开始变更为支持4.25和4.26,参考https://www.sidefx.com/forum/topic/77327/,这里的支持指安装Houdini时自带插件):
成功后,会出现两排绿字提示安装完成
这时理论上已经完成了插件的安装,但是实际上打开Unreal,会出现提示找不到 ‘HoudiniEngineRuntime’模块的字样,Unreal直接无法打开!这是因为:
Unreal引擎本质上是通过读取编译C++后生成二进制文件来运行的,对比一下内置的4.25插件,如下图所示,就可以发现我们从github上下的插件缺失了“Binaries”和“Intermediate”这两个关键文件夹,因为它们是源文件,并没有进行预编译操作,就无法被Unreal Editor成功识别,也就导致了无法打开Unreal引擎的结果,(更多详情请参考-https://github.com/sideeffects/HoudiniEngineForUnreal/tree/Houdini18.5-Unreal4.26).
Binaries是经过预编译的二进制文件,Intermediate是Unreal读取二进制文件生成的中间文件
那么如何进行预编译操作来生成上述的这两个关键文件夹呢?
有两种操作方法:
1、Installing from Source(图3)
2、Installing from plugin (图4)
图3
我们通过Github上给出的插件源文件使用说明,发现需要通过‘GenerateProjectFiles’这一方法来执行,而这种方法需要从Ue4底层源文件开始构建,也就是说我们需要Ue4的源码也才可以,但按照插件说明书的意思,似乎需要下载整个ue4的source code,通过批处理文件GenerateProjectFiles.bat进行构筑,会编译成二进制代码,再生成中间文件,最终扩充成可供运行的Ue4引擎(大约30-40GB),这是针对整个ue4源码进行构筑的(这是我自己的理解)。至于怎样单独为一个插件的源文件构筑二进制代码和生成中间文件以供蓝图功能使用,通过查阅资料(Ue4在创建项目时可以选择生成C++ Source文件,但我的电脑创建Ue4项目选择C++文件时会报错,虽然C++ Source文件里有解决方案xxx.sln,打开它似乎就能够对引擎进行编译和built)应该是有方法的,但这超出了我的能力范围,插件文档里也没有明说(如果有人知道的话,请告诉我),详情请参考Unreal官方文档:https://docs.unrealengine.com/4.27/zh-CN/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/
图4
第二种方法便是直接下载官方已经帮我们预编译好的插件。遗憾的是,Houdini官方只为Houdini-19.0以上版本提供了预编译好的Houdini Engine for Unreal插件能供我们直接使用,它可以分别对应Unreal的4.26,4.27和5.0版本。
到这里,我可以给出最终的建议~:
1、如果你使用19.0及以上的Houdini版本,可以直接通过下方链接下载可供直接使用的插件:https://github.com/sideeffects/HoudiniEngineForUnreal/releases
2、如果你使用19.0以下的版本,建议和我一样卸载重装Houdini,通过Houdini安装时勾上相应自带的插件来解决问题,附上龋齿一号Houdini18.5.532+学习交流版链接:
http://www.gfxcamp.com/houdini-185462/
3、如果你懂得引擎的编译,请尝试上述的从源头构建Houdini Engine for Unreal插件(Installing from source):https://docs.unrealengine.com/4.27/zh-CN/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/
4、如果你使用的是正版,请尝试从Houdini官网下:https://www.sidefx.com/buy/#houdini-engine-unreal-unity