美文网首页C4D首页推荐PS
(图文+视频)C4D野教程:TFD详细概述及烟雾动画小案例

(图文+视频)C4D野教程:TFD详细概述及烟雾动画小案例

作者: 野鹿志 | 来源:发表于2019-08-01 19:42 被阅读13次

    今天这篇文章本来是27日就开始写了,但是最近事情真的好多,也不是很顺心,所以截至到今天文章才发出来,请见谅。

    最近事情真的好多呀,见缝插针的找时间终于把B站上Lynda的TFD基础教程看完了:

    感兴趣的鹿友推荐大家可以看看,有中文字幕,虽然有些字幕翻译的有问题,不过搭配TFD的官方帮助手册还是可以让我们学到很多东西:

    另外这里安利一款叫做划词翻译的Chrome插件,因为我个人习惯看中英对照,谷歌网页翻译全部翻译成中文总觉得不习惯。

    相比网易有道词典的话,单从网页划词翻译来说,我觉得这个插件更方便点。

    这个插件支持谷歌、百度、有道三大翻译和朗读引擎,可以方便的查看、复制和朗读不同引擎的翻译结果:

    插件文后我也会分享给大家,感兴趣的鹿友可以去获取哈。

    好啦,进入正题拉,不然感觉像是一直在给别人的教程和插件打广告,之前写过一篇粒子三件套的文章:

    这篇文章当时只是简单分享了一下粒子三件套的配合流程,并且由于当时这套TFD基础教程我也还没看完,所以对于TFD插件本身的分享很少。

    加上在我还没开始学之前就有不少鹿友问过关于TFD插件的问题,后面也有鹿友对这种静态烟雾的效果很感兴趣:

    所以我想虽然我也只是刚看完基础教程,但是还是可以把自己学习到的东西加上自己的理解分享出来,算是对于知识的巩固。

    开始之前先说明一下,因为TFD插件本身其实功能还是挺多的,一篇文章没有办法介绍完,所以今天分享的内容仅限于我用过的且个人觉得常用的内容。

    来吧,今天我们就来对TFD这款插件进行一个概述分享并且通过一个OC渲染烟雾小动画来上上手吧!

    首先对TFD这款插件,做一个笼统的介绍:

    1、TFD流体插件适用于模拟烟雾、火焰等特效,不适用于液态类效果,液态类效果请使用RF插件模拟。

    2、TFD总体来说的工作原理,是指定一个物体作为发射器,通过缓存各种通道内的各项参数,配合TFD自身的各种力场(TFD流体不支持C4D自带的力场或XP粒子的力场),加上自带的火焰、烟雾着色器的设置,最后通过C4D默认的标准渲染器或物理渲染器渲染模拟出火焰以及烟雾的效果。

    3、TFD支持标准渲染器、物理渲染器,同样也支持OC渲染器以及KK渲染器,本文会使用OC渲染制作一个静态烟雾小案例。(各种渲染器渲染各有各自的优势和劣势,由于我也没有专门详细研究过,所以这里暂不表述了,至于其他更多渲染器是否支持,咱没用过,咱也不知道,咱也不敢问。)

    4、TFD不仅可以模拟烟雾以及火焰,也可以对C4D默认粒子以及XP粒子产生影响,对于粒子而言,TFD就是一个力场。

    5、经测试,由于C4D自带的粒子不可受XP粒子的力场影响,因此当TFD作为力场去影响C4D粒子的时候,可以再次添加C4D的力场去影响粒子的形态,但是无法通过XP粒子的力场去影响。

    而反之由于XP粒子是可以受到C4D默认力场影响的,所以当TFD作为力场去影响XP粒子的时候,不仅可以通过再次添加XP粒子的力场去控制粒子的形态,还可以通过C4D自带的力场去影响。(测试软件版本:C4D R18&XP粒子2.1)

    暂时想到这些吧,下面是我个人用过也觉得比较重要的几个板块,同样是我看了Lynda的教程以及用户手册以后加上一些自己的理解。

    Simulation Window(模拟窗口)板块

    Up-Res Simulation(二次模拟):需要在已经缓存的基础上进行二次模拟,前提是已经缓存了速度通道,缓存文件会变得很大,但确实能够增加不少细节,只支持CPU模拟。

    Start Interative Simulation(交互模拟):在不使用帧动画的时候,建议切换到交互模拟的状态下调至TFD的参数,这样可以实时观察到参数对于流体的影响,交互模拟不会生成缓存文件。

    CPU/GPU:如果你的显卡内存是在4G以上,建议切换为GPU模拟,速度会有明显的提升,当模拟过程中超过了显卡内存,TFD会自动切换为CPU模拟。

    Render when finished(模拟完毕自动渲染):当你将一系列模拟的参数以及渲染的设置都设置完毕以后,可以勾选这个选项挂机,缓存完毕以后会自动渲染。

    Preview Fluid Container(预览流体容器):正常的视窗里只能预览火焰或者烟雾二选一,而预览流体容器该功能可两者同时预览。

    TurbulenceFD Help(TFD帮助):打开以后是用户手册,非常有用!

    Container(容器)

    Voxel Size(体素大小):数值越小 ,分辨率越大,占用内存越多,模拟越精细。

    Cache Temp./Dens./Fuel/Burn(缓存温度/密度/燃料/燃烧):TFD默认是勾选了缓存温度通道的,当我们需要模拟某个通道并且让视窗中显示出模拟效果的步骤是:

    1、模拟面板里激活该通道

    2、容器面板里勾选该通道

    3、发射器的通道选项中给与一定的数值

    4、视窗预览面板中将通道一栏选择为对应的通道

    由于缓存通道与Simulation(模拟)面板里的通道部分息息相关,所以我这里就同一归为通道板块一起分享。

    Channels(通道)板块

    所有通道中的力可以相互影响。

    Temperature(温度):用于产生火焰,适用于模拟相对剧烈或者爆炸一类的火焰效果。

    Density(密度):用于产生烟雾,适用于模拟烟雾或者云等效果。

    Burn(燃烧):同样产生火焰,适用于模拟相对微弱或者类似蜡烛一类的火焰效果。

    Fuel(燃料):燃料通道是所有通道里相对最难理解的通道,参数相对比较多。

    燃料顾名思义是一个可被点燃的物体,适用于模拟点火类的效果。

    使用燃料通道首先我们需要有一个用于点火的物体,通过燃料中的Fuel Mask Channel(通道蒙板)来选择使用点火物体的哪一个缓存通道来点火,同时利用Fuel Mask Mapping的曲线编辑器来控制点火的快慢以及Fuel Mask Smoothing(模糊蒙板)上的数值来控制点火过程的平滑程度。

    和现实生活中一样,燃料本身也会产生温度、密度以及燃烧。

    燃料从点火到点燃全过程不仅受到燃料本身参数的控制,也会受到其他通道的参数以及发射器中给与各通道的数值影响。

    总体来说燃料是TFD中最为复杂的一个通道,需要多加练习理解,本文中暂时没有安排案例,以后有机会会来分享巩固:

    Simulation(模拟面板)

    模拟面板下有很多参数,其实可以大体分为三类:General(总体设置)、Velocity Field(力场)、Channels(通道),通道我们前面已经分享过了:

    General(总体设置)中Frame Sub-Steps Limit(帧子步幅限制)选项在有高速运动物体的场景中会用到,数值通常给到3就行。

    Closed container boundaries(封闭容器边界)在制作火焰碰撞墙壁、地板或者屋顶的场景中会用到。

    Time Scale(时间尺度)在制作流体快慢动画的时候会用到。

    其余参数都不常用,通常默认即可:

    Velocity Field(力场)

    TFD的力场方面没有太多的难点。

    Velocity(速度):主要用于控制流体驱动粒子,前提是已经缓存了速度通道。

    Vorticity(涡力):让流体表面产生小的卷曲效果,用于增加流体的细节。

    Turbulence(湍流):让流体产生躁动的形态,也是用于增加流体的细节。

    涡力与湍流中的强度映射只能使用已经缓存了温度/密度/燃料/燃烧通道。

    力场参数的调节,建议可以将模拟窗口改为交互模拟,这样观察起来更加直观:

    Viewport Preview(视窗预览)

    视窗预览中没有太多可说的,你需要观察哪一个通道的形态前提是已经缓存了该通道,其他的都仅仅用于显示。

    如果要观察火焰就把通道选择为温度,然后把着色器选择为火焰着色器。

    如果要观察烟雾就把通道选择为密度,然后把着色器选择为烟雾着色器。

    但是视窗里只能二选一进行观察,如果要同时显示烟雾和火焰需要使用Preview Fluid Container(预览流体容器):

    Rendering(渲染设置)

    当你需要使用默认渲染器渲染烟雾或者火焰的时候需要在TFD自带的渲染设置里进行调节,如果使用其他渲染器例如OC,则不需要调节这里。

    TFD的渲染设置主要分为通用设置、烟雾着色器以及火焰着色器三大板块:

    General(通用设置)

    Frame Offset(帧偏移):数值为0时默认播放全部帧,指定数值以后动画会从0播放到该指定帧。

    Frame Step(帧步幅):用于控制动画的播放速度。

    以上两个数值可相互配合,当帧偏移数值为负的总帧数且帧步幅为-1的时候,动画会反相播放;当帧步幅为0时,你可以通过修改帧偏移上的数值来选择你想要的静止帧。

    Use Distance/Opacity Mapping(使用距离摄像机的位置对不透明度进行映射):勾选以后距离摄像机越近的流体,不透明度越低,常用于制作一些云层穿梭的效果:

    Smoke Shader(烟雾着色器)

    烟雾着色器中看起来参数很多,其实都很好理解,也有很多是平常很少用到的。

    Channel(通道):当我们模拟烟雾的时候,通常我们会将通道选择为密度通道,但不是绝对的。

    Sub-Grid Detail(子网格细分):子网格细分下的参数可以增加烟雾的细节,大家可以多多尝试,当然细节越多,渲染的时间会越长。

    Multiple Scattering(多重散射):当你同时模拟火焰以及烟雾的时候,可以勾选改选项调整选项下的参数让火焰对烟雾也产生照明,这样会更真实。

    在进行烟雾着色器参数调整的时候,建议开启Preview Fluid Container(预览流体容器),可以比较直观的看到调整参数后的效果:

    Fire Shader(火焰着色器)

    火焰着色器有很多与烟雾着色器相同的参数,也有一些差别的地方。

    Channel(通道):当我们模拟火焰的时候,通常根据情况我们会将通道选择为温度或者燃烧通道,但也不是绝对的。

    Opacity(不透明度):会影响火焰的亮度,数值越大,火焰亮度越低。

    Color Mode(颜色模式):Black Body(黑体)是一个物理精准模式,通过观察色条上的变化来理解该模式下的参数含义会更直观,该模式最常用于模拟真实的火焰。Manual(手动)模式下火焰颜色的调节更加自由,可用于做出一些奇怪颜色的火焰。

    Sub-Grid Detail(子网格细分):子网格细分下的参数可以增加火焰的细节,同样细节越多,渲染的时间会越长。

    在进行火焰着色器参数调整的时候,建议开启Preview Fluid Container(预览流体容器),可以比较直观的看到调整参数后的效果:

    最后是Emitter标签

    Collision Object(碰撞对象):勾选以后可以增加流体的细节,但是模拟会变慢,缓存文件体积会增加。

    Fill Object(填充对象):勾选以后流体会从对象内部产生,前提是对象具有内部空间,对象如果是平面则无效。

    Restrict to polygon selections(使用多边形选集):使用该功能Fill Object(填充对象)必须取消勾选。

    Volume Texture(体积纹理):使用该功能Fill Object(填充对象)必须勾选。

    Surface Texture Channel(表面纹理通道):使用该通道Fill Object(填充对象)必须取消勾选。

    材质需要赋予发射对象,并且纹理的投射方式为UVW贴图。

    Particle emission intensity(粒子发射强度):当产生流体的对象为粒子发射器或粒子几何对象时,可以通过Particle property中映射粒子的各项属性来控制流体发射的强度,从而控制流体消散的时间,例如制作炸开的石头等效果。

    Velocity Weight(速度的影响):当产生流体的对象为粒子发射器时,该数值越大,粒子对流体的影响越大。此参数可用于使用粒子驱动流体。(与力场中的Velocity正好相反)

    Pressure(压力):数值为正值膨胀,负值收缩。同时压力为正值的时候,可以作为排斥力去排斥另外一个物体所产生的流体,反之负值为吸引力,可以吸引另外一个物体产生的流体。

    Channels(通道):当你需要缓存某个通道的时候,对应的该通道必须要先给数值才能产生效果,至于数值是多少视情况而定:

    啊啊啊,终于把TFD基本我觉得重要或者常用的内容全都过了一遍,每张图全部上备注好累人啊。

    接下来再进入今天的烟雾小动画吧,打开C4D,首先我们需要弄一个物体用于发射烟雾,我这里新建了一个胶囊体,适当的缩小了尺寸:

    想要让烟雾有更多的细节,需要将发射体变得不规则一点会比较好,所以添加一个置换变形器,着色器里添加一个噪波:

    利用以前分享过的镂空插件Trypogen把发射体做成一个镂空的古怪玩意儿,参数方面大家看着调整就好:

    将对象重命名为发射体后,鼠标右键连接对象:

    除了发射体本身不规则会增加烟雾的细节之外,碰撞也会增加细节,所以新建一个球体,适当的调整尺寸:

    同样的给球体添加镂空插件,参数还是看着效果来,然后重命名为碰撞体:

    将碰撞体鼠标右键连接对象以后再新建一个宝石体,适当的缩小尺寸:

    再给钻石体添加一个晶格,参数同样看着来搞,重命名为框架:

    对象搞好以后,就可以进入模拟烟雾的环节了,新建TFD的容器,体素尺寸我觉得默认位1就好,适当的放大容器框的尺寸:

    由于我们要模拟烟雾,所以先到模拟面板中把密度勾选启用:

    勾选以后,容器面板中的密度通道会自动勾选,然后我们再在视窗显示面板里将通道切换为密度:

    选中发射体鼠标右键给它添加TFD的发射器标签,然后在通道栏将温度和密度都给与一定的数值,让它能够同时模拟温度和密度通道:

    这样就可以打开模拟窗口进行初步的模拟了,建议把模式切换为交互模式,我这里使用的是GPU模拟:

    这个时候你就可以看着效果去进行力场的调整,例如我这里调整了涡力、湍流以及湍流的最大尺寸,并且把温度中的浮力给取消了:

    继续的给烟雾添加细节,发射体的发射器标签里,勾选碰撞和填充对象,体积纹理里添加噪波,适当的调整噪波的全局缩放以及对比度。

    可以再增加一些法线力,压力也给一点,当然这个都不是一定的,以看到的形态为准:

    给碰撞体和框架都添加TFD的发射器标签,然后勾选碰撞:

    发射器的通道里,我让温度和密度的模式先为add模式在44帧的时候打上关键帧,然后在45帧的时候切换为set模式。

    这样密度和温度的数值一开始会进行叠加,这样形态看起来就会比较浓密,等到45帧后切换为set模式,以免太过浓密:

    感觉差不多了形态差不多了,我们就可以先模拟缓存了,后面渲染的时候如果不合适再重新调整。

    由于我们这个案例是用OC渲染,所以TFD里的渲染设置就用不上了,我这里就只缓存了温度和密度通道:

    打开OC,先暂时新建一个环境光方便观察:

    OC里当我们需要渲染TFD的时候,只需要给TFD容器新建一个OC的对象标签,你会发现对象标签会多出来一个叫做粒子渲染的选项,这个时候TFD流体就可以直接看见了,很方便吧。

    需要注意的是,这里也有一个体素大小,这个体素大小默认是读取了TFD模拟的体素大小,你如果将数值改小不会提高流体的分辨率,只会让渲染更慢,所以默认即可。

    至于其他的吸收/散射通道以及发光通道等,默认即可,运动模糊根据你自己的需求选择是否勾选:

    重点是下面这个体积介质,用鼠标点击进入:

    你会发现里面和SSS材质分布基本是一样的:

    这样我们就可以很轻松的去调整烟雾的密度以及颜色了:

    材质方面框架我使用的就是一个普通的金属反射材质:

    中间的发射体我用的是一个发光材质,发光材质怎么调以前分享过很多次了,这里就不赘述了:

    碰撞体我这里是使用的SSS材质,但是由于用透明材质做出来的SSS材质渲染太慢,我这里换了另外一种方法。

    首先新建一个漫射材质,然后在漫射材质的介质通道添加散射介质,这里和传统的SSS材质调节方法一样,同样也可以通过传输通道来控制对象的颜色。

    这样调节出来的SSS材质最大的问题是没有反射:

    再新建一个金属反射材质:

    再新建一个混合材质,将金属反射材质和漫射的SSS材质进行混合:

    然后通过浮点来控制反射以及混合材质各自的混合程度,这样虽然麻烦了一点,但是渲染速度会更快:

    至于打灯我觉得就不用说了吧,佛系打灯,怎么好看怎么打:

    设置渲染尺寸新建摄像机固定视角这些也不用说吧:

    我看教程里介绍的烟雾保存格式最好是EXR格式,这个大家自己把控吧:

    基本差不多就这样吧,今天的概述部分很多,我把备注的截图单独整理了一份出来,供大家下载下来查看:

    最后渲染出图看看效果吧:

    换一个近景看,感觉好像还要好一点:

    今天的视频内容就只有案例的制作部分,强烈建议大家阅读今天的图文内容哦,下面是今天的视频版:


    C4D教程:TFD烟雾动画小案例_腾讯视频

    好了,今天的内容就分享到这里 ,想要的童鞋后台撩我获取吧!

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

    本文由“野鹿志”发布

    转载前请联系马鹿野郎

    私转必究

    相关文章

      网友评论

        本文标题:(图文+视频)C4D野教程:TFD详细概述及烟雾动画小案例

        本文链接:https://www.haomeiwen.com/subject/mbacdctx.html