大便失禁怎么回事

注册

 

发新话题 回复该主题

图文版C4D野教程使用xpFluid [复制链接]

1#

前面我们对xpFluidPBD的参数进行了详细的分享,并且制作了一个粘稠流体浇筑的案例:

其实使用xpFluidPBD制作粘稠液体基本就是这个套路了,今天我们要分享的同样是粘稠液体。

所以我这里再次把上篇文章对xpFluidPBD参数的总结贴出来,所有的参数我们都是基于文章的分享来调整:

当然今天要制作的不是流体浇筑的效果,我想要制作类似糖浆的液体能够在对象上产生残留,并且进行颜色的混合。

好了,废话不多说,今天就让我们来制作糖浆颜色混合的效果吧!

01

场景准备

首先打开C4D,导入我们反复使用过的一个骷髅头模型:

同样新建一个立方体,对比着适当的放大一下骷髅模型的尺寸:

再新建一个立方体用于流体碰撞:

将立方体C掉,删掉上方的面,我们流体要用对象的上方发射下来:

然后同时选中两个对象给他们添加XP的碰撞标签:

两个碰撞标签我都把反弹关掉了,因为我希望流体能够在对象上有残留,所以摩擦力我都给到了最大,立方体的碰撞模式为内部:

帧速率改为25,做10秒的动画:

新建一个球形发射器,适当的调整尺寸以及高度:

发射的模式改为射击,让它持续发射帧吧,然后勾选无交叉,这个上篇文章里我们提到过。

无交叉半径设置为1就好,发射器的速度改为0,半径为2:

另外我把粒子额外数据里的摩擦力也改到了最大:

新建一个重力场,参数默认,点击播放粒子就会自然下落:

将发射器多复制几个,参数都是一样的,只是摆放在不同的位置,改改发射器以及粒子的颜色,为了方便观察,我们可以暂时将粒子的数量减少:

将发射器打个组,然后给组上添加灰猩猩的的Signal插件,让它每50帧完成一次X轴0到度的旋转,然后循环模式改为pingpong,当然你也可以手K哈:

接下来新建一个圆环样条,半径稍微小一点,高度和发射器保持一致:

将发射器的组再次打组,然后在这个组上鼠标右键添加对齐曲线标签,把圆环样条拖进去:

在位置参数上K帧,让它一开始是0,然后帧的时候为,这样发射器的整体就会随着圆环旋转,同样这里你自己K帧也可以哈:

02

流体模拟

基本这样准备工作就做好了,开始模拟流体吧,新建xpFluidPBD,播放一下,你会发现粒子炸开了:

这个就是由于粒子刚开始发射的时候挤压在了一起的原因导致的,所以我们粘稠流体浇筑的案例提到了要勾选检查密度。

然后密度我这里设置为,这样密度高于的粒子就会被杀死掉,也就不会有粒子炸开的情况了:

接下来关掉涡度和吸引力,排斥力给到,粘度给到50,这个我们上篇文章已经分享过了,都是套路哈:

同样我们之前有提到过外部压力这个参数在制作粘稠液体的时候很重要,并且需要搭配阻尼的参数来使用。

这里我直接把外部压力设置为50W,然后为了防止不稳定我把阻尼提高到了20W:

现在粒子有断层的现象,需要提高子帧步幅来解决,但是提高子帧步幅以后会比较卡,所以我们后面再来解决这个问题。

由于我们需要制作颜色混合的效果,所以这里有一个混合的数值可以适当提高一点,这样粒子颜色就会有一定的混合:

然后现在我想要进一步增加流体在对象表面粘滞的感觉,这里有一个比较冷门一点的方法,我先暂时关掉其他发射器。

只留下一个发射器,大家可以注意一下,在碰撞标签以及粒子额外数据里的摩擦力都是的时候,帧的流体形态:

碰撞标签、粒子额外数据摩擦力为

由于我们使用的xpFluidPBD,它的原理是通过对影响粒子之间的位置。

所以我们可以这么操作一下,再次新建一个发射器,以碰撞的对象骷髅头为对象发射,通过多边形的中心来发射。

并且勾选粘住发射源问题,以及每个源只发射一个粒子:

然后发射模式改为射击,发射两帧就好,这里粒子数量的参数设置是没有的,粒子的数量由对象的多边形数量决定。

速度改为0,流体模拟中尽量保证所有的粒子半径是一致的,所以我这里也设置为2:

可以看一下同样是帧流体的残留形态,我个人感觉这样会更加好看一些:

使用对象表面发射粒子产生粘滞

对象表面发射的粒子数量越多,粘滞的感觉会更加明显,所以可以把模型复制出来一份,添加一个细分曲面,细分数1就可以了:

然后将细分曲面后的对象链接加删除成为一个对象,把碰撞标签重新丢给它,发射器中发射的对象替换成细分以后的对象,粘滞的感觉又更明显了:

使用细分曲面后对象表面发射粒子产生粘滞

有个小问题是由于我们xpFluidPBD中的混合给了参数,导致表面发射的粒子颜色也会进行混合。

因此我这里将表面粒子的颜色改为了一个灰色,这样混合颜色的影响要稍微小一些:

另外还有一点需要注意的是,使用这种方法以后,从高处下落的粒子其实是没有和对象产生碰撞的。

我这里把粒子的显示模式改一下大家就能发现,其实是粒子与粒子之间在碰撞,这就意味着其实碰撞标签没有起到作用:

所以如果你想碰撞标签的设置也产生作用,可以适当的增加这个碰撞的扩展的参数:

对象表面发射粒子结合碰撞标签、粒子额外数据摩擦力为

同时你还可以启用碰撞标签里的约束,让粒子发射碰撞的时候产生约束进一步增加对象表面残留的物体。

不过使用约束以后,模拟起来会更慢一些,并且你会发现有一些粒子会出现不稳定的情况:

这个就需要我们增加项目的子帧步幅来解决这个问题了,没关系,本来我们模拟粘稠液体也是需要增加这个参数的。

项目设置里,我把子帧步幅设置为了6,然后迭代次数我降低为1,这样流体会相对松散一点,但是会略微提高一下模拟的速度:

同样的回到xpFluidPBD里,可以手动再次增加子帧步幅以增加流体的粘稠度。

迭代我同样改的比较小,一方面不需要流体那么厚,并且也可以增加一点模拟的速度,然后压力限制同样给到1,让它能保持一定的体积:

另外我再次增加了粒子的发射数量,并且为了进一步防止粒子炸开的现象,我将无交叉的半径增加到了2:

基本上差不多就可以先缓存粒子了,缓存时间接近50分钟,还可以:

03

粒子网格化

接下来就是将粒子网格化了,新建xpOpenVDBMesher,把除了对象表面发射以后的发射器都拖进去,适当的调整点的大小以及体素尺寸:

视情况可以添加两个网格里的滤镜:

因为我们要制作颜色混合的效果,所以还需要在标签里激活顶点颜色标签,然后平滑的数值可以适当的给一点,点击标签可以看到混合的颜色:

然后再次点击缓存继续,将网格单独缓存:

缓存完毕以后再添加一个平滑变形器:

然后添加置换变形器,着色器里加载颜色,高度为负值收缩一下:

最后再鼠标中间选中所有对象,烘焙为ABC文件,至于为什么直接缓存到网格里,文章已经说过了,这里就不重复了哈:

04

渲染部分

接下来基本上就进入渲染部分了,设置渲染尺寸,新建摄像机固定视角这些都不用说哈:

我先新建了两个环境光,一张给了贴图,一张是一个纯色的着色,然后都隐藏了显示并且勾选了透明通道:

材质方面其实特别简单,首先是使用RS默认的薄玻璃预设:

然后新建一个顶点属性节点,把网格生成的顶点颜色标签拖进去,并且把它连接给漫射颜色以及传输颜色的端口:

剩下的参数就自己凭感觉调整一下了:

新建一个大大的曲面作为背景:

背景的材质就是一个普通的反射材质:

视情况补几盏灯吧,并且把平面排除一下,目的只是为了照亮主体,然后开启一下GI:

渲染设置方面主采样,其他本地采样都是:

渲染时间差不多13个小时的样子:

最后后期调整一下看看效果吧:

感觉应该再增加点子帧步幅或者迭代一类的,粘稠度更高一点好看一些。

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

更多内容欢迎

分享 转发
TOP
发新话题 回复该主题