流体容器
流体容器是 2D 或 3D 矩形边界,可用于定义流体所存在的空间。流体效果不能存在于容器外部。流体容器是实现任何动态或非动态流体效果的主组件。开阔水面效果不需要使用容器。有关详细信息,请参见开阔水面效果。
流体容器分为三个标注栅格,其中一个栅格的每个单元称为体素。
第一次创建流体容器时,该容器是空的。若要创建流体效果,您需要向容器中添加内容,然后通过修改容器属性来修改流体的外观和行为。请参见定义流体容器的内容。
3D 流体可能比较大,因此对它们的动态流体行为求解非常慢。这是由于需要所有额外数据来定义它们所致。在许多情况下,通过更简单、占用内存较少的 2D 流体即可实现所需的效果。
若要提高模拟速度并减少流体效果的内存占用量,可以启用“自动调整大小”属性。自动调整大小可以根据流体效果的大小动态调整流体容器的边界。请参见将流体容器设置为动态调整大小。
注意:可以将流体容器放置在彼此内部,但流体不会彼此交互。
2D 容器
2D 流体容器是深度为一个体素的 3D 流体容器。该体素的大小由容器的 Z 大小决定。
随着 Z 大小变大,其中的任何“密度”(Density)都将变得更加不透明。通过对 Z 大小设置动画,可以模拟对象穿过流体的 3D 效果,无需花费额外的渲染时间即可拥有完整的 3D 流体。
3D 容器
3D 流体容器是深度为两个或更多体素的流体容器。
流体发射器
可以使用流体发射器将流体特性(“密度”(Density)、“温度”(Temperature)、“燃料”(Fuel)和“颜色”(Color))添加到流体容器。流体发射器可创建流体特性值并修改栅格的体素,将这些值用作模拟播放内容。流体发射器必须在流体容器的边界内才能发射。
容器内容
可以通过将以下任意或所有流体特性的值放到其容器内来定义流体效果:“密度”(Density)、“速度”(Velocity)、“温度”(Temperature)、“燃料”(Fuel)和“颜色”(Color)。
您可以使用不同的方法定义这些特性,具体取决于您所需的效果以及效果是动态的还是非动态的。请参见定义流体容器的内容。
密度(Density)
密度表示流体在真实世界中的材质特性(物质)。将密度视为流体的几何体。“密度”(Density)值越高,“密度”(Density)越不透明。可以仅使用“密度”(Density)创建非动态流体效果,也可以将“密度”(Density)与“速度”(Velocity)和其他特性结合使用创建动态模拟。
速度(Velocity)
“速度”(Velocity)可通过容器内部的移动“密度”(Density)、“温度”(Temperature)、“燃料”(Fuel)和“颜色”(Color)值影响动态流体的行为。“速度”(Velocity)同时具有幅值和方向值。方向定义移动流体值的路径。
对于动态模拟,Maya 基于您应用到模拟的力计算速度值。但是,您也可以设定固定的“速度”(Velocity)路径,将“速度”(Velocity)用作容器中推动特性值的力。
动态流体模拟需要使用“速度”(Velocity)。
温度(Temperature)
“温度”(Temperature)可影响动态流体的行为,使其上升或作出反应。
燃料(Fuel)
对于动态流体,“燃料”(Fuel)与“密度”(Density)的结合使用可创建发生反应的流体。“密度”(Density)值表示起反应的物质,“燃料”(Fuel)值说明反应状态。“温度”(Temperature)可以使“燃料”(Fuel)燃烧以开始反应(如爆炸效果)。在反应过程中,“密度”(Density)和“燃料”(Fuel)值越来越小,直到反应完成。
颜色(Color)
该特性将颜色应用于“密度”(Density)。“颜色”(Color)仅于存在“密度”(Density)的位置显示。
示例
该示例将“密度”(Density)、“温度”(Temperature)、“燃料”(Fuel)和“速度”(Velocity)值结合使用来创建火焰的动态模拟。
可以通过以下三种方法为流体上色:
使用内置着色器颜色
着色器内置到流体中以便高效地为流体上色。
使用栅格
您可以通过栅格控制颜色位于每个体素中的位置。此外,还可以使颜色表现出动态行为,这意味着您能使颜色交互和混合。
照明
可以设定流体内部光和环境光的颜色值以影响流体的颜色。其他照明属性(例如“阴影不透明度”(Shadow Opacity)和“自身阴影”(Self Shadow))也会影响流体的颜色。
合并流体特性以创建动态效果
由于非动态效果仅使用定义为渐变或静态栅格的特性(这些值不能更改),因此动态效果将渐变定义的流体特性与动态栅格定义的流体特性结合使用。
例如,可以设定“密度”(Density)以使用“动态栅格”(Dynamic Grid),但添加单方向的恒定“速度”(Velocity)来影响“密度”(Density)的移动。随着模拟的进行,“速度”(Velocity)的幅值和方向将保持不变,但“密度”(Density)值将由于求解发生变化。
,