Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 1

标准体积是一个基于物理的体积着色器。它对体积密度、散射颜色和透明颜色提供独立控制。黑体发射用于直接从物理模拟渲染火焰和爆炸。
每个组件都可以由来自体积对象的一个体积通道控制,其他参数用作通道的倍增。(可选)通道可以保留为空,而且可以改为连接自定义着色器(如体积采样)或程序纹理,用于在操作每个组件时提供更多的控制。

但是,相比于曲面着色,对体积渲染的着色器网络进行求值的成本要高得多,这是因为对于每束光线都会多次调用着色器网络,每个光线行进采样调用一次。因此,在生产环境中,建议尽可能少使用着色器,理想情况下仅使用标准体积着色器执行所有工作即可。

如下示例中的图像对“GI 体积深度”(GI Volume Depth)使用 8(默认值为 0)。这在渲染云等体积时非常有用,因为多元散射对其外观有很大的影响。
建议尽量使体积着色网络保持细瘦。在体积上下文中,这对于渲染时间至关重要,因为其求值频率非常高。

density
体积的密度,密度越低,体积越薄;密度越高,体积越厚。它用作密度通道的倍增,或者如果没有指定密度通道,则可以使用它连接着色器(如体积采样)或程序纹理。

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 2

density channel
要从体积对象读取的密度通道。

scatter
照明体积的亮度。这是散射(而非吸收)灯光的比率,为保证能量守恒,必须使用介于 0 和 1 之间的值。

 

scatter_color
照明体积的颜色。

 

scatter_color_channel
要从体积对象读取的散射通道。它用作散射颜色的倍增,对体积的颜色设置纹理。

scatter_anisotropy

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 3
散射的方向偏移或各向异性。默认值零表示等向散射,灯光在所有方向上均匀散射。正值在灯光方向上向前偏移散射效果,而负值则朝灯光向后偏移散射效果。该着色器使用 Henyey-Greenstein 相位函数。
请注意,非常接近 1.0(高于 0.95)或 -1.0(低于 -0.95)的值将产生方向性很强的散射,导致其在大多数角度都不太明显,因而建议不要使用此类值。

 

transparent
对体积的密度进行额外的控制,以便对通过体积看到的体积阴影和对象进行染色。

 

transparent_depth

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 4
对体积的密度进行额外的控制,以便控制透明颜色在体积中达到的深度。

 

 

transparent_channel
要从体积对象读取的透明颜色。它作为倍增来对体积中的透明颜色设置纹理。

emission_mode

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 5
无:不发射灯光。
通道(Channel):使用指定的发射通道或者使用连接到发射速率或颜色参数的着色器发射灯光。
密度(Density):使用按可选发射通道调整的密度通道发射灯光。
黑体(Blackbody):基于温度发射颜色和密度,以渲染火焰和爆炸。

 

 

emission

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 6
发射是体积发射灯光的速率。如果使用密度通道、发射通道或黑体通道进行发射,则它作为倍增来减少或增加发射。或者,如果没有使用此类通道,则可以将着色器(如体积采样)或程序纹理连接到此参数,以控制灯光的发射位置。

仅当“体积光线深度”(Volume Ray Depth)大于 0 时,体积才能从其他放射性体积接收间接照明。

 

emission_color
对发射进行染色(与发射相乘)的颜色。

 

emission_channel
在“通道”(Channel)发射模式下,从中进行发射速率采样的发射通道。
如果不为空,则此通道将用于对体积的发射值进行采样,而不是“发射”(Emission)参数。

“采样”(Sampling)选项卡提供了其他参数来控制如何从体积通道对数据进行采样。
当使用“通道”(Channel)发射模式时,确保发射属性由 VDB 栅格驱动。如果它是一个固定参数值,可能会出现瑕疵。

temperature
如果使用黑体通道,则它用作黑体温度的倍增。或者,可以将着色器(如体积采样)或程序纹理连接到此参数,以控制黑体温度。

 

temperature_channel
在“黑体”(Blackbody)发射模式下,要从体积对象中读取的温度通道。通常,温度通道来自 Pyro 物理模拟。

blackbody_kelvin

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 7
来自温度体积通道的温度的倍增。通常,温度存储在 0 到 1 的范围内,而且此参数可用于将温度缩放到以开尔文为单位的温度。

 

blackbody_intensity
控制黑体发射强度。为了获得物理上正确的结果,必须使用强度 1。这可能导致非常明亮的灯光,但是,可以使用较低的值来减小强度。

 

displacement

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 8
将噪波纹理或其他着色器连接到此处以对体积进行置换,与曲面上的置换相似。

这可用于向体积中添加其他细节或者对其进行扭曲。
对于所有体积通道,连接的纹理将作为对象空间偏移应用于体积采样位置。

 

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 9

当使用“置换”(Displacement)时,请确保体积的“体积填充”(Volume Padding)增加会导致体积大小增加。

 

interpolation

Arnold(C4DToA)阿诺德渲染教程(30) – 标准体积着色器 standard_volume - R站|学习使我快乐! - 10
使用命名通道对体积数据进行采样时要使用的体素插值。

 

 

Arnold(C4DtoA)

Arnold(C4DToA)阿诺德渲染教程(29) – 雾着色器 fog

2017-11-3 14:15:22

Arnold(C4DtoA)

Arnold(C4DToA)阿诺德渲染教程(31) – 聚光灯过滤器 gobo

2017-11-3 14:39:08

3 条回复 A文章作者 M管理员
  1. 太有用了,感谢分享!
    我的standard_volume材质里给密度值为什么渲染不出来呢?火焰其他值都能渲染

  2. 666这篇文章太有用了

  3. 666666666666

有新私信 私信列表
搜索