找回密码
 立即注册
查看: 654|回复: 0

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

[复制链接]
发表于 2020-11-27 11:56 | 显示全部楼层 |阅读模式
标题图是raymarch材质和ue4自带体积雾结合,虽然自带体积光线投影上还有问题,但是基本材质冲突不是很大,可以用于影视或者动画的体积云表现。


       传统游戏中做云雾的方式大多数使用贴片粒子,但是这样的云雾缺少体积感,而且在形状上精度也不高。
Ue4.16以后自带可以体积雾效果也可以模拟体积云,拥有很惊人的效果
当然Ue4做体积的云的方式有很多种,下面介绍一种方式,利用Houdini将云导出成贴图然后在ue4中还原,还能借助影视项目中的云效果放进ue4当中,可以说是很方便了。
在表现上虽然有些欠缺但是基本已经够了(精度由贴图控制)
ue4中云的效果和houdini中原始云的效果
官方介绍在这(需要登录epic帐号才能跳转)
https://forums.unrealengine.com/showthread.php?143821
ue4需要用到这个插件
http://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里调整精度。
另外场景内云和云不能重叠,会有闪烁问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-25 15:06 , Processed in 0.106353 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表