文章来源:公众号:野鹿志
作者:马鹿野郎

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

原图作者BastardFilms,入侵请联删

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

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

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

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

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


01 场景搭建

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

02 烟雾模拟 动画制作

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

03 渲染部分

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

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

C4D野教程:RS渲染XP粒子制作水龙头喷烟雾-哇拍

闪烁确实没有了,不过烟雾的形态确实也没有原图好看。

好啦,今天的分享就到这里。

本文原创,未经作者允许不可转载!

更多内容,欢迎关注作者微信公众号:野鹿志!