3D角色 PBR入门简述
目录:
PBR简述
PBR知识架构概括
PBR材质模型
第一节:PBR简述
什么是PBR
PBR全称Physicallly-BasedRendering;是一种着色和渲染技术,用于更精确的描述光如何与物体表面交互。简单点说,就是在我们给游戏或电影的物体添加光照影响时,我们希望有一套合理的范式去向计算机描述如何给我们的物体计算光照,并且绘制出合理的图像;
光照模型组成三要素:光照,着色,感光
PBR就是未来模拟真实的光照效果,对三个要素进行研究的。
光源和暴露在光源下的模型在3D引擎下被放置时,当光线照射在物体的表面,如何表现物体表面被照射时我们看到的颜色,如何表现阴影,PBR技术给出了这一问题的解决方案。
PBR涉及的基础理论
(一)涉及到的核心理论与渲染原理有:
为理解后继BRDF方程,我们需要对使用到的理论做简要的学习:
1. 微平面理论
2. 能量守恒
3. 菲涅尔反射
PBR Workflow
PBR制作材质工作流目前主要分为两种,一种是基于金属的工作流,一种是基于镜面反射的工作流,它们都遵循着PBR的核心原理,最大的区别是如何识别反射与漫反射;
这里简单介绍一下基于金属的工作流是如何作用的:
当我们希望给一个模型赋予材质,我们需要准备六张贴图
除了传统材质需要的三张贴图(AO,法线,高度图),基于金属的工作流还需要一下三张贴图:
1. albedo map(反射率贴图)
2. Metalness map(金属贴图)
3. Rougnness map(粗糙度贴图)
反射率贴图:保留了物体的固有色
金属贴图:区分物体表面是金属还是非金属,金属导电,这就意味着绝大多数光子(光)会在其表面发生反射,而其余的光子则会被吸收而不是发生漫发射,所以金属没有漫发射的概念。相反绝缘体则会反射一小部分光(大约4%),而大部分的光则是发生漫反射或在物体表面弹射从而形成均与分布的颜色。
粗糙度贴图:同时包含了diffuse和reflectivity的信息
第二节:PBR知识架构
1. 设计的架构图
本章仅作为入门介绍:
第三节:UE4 Shader演示
直观理解材质模型,现在分析官方提供的木板材质来对PBR材质制作有一个更具体的认识
一.引擎渲染效果
我们从图中了解,最基本的输入有
漫反射Diffuse组,当中包含了固有色贴图
Roughness粗糙度贴图,
Specular镜面反射贴图,
Normals法线贴图,
AmbientOcclusion AO图(环境光遮蔽图)
还有一个Metallic为0的金属度(因为木材质为非金属材质,故输入为0)
但是我们可以看到没有使用Height map
高度贴图(也称为视差贴图)与法线贴图是一个类似的概念,但是这种技术更复杂——因此也更昂贵。高度贴图通常与法线贴图一起使用,通常它们被用来给纹理贴图负责渲染大凸起的表面提供额外的定义。
最后简要说一下各个节点中包含的content,对制作一张基础材质需要的素材有一个更形象的认知:
UV伸缩控制:控制贴图应用在世界时的大小比例,将会链接在所有的map中
Diffuse:
List:
一张jpg贴图,
一个带alpha通道的表示颜色的四维向量,
一个乘法节点,我们通过修改woodcolor中的值,可以使得我们的固有色加上不同的RGB颜色与透明度,比如,让地板变成红色。
Roughness
Lerp的作用是,将该贴图作为蒙版应用在材质上,
根据该贴图的Alpha值(0,1)
使得该帖图的应用效果在Lerp中A,B两个数(折算成百分率)的范围内显示。
只是用一个通道可以用于降低材质的计算量,增加优化。
Normal
AO:
屏幕空间环境光遮挡(SSAO)是一种近似计算因遮蔽而造成的光线衰减的效果。通常是在标准全局光照的基础上增添细微效果,例如让角落、裂缝或其他生物变暗,以形成一种更加自然真实的视觉效果。