摘自并整理自虚幻官方教程:https://learn.unrealengine.com/course/2449699
课程中的工程项目文件下载:
链接:https://pan.baidu.com/s/1o7m3pR7BvaCYAmlx57B9HQ 提取码:uenb
一、PBR材质介绍
Physical Based Rendering(PBR):基于物理的渲染。基于物理的材质最重要的输入包括“金属色Metallic”、“高光度Specular” 和 “粗糙度Roughness”
1.底色Base Color:
物体本身的颜色,通常链接物体表面纹理,RGB输入。它接收 Vector3 (RGB) 值,并且每个通道都自动限制在 0 与 1 之间
2.金属色Metallic:
控制表面在多大程度上"像金属"。非金属的金属色(Metallic)值为 0, 金属的金属色(Metallic)值为 1,默认为0
- 金属度1到0变化:
3.高光度:Specular:
描述材质的反射光线的能力,默认值0.5
官方定义:在编辑 非金属 表面材质时,您有时可能希望调整它反射光线的能力,尤其是它的 高光 属性。 要更新材质的高光度,需输入介于0(无反射)和1(全反射)之间的标量数值。
当值为0,理论上材质不再会反射任何光线,不再有反射现象
- 高光度0到1变化:
4.粗糙度:Roughness:
描述材质的粗糙程度,会影响光线在材质表面的反射性, 默认值0.5
当值为0,表示材质不再有粗糙度,相当光滑,效果会类似镜面反射
当值为1,可以理解为完全漫反射
- 粗糙度0到1变化:
材质蓝图节点:
二、PBR材质纹理简单制作
以课程工程中的 “木门” 的模型为例:
1.制作基础纹理
2.制作金属度纹理
把金属区域涂成白色(1.0),非金属区域涂成黑色(0.0),因为金属度节点,连接1代表完全金属,连接0代表非金属,就可以按不同区域标记材质的金属度的值。
3.制作粗糙度纹理
将底色图转换成灰度图,然后进行反转(亮的变暗,暗的变亮),就可以得到简单的粗糙度纹理。
它的原理是因为:
本身颜色是亮色的话,根据光线反射原理,说明它反射光线的能力更强,相当于粗糙度很低;
本身颜色是暗色的话,说明它反射光线的能力弱,相当于粗糙度很高。