材质库-PBR材质
一、基础概念
PBR是Physically-based Rendering的缩写。意义则为基于物理真实世界的渲染算法过程。PBR材质的表现效果更加真实。在像塑专业版中,默认3D模型都会挂载上Standard PBR材质。
可看到瓷砖的粗糙度和颜色等随着光线的变化,瓷砖的材质有着明显的变化
Video摘自Youtube: https://youtu.be/XI-pZshRp8g
在抖音道具中的效果:
抖音道具 星光兔 | 抖音道具 泡泡相机 | 抖音道具 兔子歌手 |
二、使用步骤
2.1 新增PBR材质
点击资源面板右上角 + 中材质 > 基于物理的渲染(PBR) ,在资源栏生成了一个新的材质球。
新增的材质球为StandardPbr
当从3D材质库添加某些材质时,会默认把普通贴图、AO贴图、和法线贴图放在资源管理中。
2.2 使用PBR材质
在特效信息面板,选中任何的实体模型,在对应的参数信息面板中模型渲染,选择新增的材质球即可。
将实体模型从资源面板拖拽到特效信息时,会根据解析出来的模型数量默认生成多个新的PBR材质球,且自动挂载。
2.3 修改PBR材质
在资源管理,选中任一PBR材质球。定位到参数信息面板,可更改此PBR材质的不同效果。
三、PBR参数信息
在资源管理选中PBR材质后,切换到参数信息面板,让我们先关注渲染状态。
3.1 渲染状态
渲染规则的基础知识:
- 实体模型在特效信息面板的位置越低,自动排列的渲染序号越大,越后渲染
- 后渲染的物体会覆盖先渲染的物体,可通过更改序号改变渲染顺序
3.1.1 深度测试
引擎的渲染系统中存在一个颜色缓冲区和一个深度缓冲区,分别存储颜色值和深度值,来决定画面上的颜色和遮挡关系。深度值是物体在世界空间中距离摄像机的远近。距离越近,深度值越小;距离越远,深度值越大。
在决定是否绘制一个物体的表面时,首先将表面对应像素的深度值与当前深度缓冲区中的值进行比较,如果不满足深度比较的条件,则丢弃这部分,否则利用这个像素对应的深度值和颜色值,分别更新深度缓冲区和颜色缓冲区。这一过程称之为深度测试。默认值是小于,即在三维空间内,这个物体在另一个物体的前面才会通过测试才能被渲染,此外可选在深度比较中选择其他的值。当不勾选深度测试时,则按照物品各自的渲染顺序进行渲染。
勾选深度测试 | 不勾选深度测试 |
3.1.2 深度比较
作用于深度测试,可选小于、小于等于、大于、大于等于、等于、不等于、总是。
大于 | 总是 |
3.1.3 深度写入
物体通过深度测试后,默认深度写入默认是开的,这时候即会把颜色值写入到颜色缓冲中等待下一步处理,如果不选中不写入,下次深度测试时则不更新深度值。
3.1.4 剪裁
引擎进行渲染的对象都是三角面,有正面和背面之分,为了节约性能,引擎默认把法线方向反向的三角面进行裁剪剔除,最终渲染仅绘制模型正面。
可选:背面、正面、正面和背面、都不。默认为裁剪背面,如需要双面显示,则选择“都不”即可。
背面 | 都不 |
3.1.5 混合模式
引擎提供多种材质混合模式,默认为正常。
3.2 材质
参数、定义和类型范围
参数 | 定义 | 类型和范围 |
AlbedoTexture |基础色贴图 | 描述非金属表面的漫反射的纹理贴图,一般需要在外部自行制作,通过资源栏的“本地上传...”导入后可下拉选择。 | 纹理贴图(8位png) |
AlbedoColor|基础色 | 描述非金属表面的漫反射颜色,金属表面高光颜色,其中A通道为alpha值,若使用此参数,则与参数AlbedoTexture 互为正片叠底(相乘)的关系, | 线性RGBA[0.0, 1.0] |
NormalTexture|法线贴图 | 通过RGB颜色通道来来改变法线的方向,模拟物体表面凹凸效果,一般需要在外部自行制作,通过资源栏的“本地上传...”导入后可下拉选择。 | 纹理贴图(8位png) |
NormalIntensity|法线强度系数 | 用于调节法线强度 | 标量[1.0, 2.0] |
Metalic|金属度 | 数值0.0为电解质(非金属),数值1.0为导体(金属、水等) | 标量[0.0, 1.0] |
Roughess|粗糙度 | 描述表面的粗糙程度,数值0.0为光滑表面,数值1.0为粗糙表面 | 标量[0.0, 1.0] |
AOIntensity|AO强度系数 | 控制AO的强弱 | 标量[-0.5, 0.5] |
MRAOTexture|金属度、粗糙度、AO强度混合贴图 | 此贴图混合贴图,利用贴图的RGB通道保存金属度、粗糙度、AO的值 M:金属度,将灰度图储存到R通道中,与参数Metalic为相乘关系 R:粗糙度,将灰度图储存到G通道中,与参数Roughess为相乘关系 AO:AO,将灰度图储存到B通道中, 与AOIntensity为相乘关系 | 纹理贴图(8位png) |
IrradianceTex|环境漫反射贴图 | 模拟环境光源作为间接光照,负责漫反射部分,可将HDRi拖入Creator中自动转成png | 纹理贴图(8位png) |
RadianceTex|环境镜面反射贴图 | 模拟环境光源作为间接光照,负责镜面反射部分,可将HDRi拖入Creator中自动转成png | 纹理贴图(8位png) |
BLExposure|环境光照曝光值(EV) | 控制环境光照的曝光强度 (建议保持默认值1.0) | 标量[0.0, 5.0] |
BLRotation|环境水平旋转 | 控制环境纹理水平旋转,由0.0到1.0旋转一圈 | 标量[0.0, 1.0] |
Emissive|自发光 | 用于模拟表面的自发光效果 | 开关 |
EmissiveTexture|自发光贴图 | 自发光表面的纹理贴图 | 纹理贴图(8位png) |
EmissiveColor|自发光颜色 | 选择自发光效果的颜色。若使用此参数,则与参数EmissiveTexture互为正片叠底(相乘)的关系 | 线性RGB[0.0, 1.0] |
EmissiveIntensity|自发光强度 | 控制表面自发光的强度 | 标量[0.0, 2.0] |
RimColor|边缘光颜色 | 当开启RimColor(边缘光)选项时,根据当前视角描述物体边缘处的自发光效果的颜色 | 线性RGB[0.0, 1.0] |
RimFallOff|边缘光衰减系数 | 当开启RimColor(边缘光)选项时,根据当前视角控制边缘光的范围 | 标量[1.0, 10.0] |
Iridescence|彩虹色 | 根据当前视角描述物体边缘处出现彩虹颜色效果 | 开关 |
IridescenceIntensity|彩虹颜色强度 | 根据当前视角描述物体边缘处出现彩虹颜色效果的颜色 | 线性RGB[0.0, 1.0] |
IridescenceFallOff|彩虹颜色衰减系数 | 根据当前视角控制彩虹颜色的范围 | 标量[1.0, 5.0] |
IridescenceSaturation|彩虹颜色饱和度 | 控制彩虹颜色的饱和(由彩色边灰色) | 标量[0.0, 1.0] |