在UE4中制作闪电效果(ue4创建闪电特效教程)优质

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

Houdini是一款在影视、特效界用得比较多的3D建模、渲染软件。Houdini有自己的Mantra渲染器。也可以调用第三方渲染器。比如:RenderMan、Mentalray、Vray、Arnold和Torque等。使用Houdini配合这些渲染器可以直接在软件中输出视频、图片等渲染结果。但是我们是否可以用Houdini来作为3D资源产生工具并使用游戏引擎渲染呢?

在UE4中制作闪电效果(ue4创建闪电特效教程)

正式开始之前先讲讲目前Houdini在3A游戏中的使用情况。

自研引擎“重度”集成Houdini的3A游戏。早些公开资料的主要是两个大型室外射击游戏:

左边是幽灵行动(GhostRecon)。右侧是FarCry。

如果Google搜Houdini程序化技术在游戏中的使用。基本会搜到这两篇。

在UE4中制作闪电效果(ue4创建闪电特效教程)

上面两张图是FarCry中的悬崖实现

在UE4中制作闪电效果(ue4创建闪电特效教程)

这是使用Houdini自动根据地形修改桥模型。

当然最大前面两个游戏最大使用的还是使用Houdini程序化实现整个室外地图。包括:地形高度、地表贴图、植被、路面等

程序化实现超大地图很适合我们公司多个项目。因为基本都是大地图RPG游戏。这也是我们去年和今年的工作重点。

GDC2019蜘蛛侠用Houdini实现整个曼哈顿城市。这也是引擎重度集成Houdini的案例。相关演讲视频可以在GDCVault找到。下面有链接(可能需要GDCVault账号)

ProcedurallyCraftingManhattanforMarvel’sSpider-Man

https://www.gdcvault.com/play/1026415/Procedurally-Crafting-Manhattan-for-Marvel

https://www.sidefx.com/community/fx-adventures-in-uncharted-4-a-thiefs-end/

其实还有很多游戏在某些效果上使用Houdini。这是神秘海域4在使用Houdini实现破碎和水流的图片。

神秘海域在过场动画中大量使用Houdni。基本上是通过预烘培(pre-baking)动画的方式使用。

下面讲讲在虚幻中如何使用Houdini。

分为3个步骤

1.制作测试场景。HIP文件

2.打包成HDA(HoudiniDigitalAsset)

3.把HDA文件放入虚幻使用

这里以烘培雪掩码距离。我们的任务是把有雪的区域用顶点色表示。在Houdini中计算顶点色。最后更新到虚幻的模型上。

第一步是在Houdni中做一个测试场景。首先找个测试模型(亭子)模拟输入。

从天空5个平面发射雪粒子

击中模型

根据雪粒子距离模型顶点的距离计算雪掩码。

这是一个HIP文件。相当于max源文件。

注意参数部分。分为两部分:

1.需要处理的模型

2.烘培参数:雪吹过来的角度、法线计算的坡度减弱雪强度、底部雪高度(植被大量用)

最后是以一个HDA结尾的文件保存。

要在虚幻中使用这个HDA。需要有程序把输入部分(模型和参数)传给Houdini后台。烘培结束后还需要程序负责把输出参数更新到虚幻模型文件。

HoudniEngine就是干这个用的

HoudiniEngine是对所有这种程序的总称。在虚幻。Unity,Max,Maya都有对应的程序(都是以插件实现)

HoudiniEngine是开源的!虚幻中大概有几十个源文件。源文件里使用HAPI(HoudiniAPI)接口实现于Houdini通讯。

HoudiniEngine官方插件:

虚幻和Unity两个插件源代码位置和文档

Unreal4

源码:

https://github.com/sideeffects/HoudiniEngineForUnreal

介绍:

https://www.sidefx.com/products/houdini-engine/plug-ins/unreal-plug-in/

使用文档:

https://www.sidefx.com/docs/unreal/

Unity

源码:

https://github.com/sideeffects/HoudiniEngineForUnity

使用文档:

https://www.sidefx.com/docs/unity/

Unreal4Plugin源码

HoudiniEnginePlugin

如果开启插件。注意图标被我们换过。因为这是个修改版的插件。

虚幻中和测试场景中模型和参数的对应关系。可见HoudniEngine这个插件就是要把虚幻中的这两个参数替换掉传入Houdni。

十分好的调试工具:查看“隐藏”的Houdini烘培场景。

官方插件提供了一个Shelf工具栏。用来实现快速烘培。合并“拖放HDA;选择模型”这个步骤到一键处理。

虚幻中如何使用HDA讲完了。下面讲讲Houdni在天气系统中的具体应用场景

Houdini在天气系统中的应用:

雪、雨

建筑物、地形

闪电

湖面冰

依赖的插件:

PEHoudiniForUnreal

HoudiniForUnreal官方插件修改版(PE=PerfectEditor)

PerfectWeather

完美天气系统插件:雨、雪、风、闪电

更多效果持续开发中…

PEHoudiniForUnrea插件的功能:截图为比官方多的功能部分。

左侧主要为修改原始模型数据。右侧为帮助实现程序化室外地形的“闭环”操作。

GIT

http://zeuspub.sys.wanmei.net/houdini/pehoudiniforunreal

KMS

http://kms.sys.wanmei.net/pages/viewpage.action?pageId=42768054

PerfectWeather插件功能

1.粒子、涟漪、湿润(顶点色掩码)、水流、水坑

2.岸边物体湿润

1.粒子、基于法线方向雪掩码、基于顶点色雪掩码

2.地表雪掩码

3.冰面效果

4.雪掩码烘培工具(Houdini)

支持蓝图“组装”物体

支持阻挡器

手工擦除雪

1.自动化模型烘培工具

通过一个Houdini插件烘培StaticMesh上风效果所需要的轴点(Pivot)、梯度(Gradient)等数据。这方面避免了美术刷模型数据的人工操作。

2.动态风级别控制

支持动态调整风力大小。可在游戏中根据时间、事件渐变风大小。

3.草碰撞效果

角色和草碰撞效果。这个和风放在一起是因为使用了风的轴点数据以及最大拉伸等参数。

4.动态风

支持武器产生的动态风。

闪电效果

冰效果

GIT

http://zeuspub.sys.wanmei.net/houdini/perfectweather

KMS

http://kms.sys.wanmei.net/pages/viewpage.action?pageId=44813887

快捷工具及参数设置

阻挡器功能

手工擦除固定区域雪

有时候需要手工擦除一些雪。比如“路面”

可选择多个静态模型或者蓝图(包括静态模型组件)

组装物体指一个建筑物由好多个部分组成。因为一些特殊原因没发使用材质ID来区分。在虚幻中表现为多个静态模型。

使用“组合物体”的而没有叫“烘培多个物体”是因为烘培HAD里面算法限制。只能烘培模型坐标在”原点附近的模型“

导出雪掩码需要几个步骤。手工点各个按钮

部分今后可以移植到虚幻中。但是因为HoduniEngine不支持ROP。“渲染”相关的功能尚无虚幻中的解决方案。

导出地图中所有雪、雨遮挡体。包括:建筑物、植被

当然也包括地形自己的高度位图、地表贴图层掩码。地表贴图层掩码用来实现路面雪少的效果

这个数据量是巨大的

尚未实现的功能:

使用简模或碰撞模型代替原始模型

Instance的植被需要修改插件单独处理

雪掩码由路面+建筑物遮挡等输入决定

最后输出成多张256的小图片。给StreamingLevel用

地表雪掩码

近处水坑。雨遮挡

房间里面湿润掩码:顶点色

闪电效果也用了Houdni:

1.闪电模型

2.闪电动画数据:梯度(用来控制生长动画)。粗细等

闪电慢动作。顶点色保存了数据控制生长方向和粗细

风效果相关内容较多:

植被风动画

角色衣服、头发

武器风

草碰撞

树的基本组成

实现风动画所需要的一些数据:轴点和梯度

还有每个叶子上的随机数

虚幻自己有一套风动画。这是给Max刷风数据的Max脚本

Houdini官方出了一套游戏开发相关工具。对应的虚幻风。Houdni有一个自动计算风动画数据的HDA

这是5项游戏用于烘培风数据的地图。使用了我们修改过的HDA文件。修改了很多部分。

这是1.0的效果。使用了虚幻的风材质节点

为了实现更好的动态风效果。我们已经改用战神2019的风技术。

风系统在完美天气(PerfectWeather)系统插件中

插件源代码位置。。。各个项目组使用可能需要申请权限

后面过过实现风动画的具体技术实现。相关技术在KMS上有详细介绍。

辅助判断“树叶”“树干”的参数

可视化的调试数据

辅助判断用的包围体:实现单个叶子判定

辅助判断用的包围体:防止花茎和花片分离

集成材质很简单。就一个WPO输入

编辑器模式下帮助测试风力和风向

草程序化弹簧系统实现

草的稳定度

草碰撞分帧计算

动态风上传Motor

动态风分帧计算

以上是由资深渲染大师 小渲 整理编辑的,如果觉得对你有帮助,可以收藏或分享给身边的人

本文标题:在UE4中制作闪电效果(ue4创建闪电特效教程)
本文地址:http://www.hszkedu.com/6014.html ,转载请注明来源:云渲染教程网
友情提示:本站内容均为网友发布,并不代表本站立场,如果本站的信息无意侵犯了您的版权,请联系我们及时处理,分享目的仅供大家学习与参考,不代表云渲染农场的立场!

发表评论