简介

材质定义了物体所组成的物质的艺术品质。在最简单的形式中, 你可以使用材质来显示物体所构成的物质, 或用不同的颜色 "绘制" 物体。通常, 该物质由其表面品质 (颜色、光泽、反射率等) 表示, 但也会产生更复杂的效果, 如透明度、衍射和次表面散射。典型的材质可能是黄铜、皮肤、玻璃或亚麻。

材质还可以包含置换信息来描述材质如何升高和降低材质表面。

../../../_images/render_blender-render_materials_introduction_demo.jpg

各种基本材质(单材质、多材质、透明、顶点绘制)。

基本 (无纹理) blender 材质在物体的每个面上都是均匀的 (尽管由于照明效果, 物体的每个面的各种像素可能会出现不同的外观)。但是, 物体的不同面可以使用不同的材质 (请参见 多重材质 )。

在 blender 中, 材质可以 (可选) 具有关联的纹理。纹理 描述 物质: 例如 抛光 的黄铜, 的玻璃或 绣花 的亚麻布。 Textures 一章介绍了如何向材质添加纹理。

材质如何工作

在了解如何有效地使用材质进行设计之前, 你必须了解 blender 的模拟光线和表面在渲染引擎中是如何相互作用的, 以及如何设置材质控制这些相互作用。深入了解引擎将帮助你从中获得最大收益。

使用Blender创建的渲染图像是将场景投影到称为 视图平面 的假想表面上。视图平面类似于传统相机中的胶片,或者人眼中的视杆和视锥,除了接受模拟光,而不是真正的光外。

要渲染场景的图像,必须首先确定场景中的光线到视图平面上的每个点。回答这个问题的最佳方法是沿着直线(模拟光线)向后穿过视图平面上的该点和焦点(相机的位置),直到它碰到场景中的可渲染表面,在该点上,我们可以确定哪些光线会击中到该点。

表面特性和入射光角度告诉我们有多少光线会沿入射视角反射回来 (渲染引擎基本原理)

../../../_images/render_blender-render_materials_introduction_basic-principle.svg

渲染引擎基本原理。

当光线照射到表面上时,在表面上的任何点发生两种基本类型的现象:漫反射和高光反射。漫反射和高光反射主要通过入射光角度和反射光角度之间的关系来区分。

在渲染过程中,物体的着色(或颜色)将考虑基础颜色(由漫反射和高光反射现象修改)和光强度。

使用内部光线跟踪器,可能会发生其他(更高级)现象。在光线跟踪反射中,光线照射的表面点将根据材料的反射速率(混合基色和周围环境)和视角返回其周围环境的颜色。

另一方面,在光线跟踪折射中,被光线照射的表面点将根据材质的透明度(基础颜色和背景环境的混合及其可选过滤值)和材质的可选折射率返回其背景环境的颜色,这将会扭曲视角。

当然,光线照射的物体的着色将是在渲染过程中同时混合所有这些现象。物体渲染时的外观取决于许多相关设置:

  • 世界(环境颜色,辐射,环境遮蔽)

  • 灯光

  • 材质设置(包括环境、发光和该选项卡中每个面板上的其他设置)

  • 纹理及其混合方式

  • 材质节点

  • 相机

  • 视角

  • 障碍和透明遮挡

  • 来自其他不透明/透明物体的阴影

  • 渲染设置

  • 物体尺寸(SS设置与尺寸相关)

  • 物体形状(折射,菲涅耳效应)

使用材质

Tip

检查你的渲染

在设计材质(以及纹理和光照)时,请经常使用所选的渲染引擎/着色器设置检查场景的渲染外观。外观可能与3D面板中纹理显示中显示的外观完全不同。

如上所述,材质设置通常决定物体的表面属性。有几种方法可以在Blender中设置材质。一般来说,这些是不兼容的。必须为场景中的每个特定物体选择要使用的方法:

  1. 首先,你可以在各种材质面板中设置材质 属性

  2. 其次,你可以使用 节点 ; 可以使用图形节点编辑器。

  3. 最后,你可以使用各种特殊效果直接设置物体表面的颜色。严格来说,这些根本不是材质,但它们包括在这里因为它们会影响物体的外观。这些包括 Vertex Painting, Wire Rendering, Volume Rendering

材质设置的确切效果可能会受到许多系统设置的影响。首先,最重要的是所使用的渲染器:Cycles和Blender渲染器(也称为Blender内部渲染器或BI)需要相当不同的照明级别来获得类似的结果,即使这样,物体的外观也可能会非常不同。此外,材质属性设置可能会受到所使用的纹理方法(单纹理、多纹理或GLSL)的影响。因此,在开始材质设计之前,建议始终选择适当的系统设置。

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

表面着色器

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

体积着色器

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

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

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

置换着色器

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

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

能量守恒

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

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

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