今天分享内容的视频版如下,视频已添加进度条,大家可以根据自己的需求拖动到想要观看的部分,想要原视频以及源文件的鹿友公众号后台回复“441”获取:

以下是图文版内容:


(资料图片)

正文共: 3696字 76图

预计阅读时间: 10分钟

最近更文的效率好低,不是因为这样那样的事情耽搁就是因为尝试过程中遇到这样那样的问题导致重新来过。前段时间群里发了一个效果:

效果看起来有点恶心,我剪切了一小段压缩成动图大家看看哈:

动图压缩的比较厉害哈,原作品的细节会更多,原作者Bisous好像是一个工作室。

本来是想试着还原一下这个效果,但是尝试之后做出来差别还是很大。

于是又专门去网上搜了一下原作者的介绍,好像还比较麻烦,TFD, XP, KK, RF都用上了,然后是用的OC渲染:

这下我确实不知道是怎么弄的了,感觉也不像是烟雾驱动粒子做出来的效果。

没办法,就只有把我自己想像中的制作方法写出来了, 模拟部分我是用的XP的CPU模拟,然后渲染部分我也是凭感觉用Redshift渲染的。

01

X-Particles模拟粒子部分

打开C4D,新建一个圆柱体,适当的调整半径高度以及分段:

新建发射器,以圆柱体作为对象发射粒子:

发射模式改为六边形,只发射1帧粒子,将粒子的速度改为0,然后半径暂时保持默认:

现在粒子在第0帧的时候是没有的,我希望粒子在第0帧就有粒子,所以可以模式从传统模拟改为模拟,这样粒子第0帧也有粒子了:

添加重力,这个不用多说哈:

给圆柱体添加XP碰撞标签,碰撞模式改为内部,关掉反弹,摩擦力改到最大:

现在粒子没有流体的状态,所以添加流体动力学,经过测试好像PBD会稍微好点。

使用FluidFX后面粒子碰撞跳动会很严重,然后我这里把粘度和吸引力都关掉了,目的是为了让粒子不聚拢在一起,否则后面网格化可能会产生孔洞:

给场景中添加湍流场适当的增加强度,工程总时长我们渲染300帧哈:

接下来要给粒子做出忽大忽小的感觉,所以给场景中添加尺寸修改器。

半径修改稍微增加一点,然后最大半径我限制在15,场景中的所有粒子很快就会增加到15后停止增长:

衰减里面我们添加着色器域,着色器里添加噪波:

噪波里可以给一点动画速率,循环周期我们也可以适当的给一点,不过现在粒子的效果好像没有什么变化:

回到尺寸修改器里,我们勾选重映射衰减数值,就可以看到粒子的大小跟随着噪波贴图的动画在变化了:

着色器域里的重映射轮廓模式我们改为曲线,我感觉这样效果会好一些:

但是现在感觉粒子之间的间隙比较大,网格化肯定会出问题,并且也有很多粒子漏下来,我们可以这么操作一下,给粒子发射器添加两个组:

然后让尺寸修改器只影响其中一个组,我觉得这是我想要的效果:

在粒子的下方放一个杀死修改器,搞掉漏出来的粒子就好了:

最后我们可以把粒子半径改小,相当于是增加粒子数量大概看一下整体的效果:

不过现在我们相当于只做了泡泡周围突起的部分,泡泡本身还没有制作。

接下来是制作忽大忽小的泡泡部分了,这里我们要用一个之前没有用过的工具xpCirclePacker:

点击创建发射器以后发射粒子,以后可以看到它能在发射器里发射出大小不一并且互不相交的粒子:

所以我们可以把发射器改为圆环发射,发射器的半径比圆柱体的半径稍微小一点,然后发射的数量稍微少一点,给一点随机值:

xpCirclePacker我们把最大最小半径改大一点,这样大球就出来了:

比例缩放里我们把尺寸增加和减小都激活,就可以看到粒子忽大忽小了,但是你会发现粒子过了一段时间就没有了:

我们把发射器的HUD打开可以看到,粒子虽然半径减小到0了,但实际粒子在场景中还是存在的。

而xpCirclePacker由于要在发射器范围内发射大小不同且不相交的粒子,就只有发射这么多个粒子才行:

因此我们可以激活杀死半径为0的粒子,这样粒子就会持续发射出来了,变大变小的时间我们可以快一点,再给一点随机值:

这里我希望的是和原图一样,一开始是没有泡泡的,然后逐渐出现最后逐渐消失。

所以这个泡泡的发射器我们让它从10帧开始发射,然后在270帧的时候停止发射:

同时我们让xpCirclePacker的最大最小半径在大概285帧开始逐渐消失,这些K帧的地方我是事先尝试出来的哈:

同样另外一个发射器的话我们通过尺寸修改器来控制,让一开始的时候没有变化,在第10帧开始修改器发生变化:

需要注意的是想让粒子像原图一样最后又恢复到圆盘,只是通过控制尺寸修改器是不行的。

一方面即使我们对尺寸修改器的变化K关键帧也会发现最后有一些粒子尺寸不能回到初始状态,并且场景里添加了动力学,粒子到最后的位置也不对:

所以我们想要粒子最后恢复成圆盘要另外想办法,这个问题我们先留下。

把两个发射器同时打开播放观察一下,会发现有些粒子由于碰撞的关系飞起来了:

所以再给场景中添加动力学约束,激活摩擦力,这样就会降低粒子碰撞飞起的情况:

差点忘记了湍流场也要K一下关键帧,让它在第10帧开始才起作用:

然后我这里给场景添加了xp的泡沫,让泡沫从第10帧才开始产生,泡沫的生命持续50帧就好。

然后通过最大最小速度来控制泡沫的数量,这个参数大家多多尝试吧。

现在泡沫在圆盘周围一圈也产生了,这不是我们想要的:

所以将圆柱体复制一份,半径缩小一点,然后再新建一个杀死场,让超出圆柱体范围以外的粒子被杀死。

但是这里不要忘记给泡沫发射器添加一个组,让这个新的杀死场仅仅影响泡沫这个组:

然后泡沫的生成率上K下关键帧,让泡沫从250帧开始生成率逐渐减少:

最后我给整个场景添加了颜色修改器,将Y轴上的高度映射成黑白渐变,方便后期用渲染器重新定义,高度大家可以用一个平面测量一下就好:

给第一个发射器设置一下初始状态:

不要忘记泡沫要排除一下颜色修改器:

另外由于我计划是用农场或者苦七的电脑来渲染,两者都没有安装xp,网格化的粒子还好处理。

泡沫粒子我们需要额外的导出ABC文件才行,所以在泡沫的发射器里激活TP粒子,把缓存忽略粒子速度这些都勾选上。

然后在模拟TP粒子里,把粒子组拖到XP的发射器栏位:

再新建一个TP粒子几何体,把粒子组也拖进去:

基本这样就可以进行缓存了,缓存时间20多分钟:

03

粒子网格化

缓存完毕之后我们先将整个场景都导出为abc格式:

然后再在场景中合并这个abc文件,删除多余的内容,可以看到我们的泡沫粒子已经转为abc文件了:

接下来新建xpOpenVDBMesher,把除了泡沫以外的发射器都拖进来,并且把圆柱体也拖进去,体素尺寸和点半径都改为1:

这里我让被尺寸修改器控制的发射器一开始的点半径很小,然后逐渐变大,最后再逐渐变小,这样就可以让网格从圆盘开始形变最后恢复到圆盘的样子了:

过滤里面再选一个滤镜平滑一下,基本上就是一个标准的圆盘了:

标签里面激活顶点速度和顶点颜色,顶点速度用于后期合成运动模糊,而顶点颜色用于渲染:

网格的话我们就直接右键烘焙为abc格式就好,不过abc文件挺大的,大家最好

最后我觉得泡泡太圆了点,所以添加了一个挤压伸展的效果器,把泡泡压扁一点:

03

Redshift渲染部分

终于到了渲染部分了,设置渲染尺寸以及色彩空间这个不用多说了哈:

新建摄像机和HDRI环境光,这个也不用多说哈:

给烘焙为ABC文件的TP粒子几何体添加RS对象标签,模式选择为优化球体,大小大家看着效果调整,材质的话就是普通的白色材质:

新建大大的地面当作背景,材质也是普通的漫射材质这个不用多说哈:

接下来是主体的材质这里详细说一下,我希望的是圆盘的边缘和正面是两种不同的颜色,所以首先用一个曲率节点把边缘的选区提取出来:

接下来再用一个渐变节点来提高选区的对比度:

用顶点属性节点把顶点颜色的选区也读取出来:

用一个颜色合成节点将两个选区相加:

用一个渐变节点对选区的颜色进行重映射:

再用一个黑白的渐变节点增加了噪波用于当作粗糙度贴图:

主体材质是一个sss材质,颜色链接给散射颜色,黑白渐变链接给粗糙度,这个大家应该能看明白吧:

另外再新建一个水的材质,把颜色和黑边渐变分别连接到它的折射颜色以及强度上:

最后再用一个混合材质将两个材质混合,混合的蒙板用的是颜色合成以后的选区:

试情况补几盏灯吧:

给主对象也添加RS对象标签激活运动模糊,然后把顶点速度贴图都分别拖进去:

渲染设置里最大最小采样是16/128,其他本地采样都是512:

不要忘记渲染设置里也把运动模糊和变体模糊打开:

我这里实际用了三个摄像机,然后用舞台把它们串联了起来,并且也设置了景深,因为时间关系这里就不赘述了:

多通道里把深度通道和运动矢量通道也加了进去,用于后期合成运动模糊和景深:

渲染最后我先是用的苦七的2070渲染的,渲染时长17小时36分钟:

但由于我自己用的是Redshift3.0.67,而苦七的电脑上只有Redshift2.6.41,可能是算法不一样,同样的帧渲染出来效果差异很大:

由于时间关系,并且都停更了很久了,所以就没有再重新用Redshift2.6.41重新调整。

最后是直接扔到农场里用农场的3.0.67重新渲染的,农场用的显卡是Tesla T4,渲染总时长33小时44分钟,比苦七的2070慢的多,费用是165:

最后后期调色加点景深看看效果吧:

虽然没有做出原图的感觉,不过个人觉得近景的时候还挺好看的,哈哈。

以上就是今天的内容,更文不易,希望鹿友们三连支持,我们下次再见吧!

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

本文由“野鹿志”发布

转载前请联系马鹿野郎

推荐内容