(图文+视频)C4D野教程:XP新功能体验 让贴图纹理跟随液体流动

用户头像
成都/设计爱好者/4年前/779浏览
(图文+视频)C4D野教程:XP新功能体验 让贴图纹理跟随液体流动
用户头像
野鹿志

XP新功能UV_Advection测试 测试C4D版本为R19.068 渲染器OC3.07以及RS2.6.41

相信大家都知道,XP粒子官方更新为1030的FUSED套装以后,它除了整合的地形插件、网格工具以及Cycles 4D渲染器以外。


XP粒子本身其实也有很多大的更新,例如用来制作刚体和柔体的Bullet等,但其实这些我都没有用过。


主要原因是我喜欢对照着官方手册来操作学习,虽然现在INSYDIUM官方的油管上已经有了一些教程:

undefined


但是如果使用频率不高的话,很容易看过以后就忘记了,到时候使用起来又得回过头来看教程。


而且新功能刚出来,也不排除会有一些bug,所以我一直在等官方手册更新,但是截至到现在还没有:

undefined


因此今天我想手动测试一个XP更新的小功能:xpOpenVDBMesher - UV Advection。


为什么选择测试这个功能,其实很简单,大家还记得年初的时候我写了一篇埃舍尔瀑布吗:

undefined



由于XP的网格是没有UV的,因此当时为了制作图案随着液体流动的效果费了老大劲。


最后还是用粒子的通过纹理发射做出图案的效果,然后让粒子呈现流体的形态,最后再在上面加了一层透明的网格才勉强做出来的。


我们再来看看官方视频介绍的这个效果:

undefined


虽然动图压缩的很厉害,但是相信大家也能够看明白。


UV Advection这个功能简单概括就是可以将纹理映射到动态xpOpenVDB网格,随着网格改变而发生变化。


但需要注意的时候,这个官方短短不到2分钟的介绍视频里用的都是默认渲染器,对于OC以及RS是否支持这个功能都没有任何说明。


所以今天的内容主要是临摹官方的这个小效果并且测试UV Advection对RS及OC是否支持。


由于我使用的RS和OC都是欢乐版,所以这里专门说一下测试软件,C4D是R19.068,OC是3.07,RS是2.6.41。


好了,废话了这么多,开始进入今天的正题吧!

undefined


01

场景搭建


首先打开C4D,帧速率设置为25,就做个200帧的动画吧:

undefined


新建球体,尺寸小一点,分段稍微多一点,类型我用的是二十面体:

undefined


新建克隆克隆小球,数量5个,克隆模式为发射,记得改一下轴向:

undefined


然后我们在克隆的半径上K一下帧,K的数值如图所示:

undefined


接下来再在偏移的数值上K一下帧,让它一开始是0,在150帧的时候偏移-360度:

undefined


再新建一个大大的平面当作地面,基本上场景就是这样哈:

undefined


02

流体模拟


接下来就是流体模拟部分,新建一个盒装的发射器,适当的调整尺寸:

undefined


发射模式改为射击,粒子类型为六边形,发射两帧就好,然后把速度关掉,粒子半径为2:

undefined


给克隆对象添加XP的碰撞标签,关掉反弹,摩擦力给到最大,点击播放你会发现碰撞不起作用:

undefined


这是由于我们需要把克隆弄成一个对象才可以,所以给克隆添加连接,现在碰撞就起作用了:

undefined


接下来就是模拟流体了,对于这种中小场景,要求不高需要模拟流体翻滚的时候的,我推荐使用xpFluidFLIP来模拟流体。


添加xpFluidFLIP,适当的调整尺寸和高度,流体只会在它的范围框内进行模拟,因此地面都不用添加碰撞标签了:

undefined


现在场景中还没有重力,所以添加重力场,参数默认即可:

undefined


xpFluidFLIP参数设置方面,官方推荐体素尺寸是粒子半径的3-4倍,因为我们的粒子半径是2,所以这里设置为6。


由于我们需要看到粒子翻转的效果,所以粘度值就不用给了,适当的提高一点涡度值就好了。


然后原图感觉球体有点推着液体走,所以我打开了黏住,提高了一点摩擦力:

undefined


接下来找一帧合适的粒子设置为初始状态,然后将发射关掉:

undefined


03

粒子网格化


接下来就是将粒子网格化,新建OpenVDBMesher,体素以及点半径大小大家看着调整就好:

undefined


滤镜里面添加一个高斯:

undefined


接下来终于到了我们今天的重点UV Advection了:

undefined


为了方便观察,我这里给OpenVDBMesher添加C4D自带的噪波贴图来说明问题。


默认情况下,由于OpenVDBMesher是没有UV的,所以添加完毕之后看不到贴图的样式:

undefined


你可以修改投射的方式,但是同样由于没有UV,所以这样的贴图肯定是会出问题的。


并且鼠标右键也没有办法生成UVW坐标,感兴趣的鹿友可以试试,无论是烘焙为ABC还是点级别对象都不行:

undefined


所以这个时候我们可以激活UV Advection,纹理就会正常的随着网格的流动而产生变化了:

undefined


投射的方式大家可以根据实际情况来进行选择,但是需要注意的是,经过我测试前沿以及uvw贴图这两种方式会出错。


由于官方也没有更多的说明,所以我也不清楚是不是自己操作的问题:

undefined


另外UV Advection它并不只是添加了uvw标签,UV是带有数据的,因此打开以后模拟会变得慢一些。


并且如果你需要缓存的话,需要把UV Advection一起缓存才可以,我这里选择的投射方式是空间哈:

undefined


最后补充一点,UV Advection这里有一个开始帧,默认情况下我们应该是设置为1。


但经过我测试设置为1的时候,预览没有问题但是缓存出来第一帧会出错,如果设置为0,预览的时候是看不见的,但是缓存出来确实正确的。


可能是因为我把默认场景的帧速率从30改为了25的原因吧:

undefined


然后我这里给网格又添加了一个置换变形器,着色器里添加颜色,高度给一个负值,目的是让网格薄一点,这个不用多说哈:

undefined


04

渲染器测试


接下来就是渲染器的测试了,因为我最终是打算用RS渲染,所以先测试OC吧。


打开OC,随意的新建一个环境光,不用太精细,我们主要是测试下功能而已:

undefined


新建材质球同样制作一个漩涡图案吧,至于怎么制作以前分享过,这里就不多说了哈:

undefined


点击播放键,可以看到纹理也是正常的在流动,说明UV Advection能够支持OC的纹理节点,挺好:

undefined


但需要注意的是如果你添加一个投射节点,改变一下纹理的投射方式,纹理就不行了:

undefined


因此我们不能改变纹理的投射方式,并且要保证它的投射方式是UVW贴图才行:

undefined


接下来我们再来看看RS吧,同样新建环境光,打开RS:

undefined


我这里同样用RS自带的噪波以及渐变节点做出一个漩涡的图案来:

undefined


点击播放键你会发现纹理不会正常流动,看来UV Advection并不支持RS程序化的纹理节点:

undefined


因此只能换一种方式,使用C4D着色器节点,通过RS的纹理节点把它转化成一张贴图:

undefined


然后在C4D着色器节点里添加噪波制作出漩涡的图案,点击播放键,可以看到纹理正常流动了:

undefined


05

渲染部分


基本上测试方面就这样吧,继续把案例渲染完吧,这里我又添加了一个渐变节点,将纹理进行了重新着色,然后调整了一下尺寸:

undefined


接下来设置渲染尺寸,新建摄像机固定视角,开启GI这些都不用说哈:

undefined


主体材质里我把涂层也打开了,这样对象表面会有额外的高光:

undefined


小球的材质就是普通的发光材质:

undefined


地面的材质是普通的深色反射材质:

undefined


视情况再补几盏灯吧:

undefined


这里我们可以先暂时设置一下景深看看效果,后面渲染的时候关掉它,在多通道里输出深度通道然后后期去合成:

undefined


做一个摄像机旋转动画:

undefined


同样主采样我设置的是128,其他本地采样是512:

undefined


多通道里输出深度通道,记得模式选择为Z标准:

undefined


渲染的时间其实并不是很长,我渲染的2K的尺寸,只用了6个多小时:

undefined


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

undefined


大概是那么个意思吧,希望官网的手册能尽快更新,下面是今天的视频版:


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


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

本文由“野鹿志”发布

转载前请联系马鹿野郎

私转必究

12
Report
|
12
Share
相关推荐
评论
用户头像
in to comment
Add emoji
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
You may like
相关收藏夹
大家都在看
Log in