Blender材质节点基础教程
Blender材质节点基础教程
Blender是一款强大的开源3D建模软件,其材质系统是实现逼真渲染效果的关键。本文将详细介绍Blender中材质的四大基础属性、着色、纹理、UV、不同类型的着色器及其参数,以及输入节点等知识点。
Blender材质的四大基础属性
在现实世界中,光线与物体的相互作用可以分为三种基本形式:吸收、反弹和穿透。而在计算机渲染中,为了模拟这些效果,通常会使用不同的算法:
漫反射(Diffuse)-Lambert算法:用于模拟物体表面的散射光,其亮度取决于物体表面法线与灯光方向的夹角。
高光(Specular)-Phong算法:用于模拟物体表面的镜面反射,其亮度取决于观察者视角与反射光线的夹角。
环境反射图像(Reflection)-光线追踪:用于模拟物体表面的反射效果,可以使用反射贴图并添加模糊滤镜来实现。
光能传递(Global Illumination):用于模拟全局光照效果,包括间接光照和反射。
这些算法共同作用,可以模拟出各种复杂的表面反射效果。
PBR(基于物理的渲染)简介
PBR(基于物理的渲染)是一种更先进的渲染方法,它通过两个主要参数来控制表面特性:
- 金属度(Metallic):表示物体是否具有金属特性。金属物体反射光谱中的所有颜色,而非金属物体则吸收部分光谱。
- 粗糙度(Roughness):表示表面的光滑程度。粗糙表面会使光线散射,而光滑表面则会产生清晰的反射。
PBR的主要目的是简化用户操作,同时确保渲染结果符合物理规律。
着色、纹理与UV
着色
着色描述了光与物体表面及内部的相互作用方式,用于表现物体的物理特性,如玻璃、金属、塑料等。
纹理
纹理用于增加物体表面的细节,包括图案、划痕、磨损、撕裂、凹凸等。常见的纹理类型有:
- 颜色纹理(Diffuse Texture):定义物体表面的颜色和图案。
- 法线纹理(Normal Map):模拟表面的凹凸细节,通过修改表面法线来实现光照效果。
- 高光纹理(Specular Map):定义表面反射光的强度和颜色。
- 粗糙度纹理(Roughness Map):控制表面的粗糙程度,影响光的散射效果。
UV坐标
UV坐标是纹理坐标,可以理解为模型的皮肤。在2D空间中绘制好纹理后,将其包裹在3D物体的表面上。
Blender着色器接口与数据转换
Blender中的着色器接口支持不同类型的数据,包括值、矢量、颜色和着色器。不同类型数据之间的转换规则如下:
- 数值到颜色:复制数值到3个颜色通道。
- 颜色到数值:使用公式0.21 * R + 0.72 * G + 0.07 * B计算灰度值。
- 数值到矢量:复制数值到3个矢量通道。
- 矢量到数值:计算xyz三个通道的平均值。
- 矢量和颜色互转:分别复制3个通道。
- 颜色和着色器:
- 颜色直接连接表面时,Blender会默认添加一个自发光着色器。
- 颜色连接着色器再连接表面时,会根据光照模型计算最终效果。
- 着色器不能直接连接到值、颜色、矢量接口,需要使用“Shader to RGB”转换器。
常用着色器详解
光泽着色器与漫射着色器
- 光泽着色器:
- 粗糙度参数:控制表面反射的清晰度,而不是物体表面的粗糙程度。
- 颜色参数:控制物体表面的颜色,但不能生成纯黑色且有光泽的物体。
- 漫射着色器:
- 粗糙度参数:值为0时给出标准的朗伯反射,更高值激活奥伦-纳亚尔漫反射。
- 颜色参数:控制物体表面的颜色。
体积散射与体积吸收着色器
- 体积散射:模拟光线在介质中偏离原来方向的现象,如蓝天、白云、彩虹等。
- 体积吸收:模拟光线被介质吸收的过程,密度越大,吸收越快。
阻隔着色器
主要用于创建透明区域或蒙版,在Eevee渲染器中需要开启“Film”设置中的“Transparent”选项。
丝绒着色器
主要用于模拟丝绒材质的效果,通过调整西格玛值控制布料表面的亮面范围,通常需要与漫射着色器混合使用。
次表面散射着色器
用于模拟光线在物体内部散射而呈现的半透明效果,如玉石、蜡烛、葡萄等。主要参数包括:
- 缩放:控制透光效果的范围。
- 半径:控制透过的光的长度和颜色。
- 颜色:控制物体表面的颜色。
各向异性着色器
用于模拟物体表面有规则凸起时的各向异性反射效果,主要参数包括:
- 粗糙度:控制反射模糊度。
- 各向异性:控制高光的形状。
- 旋转:控制高光的方向。
半透着色器
用于模拟薄物体(如纸张、窗帘)的透光效果,通常需要与实体化修改器配合使用。
折射、透明与玻璃着色器
- 折射:模拟光线从一种介质进入另一种介质时的偏转效果。
- 透明着色器:控制物体的颜色和透明度,通过调整RGB值来控制透明度。
- 玻璃着色器:专门用于模拟玻璃材质,可以通过调整折射率和粗糙度来控制效果。
混合着色器与相加着色器
- 混合着色器:用于混合不同着色器的效果。
- 相加着色器:主要用于增强烟雾等效果。
原理化BSDF着色器
原理化BSDF着色器是Blender中最常用的着色器之一,它通过几个关键参数来控制材质特性:
- 基础色:控制物体表面的颜色。
- 金属度:区分金属和非金属材质。
- 粗糙度:控制表面的粗糙程度。
- GGX:用于控制高光分布,通常保持默认设置。
- 高光和高光染色:用于精细调整高光效果。
- 随机游走、次表面、次表面半径和次表面颜色:用于模拟半透明材质的效果。
- 投射和投射粗糙度:用于模拟玻璃等透明材质的效果。
- 各向异性、光泽、清漆、alpha:用于实现更复杂的材质效果。
各向异性
物体的各向异性是因为物体表面比较规则的划痕,既然是划痕,说明物体表面是粗糙的。所以高光液不应该那么清晰,这就需要调整高光的糙度。和各向异性相关的属性:
- 粗糙度:首先增加粗糙度
- 各向异性过滤:正值时,产生于切向垂直的高光;负值时,产生于切向平行的高光
- 各向异性旋转
- 切向
光泽、清漆
这两项的效果都是在物体已经有的高光上再加一层高光。
- 区别是使用光泽添加的高光比较模糊,清漆的高光比较清晰。
光泽
- 光泽
在高光值等于零的情况下添加光泽,物体看起来是毛茸茸的。光泽=1.0
光泽=10.0时,与右侧添加模糊高光的效果对比一下,添加光泽的物体看起来更柔软一些。所以在做布料材质的时候,可以添加光泽。 - 光泽染色
光泽染色是使用的问题的基础色,这里就不讲了。
清漆
- 清漆
清漆也是为物体再加一层高光
先创建一个糙度为0的金属球。然后提高清漆的值 清漆=1.0,效果可能不明显。当清漆=20时,就可以看到金属外面的一层高光。就像加了一个壳一样。 - 清漆粗糙度
清漆粗糙度是用来调整清漆的清晰度的,增加这个值,球体外面这层高光变模糊。但是金属本身的高光还是很清晰。糙度是调整物体本身的高光的,当增加糙度,里边那层高光开始模糊。外层的还很清晰。当同时提高高光粗糙和清漆粗糙度时,内外两层高光开始模糊。 - 清漆法线
清漆法线是用来给清漆层高光添加凹凸感的
我们这里有一个非金属的球体,物体自身高光模糊,外层添加了一层清漆。然后新建噪波纹理和凹凸节点,讲他们连接到清漆法线上。如果连接到法向上,控制的是物体本身的高光,看上去就像是清漆层内部是凹凸不平的。但是表面还是光滑的。
Alpha
使用alpha的时候,要注意它和透射的区别。alpha如果等于0,是真的透明,就是没有任何东西。2. 在cycles模式下,把图像的alpha连接到alpha上面,可以显示出导入图片的alpha通道。可以看到泡泡中心是半透的,其他是透明的。4. 再连接颜色,泡泡就被单独显示出来了。就像抠图一样。6. 当开启透射,透射折射率等于1.0时,物体也是透明的。只有当物体是白色的时候才会出现透明效果。这个地方还有一个壳子。虽然物体本身不发生反射,就是没有高光。但是可以通过清漆给物体加上高光。8. 当alpha等于0时,就相当于这个地方没有物体了。
输入节点-光程(是或者不是)
根据Blender的说明,光线一共分为以下四种:
- Camera(摄像机) :光线从摄像机直接发出
- Reflection(反射):光线来自表面反射光
- Transmission(透射):光线来自表面透射光
- Shadow(阴影):光线用于制造(透明)阴影
是摄像机射线
它的意思就是判断这个场景中有哪些是摄像机射线。它只有0和1,如果是就输出1,如果不是就输出0. 就是说只有直接到达摄像机的光线才属于摄像机。或者你可以想象成猴头自身在发射光线,有一部分被镜面反射,有一部分透过玻璃。只有那些直接到达摄像机的才是摄像机射线。
自己的理解:光程节点是在猴头的材质里边调用的,所以它说的是猴头的光哪些是直接进入摄像机,如果是间接进入的,则是0.
是反射射线
猴头的光经过反弹进入摄像机就是反射射线。(包括漫反射)
是透射射线
猴头的光经过其他物体后再进入摄像机就是透射射线。
反射和透射光还具有一下特征:
漫射:光线由漫反射或投射(半透明)产生。【个人理解是有随机方向采样】
光泽:光线是由光泽镜面反射或透射产生的。
单一:光线是由完美的反射或透射产生的。
是漫射射线
无论是反射射线还是透射射线,只要它的出射方向是向四周三开的(个人理解就是有随机发射过程)都可以当做漫射射线。注意:平面距离猴头很近,就会有漫射穿过这个折射平面。
是光泽射线
理解的意思是,光路都是平行的(除了漫射都是平滑反射)。下图黄色箭头虽然有部分是漫反射,但是还是包含了镜面反射。
是单一射线
单一:光线是由完美的反射或透射产生的。首先得是光泽射线,漫反射不是单一射线,模糊反射也不是单一射线。
是阴影射线
阴影射线和其他的所有射线都不一样,他是因为光线被遮挡而产生的。所以它需要跟透明着色器配合使用。用来改变阴影的颜色。下图猴头下面的材质改为透明着色器就可以看到效果。
长度和深度
- 长度:好像说的是摄像机的射线长度。
- 深度:说的是各种射线弹跳的次数,是1的倍数。