ue4使用houdini制作体积云 houdini游戏工具(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenmifangke/article/details/83999950

标题图是raymarch材质和ue4自带体积雾结合,虽然自带体积光线投影上还有问题,但是基本材质冲突不是很大,可以用于影视或者动画的体积云表现。

传统游戏中做云雾的方式大多数使用贴片粒子,但是这样的云雾缺少体积感,而且在形状上精度也不高。

Ue4.16以后自带可以体积雾效果也可以模拟体积云,拥有很惊人的效果

当然Ue4做体积的云的方式有很多种,下面介绍一种方式,利用Houdini将云导出成贴图然后在ue4中还原,还能借助影视项目中的云效果放进ue4当中,可以说是很方便了。

在表现上虽然有些欠缺但是基本已经够了(精度由贴图控制)

ue4中云的效果和houdini中原始云的效果

官方介绍在这(需要登录epic帐号才能跳转)

https://forums.unrealengine.com/showthread.php?143821

ue4需要用到这个插件unreal-engine-public-share-cdn.unrealengine.com/ShaderBits-GDC-Pack.zip

简单的说这个工程中提供了一种raymarch材质,可以将云的序列图切片在ue4当中还原出实体的云出来。

houdini导出切片方式的云需要依靠houdini游戏工具当中的rop volume to texture

下面是工程导出插件和方式

https://www.sidefx.com/tutorials/write-volume-slices-to-texture-for-ue4/

https://www.orbolt.com/asset/Benny::renderVolume

https://github.com/sideeffects/GameDevelopmentToolset

方法比较简单,将插件直接放入houdini的otls文件夹内,

导入要处理的几何体做成云的形状,并用noise增加云的细节,

然后使用wrangle节点反向云的颜色,因为白色代表了云的密度,而纯黑色代表了空处,

加入插件rop_volume_texture节点,

Slices表示总块数,一般是每行块数Images Per Line的平方

Resolution是贴图整体边长,

要提高云的精度就要提高边长和每行的块数了。

最后导出exr图片。

下面是导入到ue4中图片的设置,这样才能被材质正确识别。

放入材质球上,

填写正确的xyFrames(就是对应Houdini的每行块数Images Per Line)

最后三行颜色是模拟云上的平行光,因为云雾是不受光照的。

如果场景中的云和其他物体可以相交,如果有切片效果那是云的渲染精度不够了,可以在steps里调整精度。

另外场景内云和云不能重叠,会有闪烁问题。

猜你喜欢

转载自blog.csdn.net/shenmifangke/article/details/83999950