ue4 命名插件_UE4关于PBR工作流程的学习笔记

88832f4d0b1296ebf6ee302190063a48.png

UE4虚幻引擎学习云笔记 -

19-11-06

【四、材质编辑器】 - [3.UE4材质概念] - 2)PBR工作流程【拓展】

茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录​zhuanlan.zhihu.com
e2578f3de05394977b8338c021c911ae.png
茕兔QIONGTWO:UE4虚幻引擎学习云笔记(四)-材质编辑器​zhuanlan.zhihu.com
f7285b523eb0ccc26f646956c69ec9de.png
基于物理的材质 ​docs.unrealengine.com
aac792596f38a25448a843013fce00d8.png

  • PBR工作流程

f0642638fcea26b9668b56114a1f5373.png

渲染器实用PBR时具有其规范的材质纹理工作流程。

环境光线采用linear线性模式,原gamma模式不再适用。

原gamma模式用以环境光修正,而PBR基于物理光计算,已无需修正。

以下为PBR工作流程,“取代”指由Blinn-Phong工作流程转型:


●双工作流通用节点:

  1. AO(Ambient Occlusion)环境光遮蔽:决定与相邻模型的集合距离,越接近越不受光。
  2. Normal法线:中尺度法线空间表面凹凸细节效果,取代凹凸Bump。
  3. Height高度:宏观几何凹凸效果。等同置换Displacement?

●金属粗糙度工作流(Metal – Roughness Workflow)节点:

  1. BaseColor基色:固有色。
  2. Roughness粗糙度:微观尺度法线分布函数,取代Specular重定义光泽粗糙程度。
  3. Metallic金属度:镜面反射与漫反射的光线占比,取代镜面反射Reflaction。

金属度将自动配比镜面反射与漫反射比例,下种工作流可自定义比率。


●反射光泽度工作流(Specular – Glossiness Workflow)节点:

  1. Diffuse漫反射:固有色。
  2. Glossiness光泽度:取代Specular重定义光泽粗糙程度。
  3. Specular镜面反射:取代Reflection重定义为镜面反射,与Diffuse共同决定固有色。

以上是两种PBR流程的基本工作流程,接下来拓展

●PBR参数基于微观几何学与光学物理视觉成像理论的定义:

除了自发光物体,成像皆由视网膜接收物体各尺度平面反射的光线构成。

物理世界不存在完美镜面,镜面反射只有相对视距的平滑程度之分。

光源照射物体时,将会与物体产生多种交互现象,反馈大致为:

光源到达物体表面时、物体原子会将光子部分吸收partially absorbed,能量守恒转化为热能,反射的部分较弱;且根据折射率具有不同角度微平面散射scattered,该现象的BRDF渲染参数体现称为归一化Nomalized

穿透的部分将会产生折射Refraction、次表面散射Subsurface Scattering、半透明透射Transmission

经过散射、微平面镜面反射的部分,称为 漫反射Diffuse

被相对镜面反射,称为 镜面反射Specular

镜面反射与漫反射的光线占比,称为 金属度Metallic

金属物体金属度:70%-100%,镜面反射占比大。

粗糙物体金属度:2%-5%,宝石约8%,漫反射占比较大。

反射光线相对角度大小决定 粗糙度Roughness

菲尼尔反射Fresnel Reflectance是基于其物理学发现的光学折射反射效应,取决于光线反射率与视角度:

相对接近垂直于视角度而言,与法线的相对角度越接近的90度,折射反射率越小,观感较柔和;

非垂直于视线的掠射角度(法线角减入射角)越小于90度,折射反射率越大,观感较锐利。


PBR光学反射概念:

  1. 自然光照下,物体呈现的颜色;对应BaseColor基色,决定固有色。
  2. 物体表面对光线的镜面反射分散角度;对应Roughness粗糙度,决定高光。
  3. 物体表面对光线镜面反射和漫反射的比例;对应Metallic金属度,决定反射。

以上是PBR工作流程须知。

茕兔QIONGTWO:UE4虚幻引擎学习云笔记(四)-材质编辑器​zhuanlan.zhihu.com
f7285b523eb0ccc26f646956c69ec9de.png
茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录​zhuanlan.zhihu.com
e2578f3de05394977b8338c021c911ae.png
真实渲染 ​docs.unrealengine.com
28ec08561d4f5dcefa17bd0e8d9a2e67.png

研习实例待更新。

以上内容参考自以下。


以下对我来说暂时没啥用的历史深究。

●基于物理的PBR(Physically Based Rendering)渲染技术

PBR是基于物理规律模拟的一种渲染技术。

最早用于电影的照片级真实的渲染。近几年由于硬件性能的不断提高,已经大量运用于PC游戏与主机游戏的实时渲染。

几款著名的3D引擎均有了各自的实现

( UnrealEngine 4, CryEngine 3, Unity 3D 5 )。

●过去的3D效果实现与PBR

在PBR理论出现之前,限于软硬件的发展程度和发展水平,所有的3D渲染引擎,更多的仅着重在于实现3D效果。例如Blinn-Phong。

不太重要不够严谨的三维着色历史调研:

最初三维渲染常用的三维着色方式是平直着色(Flat shading),基于“多个平面组成了三维多边形模型”,基于三维平面法线矢量方向着色。

当时这种3D效果,模拟出来的虚拟模型,有了空间感和立体感,但是材质上给人不真实、假的感觉,并且渲染效率极低。

基于1760年Johann Heinrich Lambert的《光度学》中,有关于Lambert兰伯特的物理概念,1970年代计算机图形学由Henri Gouraud命名的Gouraud底纹插值算法,使三维网格模型的多个平面在渲染时均可以在所有法线方向反射光。

进而,Phong Shading(Phong着色器)的Phong阴影模型与反射模型,是1973-1975年,由Bui Tuong Phong开发的一种三维渲染数学模型的平滑着色方案,用以改进当时的Flat平面着色器的多边形着色方式,使得多边形三维模型渲染得以平滑着色。

2d75e8f021392151aaeeca209fc8464b.png

而后由James Blinn于1977年发布的Blinn-Phong reflection model(Blinn-Phong反射模型),或称Modified Phong reflection model(改进Phong反射模型),进行了进一步改进,提高了着色成效和渲染效率。

57558391349c38e9110ece294539a8e0.png

1980年,由Bartell, Dereniak和Wolfe提出Bidirectional reflectance distribution function(BRDF,双向反射分布函数)与BSDF双向散射分布函数算法,进一步改进着色渲染效果。

后应用于OpenGL 3.1和Direct3D 10 前的固定渲染管线中,自1990年代三维爆炸发展,Blinn-Phong仍是至今(2019年)在大规模实用的三维着色渲染工作流程。

后虽进行了很多改进,但传统Blinn-Phong的Gouraud着色需要比较大的CPU计算量,在实时处理大量多边形时成为问题。

仍然存在视觉效果不够真实,CPU要求极高,渲染效率低等问题。

83730fd57e67bc8e6c895a620e9a4147.png

为了增强三维渲染的真实感,PBR理论基于2012-2015年迪士尼定义BRDF(Disney Principled Bidirectional reflectance distribution function)双向反射率分布函数的简化模型,用更加效率的渲染工作流程,GPU渲染方式等,模拟更真实可信的三维材质渲染技术。

2013年,UE4实用了PBR;2014年后,寒霜、UNITY等主流引擎也进行了跟进。

参考
计算机图形​zh.wikipedia.org Gouraud着色法​zh.wikipedia.org Photometria​en.wikipedia.org 平直着色法​zh.wikipedia.org Bidirectional reflectance distribution function​en.wikipedia.org 基于物理的渲染(PBR)白皮书系列​zhuanlan.zhihu.com
9e1e8d3cb312f61e432b4329cdadd866.png
对Physically Based Rendering PBR原理的理解​www.jianshu.com
f6e824cff1b9fa5740eee127d25323fb.png
历史线:
Berry [1923]
Beckmann [1963]
Phong [1973]
Blinn-Phong [1977]
ABC [1989]
GGX [2007] / Trowbridge-Reitz [1975]
Shifted Gamma Distribution, SGD [2012]
Trowbridge-Reitz (GTR) [2012]
Disney Principled Bidirectional reflectance distribution function[2012-2015]
Student's T-Distribution , STD [2017]
Exponential Power Distribution , EPD [2017]

以上,是历史,Respect。

但是讲真,对美术人员不太重要~

我就看懂一句话:

PBR渲染技术,即是基于真实物理世界的成像规律的渲染技术。


关于Substance和MDL的附录:

●Substance系列软件

d0b0535c627d270640b6ebf4acdb3d79.png

Substance Alchemist纹理编辑:以图像、扫描等方式,创建、编辑纹理材质。

5da617818b1bbe4c21a359ee93c00280.png

Substance Painter纹理绘制:PBR材质纹理绘制。

31014d070e6b97cf8050f3663f2a3483.png

Substance Designer材质设计:材质表达式网络构建PBR材质。

53d592d3c6ea16d3ad10fd9d491ea777.png

Substance Bitmap to Material位图转材质:从单个漫反射创建PBR材质。

a3ba0c85b151be2d5a6e8f9b107bb942.png

Substance Player播放器:用以浏览SBS,SBSAR及旧版SBSBIN、SBSASM格式。

3de13c18219f1d3d0bd320f48cb8e213.png

Substance Automation ToolKit自动化工具包:Python命令行工具。

1d023a3a4f33eac71b058d3ef6c6f271.png

Substance Integrations整合:跨平台工具流插件。

e350b343c3c58254f8a37b3b62e50ab1.png

Substance Source材质库:在线PBR材质库。

Substance官方文档​docs.substance3d.com

●基于NVIDIA MDL的Substance Designer

基于NVIDA材质定义语言Material Definition Language定义PBR基于物理渲染Physically Based Rendering的Substance Designer材质设计工作流与UE4材质编辑图表逻辑类似。

e411779d9d941c3168f39946a05146b6.png

此二材质编辑工作流同样:

通过表达式脚本输入数据,由材质输出至渲染器,用以定义光照如何与该材质物体交互。

都可以使用、创建材质表达式节点网络模板Material Expression Nodes Networks Templates,快速对模型进行材质定义,材质纹理根据实际需求进行基于模板的高效创建与修改。

Substance Designer - MDL (Material Definition language)​docs.substance3d.com
cc1aebcaa74db5cd70d46aed5fab3dac.png
UE4官方文档-基本材质概念​docs.unrealengine.com 基于物理的材质 ​docs.unrealengine.com
aac792596f38a25448a843013fce00d8.png

具体背后是什么,就进入程序、数学、物理领域了吧。。具体背后是什么,就进入程序、数学、物理领域了吧。。

你是在为难我个画画拉box的臭美工。。

告辞。

以上。

茕兔QIONGTWO:UE4虚幻引擎学习云笔记(四)-材质编辑器​zhuanlan.zhihu.com
f7285b523eb0ccc26f646956c69ec9de.png
茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录​zhuanlan.zhihu.com
e2578f3de05394977b8338c021c911ae.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值