简介

材质定义了网格物体、曲线物体及其它各类物体的外观。它们共有三种类型的着色器,分别是:定义网格的表面效果、网格内部的体积效果、以及网格表面的置换效果。

../../../_images/render_cycles_materials_introduction_shaders.svg

表面着色器

表面着色器定义了网格表面的光线交互状态。

See also

表面着色器

体积着色器

当表面着色器既不反射也不吸收光线时,光线会进入到物体内部。如果不指定任何的体积属性,它将直接穿透到达网格的另一头。

如果进行了定义,那么一个体积着色器就会对光线经过物体内部时的作用效果进行说明。光线可能会被散射、吸收或是照亮内部的任意点。

一个材质可以同时具有表面着色器和体积着色器属性,或是只含其一。同时使用二者时,有助于表现如玻璃、水或冰块等材质。例如,当你需要一部分光在穿过物体被吸收,兼具玻璃着色器和光泽着色器属性的表面的情况。

See also

体积着色器

置换着色器

表面以及内部的形状可以通过置换着色器改变。用这种方式,贴图可以让网格表面的细节程度得到增强。

如果设置得当,置换效果可以只调节表面法线即可虚拟呈现效果,也就是传说中的凹凸贴图,又或者实现虚实结合的置换效果。

See also

置换着色器

能量守恒

材质系统是基于物理渲染思想的基础上建立的,将材质的感官形式与所用的渲染算法进行泾渭分明的划分。这样做会比较易于获得逼真的效果以及均衡的光照,不过需要注意几点。

为了能够让材质在全局光中取得理想的效果, 用户应该遵循物理原则,质能守恒定律。这意味着,物体所反射的光量不能多于入射的光量。这种属性并没有强制限定,但如果色彩值在0.0-1.0之间,并且 BSDF 着色器只通过Mix Shader(混合着色器)结点进行混合的话,那么结果就是正确的。

然而,这种情况则例外:当色彩值高于1.0,或者使用了Add Shader(叠加着色器)结点的时候,你必须谨慎操作,确保材质的效果在各种光照情况下都在预料之内。因为这种情况下会导致在系统中每当光线被反射时都会被多反射一次,使得 BSDF 着色器呈现出一种类似于自发光的效果。