(图文+视频)C4D野教程:RS渲染XP粒子制作水龙头喷烟雾

成都/设计爱好者/3年前/1085浏览
(图文+视频)C4D野教程:RS渲染XP粒子制作水龙头喷烟雾
野鹿志

XP模拟烟雾 RS渲染VDB

又有一阵子没更新了,其实我还是没闲着,先来看看要临摹的内容吧,同样来自INS上的大神 @BastardFilms:
undefined


同样我这里压缩成动图大家看看效果吧:

undefined

原图作者BastardFilms,入侵请联删


原作者是使用XP制作的烟雾,由于我之前模拟烟雾都是用的TFD,XP的EFX几乎没怎么用过,所以我也想尝试一下。


不过制作出来烟雾的形态还是和原图的效果差很远,将个烂就吧。


另外其实模拟部分早几天就做出来了,但是渲染出来的烟雾总是有闪烁的情况。


我测试了很久,模拟方面应该没有问题,我猜就是渲染的问题,但是暂时没有找到解决方法,所以最后我是后期用AE消除闪烁的情况的。


好了,不多废话了,后面我们边做边说吧。

undefined


01

场景搭建


首先按照原图搭建一下场景吧,新建一个立方体,适当的调整它的大小,我这里的尺寸是60*20*60cm:

undefined


C掉以后删除顶部的面,然后添加一个布料曲面增加厚度,这个不用说哈:

undefined


把布料曲面连接对象加删除弄成一个对象,然后再新建一个立方体适当的调整它的位置和尺寸:

undefined


再次新建一个立方体调整它的大小和位置:

undefined


接下来布尔它们,然后连接对象,这个不用多说哈:

undefined


然后导入一个水龙头模型,这个我是直接在魔顿网上下载的:

undefined


把模型缩放到适当的尺寸,调整合适的位置:

undefined


新建一个大大的平面当作背景,然后让它刚好和水龙头相接,台子的尺寸如果不合适再单独选择面适当调整一下就好了:

undefined


如原图所示内部再放一个立方体吧:

undefined


现在的水龙头模型是一个整体,我们需要把它分离一下,所以添加分裂对象,模式选择为分裂片段:

undefined


将分裂C掉,就可以看到模型的各个部分都被分开了:

undefined


选中开关的部分,把它们打个组,移动到合适的地方:

undefined


然后水龙头部分可以删除多余的部分:

undefined


下面是为后面模拟做准备了,可以看到会和烟雾碰撞的水龙头部分面数有2000多。


虽然不算多,但是我们还是尽量让碰撞体的面数少一些:

undefined


所以可以先删除部分不需要的面,删除完毕以后记得优化一下点:

undefined


再用减面生成器对剩下的部分减面一下,我这里减到1000多个面,感觉差不多了:

undefined


然后再将减面对象连接成一个对象,先暂时这样吧,后面我们看着实际情况再调整:

undefined


02

烟雾模拟 动画制作


先设置下帧速率吧,帧速率设置为25,做10秒动画吧:

undefined


我这里给开关做了一个简单的旋转动画,先选中需要旋转的部分调整一下它的轴位置:

undefined


然后让它在20帧的位置旋转90度:

undefined


接下来就是烟雾模拟了,我尝试了一下,要制作类似原图那种烟雾突突突的感觉,用粒子发射器来当作发射源感觉会比物体发射要好一些。


所以新建一个粒子发射器,我这里用的是椭圆形的发射器,调整到适当的位置和尺寸:

undefined


给水池添加XP碰撞体标签,碰撞模式为内部,反弹关掉,同时添加一个EFX碰撞标签,并且取消勾选solid,这样烟雾就可以和水池的内部发生碰撞:

undefined


给粒子发射器添加EFX发射源标签,因为我们要模拟烟雾,所以就只保持烟雾通道是百分之百,其他通道都关掉。


速度通道我也给到了一百,这样粒子运动的速度也会传输到烟雾上,卷曲我也同样给到了100,然后压力值我给了10,这样烟雾体积会有一定膨胀的感觉:

undefined


除此之外,我们想要粒子产生烟雾,还需要在额外数据中的物理数据里给烟雾一定的数值:

undefined


接下来新建XPEFX,虽然默认情况下的EFX会有自适应框,所以不改变模拟框的尺寸对模拟的速度不会有太大影响。


但是缓存出来的文件却会大的多,所以记得把体素框改小一点,通道里就只勾选烟雾通道就可以了,点击播放,你会发现烟雾精度很低:

undefined


先暂时将体素尺寸改到1吧,这样模拟速度既不会很慢,也便于观察:

undefined


现在烟雾有很多问题,没关系我们一个一个的解决。


首先是烟雾一坨坨的太大了,这个其实是和粒子的半径有关系的,所以回到粒子发射器里,将半径改为1,然后有一个1的变化范围:

undefined


接下来还有几个问题,开关是20帧的时候打开,所以烟雾应该晚一点出来才对,并且烟雾数量太多了,下落的速度也太快了。


所以我这里首先让粒子15帧的时候才发射,让粒子只存活20帧,有20帧的变化。


然后粒子的数量我改少了,同时我将粒子的速度改为0,你会发现烟雾会自然下落:

undefined


这是由于EFX里,烟雾的浮力默认是负方向导致的,我这里顺带的提高了涡度,湍流以及湍流强度:

undefined


但是现在烟雾下落的速度又太慢了点,以至于都不能碰撞以后堆积起来。


所以我这里又添加了一个重力,控制粒子下落的速度,我个人觉得这样会比较好控制点:

undefined


现在的烟雾和水龙头是没有碰撞的,所以给水龙头也添加EFX碰撞标签,并且取消勾选solid。


这时候你会发现在水龙头内部的粒子发射不出烟雾来,并且会有一定的距离:

undefined


我们首先想到的是提高模拟的精度看能不能解决这个问题,所以我这里尝试把体素改到0.2。


水龙头的内部确实有烟雾了,但是现在模拟会很慢,并且可以看下预估的缓存文件有10多个G:

undefined


我觉得这个可能不是我最好的选择,所以我这里换了一种方式,首先我把体素尺寸改到了0.5,可以看到现在的缓存文件预估是700多M:

undefined


新建一个体积略微大一点的立方体放在发射器的位置,其实相当于就是给烟雾碰撞更多一点的空间:

undefined


再给它添加EFX碰撞标签取消勾选solid:

undefined


同时回到之前的碰撞水龙头,我们把碰撞标签里重新勾选上solid,这样烟雾内部就正常的发射出烟雾,并且可以和水龙头产生正常的碰撞了:

undefined


内部的立方体别忘记也给一个EFX碰撞标签:

undefined


另外我激活了upres,体素尺寸同样也改为0.5,其他参数默认,这样会在原有的基础上再次增加烟雾的细节:

undefined


基本这样就可以进行缓存了,XP的EFX和TFD不一样,无论是RS还是OC渲染都需要导出VDB文件才行。


所以缓存的时候EFX选择为VDB,压缩缓存文件可以取消勾选,这样会提高一些缓存的速度,但是缓存文件的体积会有所增加:

undefined


缓存时间其实不长,只有10来分钟,体积也不到1G:

undefined


03

渲染部分


接下来就是渲染部分了,我首先给台子以及水池都添加了倒角变形器,增加了一点点的倒角:

undefined


新建环境光,给一个HDRI贴图,这个不用多说哈,同时新建一个大大的平面当作地面:

undefined


新建RS的体积对象,载入VDB序列,显示模式改为点,就显示100个就好,方便观察:

undefined


动画里面模式选择简单,点击计算,记得把帧速率改为25:

undefined


但是你会发现现在的烟雾的方向好像反了:

undefined


没关系,把体积对象的Z轴改为-1就好了:

undefined


接下来新建一个体积材质,载入密度通道,我这里为了让烟雾厚一点,吸收和散射都给到了8,其他参数都是默认的:

undefined


现在的烟雾是黑的,将灯光里的体积贡献值给到1就好了:

undefined


顶部在补一盏灯吧,同样记得体积贡献值要给到1:

undefined


地面和背景的材质是普通的白色反射材质:

undefined


水龙头和开关的材质是RS预设的金属铅材质:

undefined


水池是RS预设的玻璃材质,同时我把反射、折射等次数都提高了:

undefined


在优化里我取消勾选了剔除内部较弱折射:

undefined


我觉得现在的玻璃有一点点飘,所以在高级里阴影的透明度提高了一下:

undefined


台子和内部立方体的材质我是首先用RS的噪波节点制作出第一个纹理:

undefined


再用一个噪波节点制作出第二个纹理:

undefined


用一个合成节点将这两种纹理以相乘的方式混合:

undefined


最后再用一个混合节点将纹理当作蒙板,混合一个白色和灰色材质:

undefined


设置渲染尺寸,摄像机固定视角,做一个推进动画这里不用多说吧:

undefined


最后我们再来说说GI,这个就是导致这篇文章耽误了这么长时间的原因,并且现在还暂时没有找到好的方法。


在默认不打开GI的时候,我们注意看一下74帧和75帧红色箭头处的情况:

undefined


当我打开GI区别更明显,首次选择蛮力模式,二次选择辐照点云之后,可以看到红色箭头处75帧明显会比74帧要淡一些。


如果是静帧还好,在动画里面这个烟雾就会产生闪烁,这个就是一直困扰我的问题:

undefined


为此我测试了很久,每帧随机图案的选项也取消勾选了,也尝试过两种GI引擎都用蛮力。


或者将辐照点云的计算先缓存,然后载入以后提高帧混合,也都没有解决掉:

undefined


没办法,先把文章首尾最后再来说怎么在AE后期里消除闪烁吧。


采样方面,主采样是128,其他所有的本地采样都是512,渲染时长我记得是16-17个小时:

undefined


最后再来说说AE里怎么消除闪烁吧,其实很简单,就是借助了一款叫做DEFlicker的插件,它有四种消除的方式,我这里选择的是消除高速闪烁:

undefined


添加以后不用调整参数,它会自动消除闪烁,我这里添加了两个,闪烁基本就删除了,效果还不错,安装包我也会放进源文件里供大家使用:

undefined


最后导出来看看效果吧:

undefined


闪烁确实没有了,不过烟雾的形态确实也没有原图好看,下面是今天的视频版:


好啦,今天的分享就到这里,想要源文件以及原视频的鹿友后台撩我获取吧!


更多内容欢迎关注公众号:

本文由“野鹿志”发布

转载前请联系马鹿野郎

私转必究


23
Report
|
25
Share
相关推荐
评论
in to comment
Add emoji
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
You may like
Segway E3 Pro|Own Your City
Homepage recommendation
装东西Packing.
Homepage recommendation
相关收藏夹
C4D
C4D
C4D
C4D
作品收藏夹
C4D
28
教学
教学
教学
教学
作品收藏夹
文章干货
文章干货
文章干货
文章干货
作品收藏夹
设计思路
设计思路
设计思路
设计思路
作品收藏夹
RS渲染
RS渲染
RS渲染
RS渲染
作品收藏夹
设计文章
设计文章
设计文章
设计文章
作品收藏夹
大家都在看
Log in