跳到主要内容

温度和浮力


haowei.han@mthreads.com

在先前的案例中,我们已经对Catalyst FX的基础制作流程有了一个初步的了解和认识,我们可以发现烟雾模拟效果的一个最基本的运动特征,就是气体会受到浮力作用后,产生翻滚的动态效果。这里温度(temperature)和浮力(buoyancy)是产生该效果的关键,也是自然界中常见的基本概念,在使用Catalyst FX进行流体效果制作的过程中,温度和浮力的控制,始终是最重要的核心环节,所以本章节为一篇较为理论性的物理背景知识介绍,这里我们首先回顾一下在物理学中有关温度的定义。

温度

在物理学中,温度的单位由开尔文(K) 来表示。而温度的定义,可以从很多角度来解释。这里由于Catalyst FX 是一款气体流体解算器,所以讨论一下气体的温度,我们可以从体积的视角来看温度的定义,即:温度大小直接决定了气体体积的大小,温度和气体体积直接的关系,是线性的。

举个例子,如果在压力不变的前提下,气体的温度升高,那么它的体积也会变大。反之亦然,如果气体的温度减半,也会导致气体的体积减半。

这样也就很容易的得到了绝对零度的定义:随着温度的不断降低,气体的体积也会不断缩小。最后,只要温度足够低,那么理想气体的体积也会降低至 0,而此时的理论温度,就是 -273.15 °C。由于体积为0的情况,在现实物理世界中是不会发生的,所以,绝对零度 0开尔文 (-273.15°C),是一个从数学层面上推导的理论最低温度,实际上温度只会无限逼近这个数值,而不可能达到这个数值。

而这种关于温度和体积之间关系的描述,最早由法国科学家雅克·亚历山大·塞萨尔·查理(Jacques Alexandre César Charles)提出,所以现在在物理学中,温度和体积之间的关系,通常在理想气体的条件下,被描述为查理定律(Charles's Law)

浮力 Buoyancy

在了解了温度和体积之间的关系以后,我们再来了解浮力(Buoyancy)的作用,就很容易理解。

这里我们从日常生活中,最常见的现象油可以浮在水面上这个现象入手进行分析,油之所以可以浮在水面上,是因为油的密度比水低,所以受到了水的浮力,那么同样的原理对于气体来说,高温气体由于体积变大密度降低,从而最终受到了密度大于自己的低温气体的浮力,在同一场景中,高温气体往往相比低温气体更容易获得较大的浮力和翻滚动力。

所以在Catalyst FX 的效果调整中,控制温度(Temperature)是最有效影响流体浮力大小的手段,流体计算的温度场和流体所受到的浮力是正相关的,温度场的数值越高,则代表了给流体提供的浮力越大。

发射温度提高浮力

通过发射器直接发射温度获得浮力,是最常被使用的方法,在我们的发射器参数面板上的 Temperature 场选项,用来控制 temperature 的发射强度,数值越大表示发射器给温度场提供的温度越高,这里我们看一个基于多个发射器制作的爆炸效果对比测试,以便更直观的理解温度对浮力的影响。

drawing

如图(上):当前的爆炸效果一共使用了3个发射器进行燃料和温度的发射来产生最终的爆炸反应效果。发射器(A,B,C)的激活时间先后,存在一定幅度的偏差,用来控制最终的爆炸的效果更有节奏,其中发射器B设置了较高的温度发射数值,用来给整个爆炸的中心区域提供额外的翻滚动力,而发射器A则设置了较低的温度发射效果,用来减弱局部区域的浮力作用强度和翻滚动力,最终使得整个爆炸的外轮廓有较大的整体起伏波动(大形控制)。

而如果当前的案例关闭发射器的温度发射差异调节,使用数值完全相同的温度,燃料发射强度进行模拟时,则会得到整体大形较为平整的效果

drawing

如图(上):左侧为A,B,C发射器设置完全一样的温度发射强度所得到的效果,可以发现爆炸的整体外轮廓过于平整,这会导致画面缺乏节奏和层次,这个时候仅需简单的对A,B,C发射器设置不同的温度发射强度,就可以破坏掉这过于规整的动态效果,产生丰富的动态层次()。

温度的衰减

通过设置发射器的温度发射强度,为整个流场提供温度的同时,也提供了浮力,所以减弱温度场的强度,也就可减少流体受到的浮力,在Catalyst FX 中,有2种常用的方式对温度场进行衰减或“降温”,分别是:扩散 Diffusion冷却 Cooling Down 这两个参数在解算器主面板上分别是:Temperature Diffusion 和 Cooling Rate

drawing

冷却 Cooling Down

冷却(Cooling Down)指的是温度场随着时间不断衰减的过程,单位是 (百分比/秒),Cooling Down 的默认参数是 0.75,其物理意义是:温度场的数值在一秒钟的时间内衰减 掉当前强度的 75%,以下是冷却参数不同数值的对比效果图

drawing

如图(上) :演示了温度在不同冷却强度下烟雾翻的滚效果,画左为 Cooling Rate 设置为 0,即整个温度场的温度自始至终不进行任何衰减,温度会持续不断的提供烟雾翻滚上升的动力,并永远的向上翻滚下去。画右: 为 Cooling Rate 设置为 0.95的效果 ,通过温度场的切面可视化可以发现,温度场在冷却功能的作用下,影响范围小了很多,并且在一定高度温度降至 0 以后,烟雾则失去翻滚动力不在向上翻滚上升。

扩散 Temperature Diffusion

在物理世界中,温度会在连续介质中进行传播(如:空气,液体,固体)。某一处环境温度的降低,通常是该区域的温度,间接的影响并传播至自己附近的低温区域,最终达到整个区域的一个温度均衡。我们称这种现象为温度的扩散现象。当全局的温度达到均衡的时候,早期局部的高温期将不再存在,也可以理解为一种温度场的冷却现象。

在Catalyst FX 中我们也提供了对温度场的扩散处理,通过参数面板上的 Temperature Diffusion 系数进行控制。

Cooling Down Example : 干冰

干冰是二氧化碳在固态的形式,当它升华(直接从固态变为气态)时,会产生大量的白雾。为了制造舞台上的雾效,干冰被放入热水中,迅速升华产生浓密的冷雾,这种雾会因为比空气冷而在地面附近流动,营造出神秘的气氛。

由于干冰的初始温度极低,刚产生的雾气温度也会相对较低,比环境温度低很多。这也是为什么干冰产生的雾通常会在地面附近流动,因为冷空气比较重,不易上升。随着雾气与环境空气的接触和混合,其温度会逐渐上升,最终趋近于周围的环境温度。

使用Catalyst FX 制作干冰这种效果的时候,我们可以通过设置解算器的冷却率至最大数值,来让发射器发射的烟雾可以在环境中迅速冷却,从而形成烟雾在地面附近流动的效果。

drawing

如图(上) :Cooling Rate 冷却率设置到 0.99 极限状态下的烟雾流动效果,可以发现虽然发射器设置了温度发射,但是由于发射出来的温度会很快冷却至0度,此时烟雾则会失去所有的浮力,最终下沉到地面附近形成堆积。