我想这个问题肯定是个大问题,好多朋友用maya都知道他内置了一些特效,如果烟火,烟花,海洋,破碎等.最常用的就属烟和火了.可以使用maya内置渲染器渲染没有问题,使用阿诺德渲染器就黑黑的一片,什么都看不到.这不是没有打灯光的原因,而是因为maya的烟火材质阿诺德不支持.
阿诺德渲染器渲染烟火的材质是着色器.通常称为标准体积着色器,英文:standard_volume.
下边是阿诺德常用的体积着色器的属性中文说明:
density体积的密度,密度越低,体积越薄;密度越高,体积越厚。它用作密度通道的倍增,或者如果没有指定密度通道,则可以使用它连接着色器(如体积采样)或程序纹理。

density channel要从体积对象读取的密度通道。
scatter照明体积的亮度。这是散射(而非吸收)灯光的比率,为保证能量守恒,必须使用介于 0 和 1 之间的值。
scatter_color照明体积的颜色。
scatter_color_channel要从体积对象读取的散射通道。它用作散射颜色的倍增,对体积的颜色设置纹理。
scatter_anisotropy
散射的方向偏移或各向异性。默认值零表示等向散射,灯光在所有方向上均匀散射。正值在灯光方向上向前偏移散射效果,而负值则朝灯光向后偏移散射效果。该着色器使用Henyey-Greenstein相位函数。
请注意,非常接近1.0(高于0.95)或-1.0(低于-0.95)的值将产生方向性很强的散射,导致其在大多数角度都不太明显,因而建议不要使用此类值。
transparent对体积的密度进行额外的控制,以便对通过体积看到的体积阴影和对象进行染色。
transparent_depth

对体积的密度进行额外的控制,以便控制透明颜色在体积中达到的深度。
transparent_channel要从体积对象读取的透明颜色。它作为倍增来对体积中的透明颜色设置纹理。
emission_mode

无:不发射灯光。
通道(Channel):使用指定的发射通道或者使用连接到发射速率或颜色参数的着色器发射灯光。
密度(Density):使用按可选发射通道调整的密度通道发射灯光。
黑体(Blackbody):基于温度发射颜色和密度,以渲染火焰和爆炸。
emission

发射是体积发射灯光的速率。如果使用密度通道、发射通道或黑体通道进行发射,则它作为倍增来减少或增加发射。或者,如果没有使用此类通道,则可以将着色器(如体积采样)或程序纹理连接到此参数,以控制灯光的发射位置。
仅当体积光线深度(Volume Ray Depth)大于 0 时,体积才能从其他放射性体积接收间接照明。
emission_color对发射进行染色(与发射相乘)的颜色。
emission_channel在通道(Channel)发射模式下,从中进行发射速率采样的发射通道。如果不为空,则此通道将用于对体积的发射值进行采样,而不是发射(Emission)参数。
采样(Sampling)选项卡提供了其他参数来控制如何从体积通道对数据进行采样。当使用通道(Channel)发射模式时,确保发射属性由 VDB 栅格驱动。如果它是一个固定参数值,可能会出现瑕疵。
temperature如果使用黑体通道,则它用作黑体温度的倍增。或者,可以将着色器(如体积采样)或程序纹理连接到此参数,以控制黑体温度。
temperature_channel在黑体(Blackbody)发射模式下,要从体积对象中读取的温度通道。通常,温度通道来自 Pyro 物理模拟。
blackbody_kelvin

来自温度体积通道的温度的倍增。通常,温度存储在0到1的范围内,而且此参数可用于将温度缩放到以开尔文为单位的温度。
blackbody_intensity控制黑体发射强度。为了获得物理上正确的结果,必须使用强度 1。这可能导致非常明亮的灯光,但是,可以使用较低的值来减小强度。
displacement

将噪波纹理或其他着色器连接到此处以对体积进行置换,与曲面上的置换相似。
这可用于向体积中添加其他细节或者对其进行扭曲。对于所有体积通道,连接的纹理将作为对象空间偏移应用于体积采样位置。

当使用置换(Displacement)时,请确保体积的体积填充(Volume Padding)增加会导致体积大小增加。
interpolation
使用命名通道对体积数据进行采样时要使用的体素插值。
那我们在maya2019中如何渲染烟火呢?
方法是首先,建立一个模型赋予火特效,然后选择粒子,在材质编辑器中赋予阿诺德的标准体积着色器即可.使用阿诺德渲染器渲染就出效果了.


如果大家有喜爱maya的朋友关注,大家互相学习