什么是PBR?pbr入门基础干货

article/2025/9/17 7:27:36

(1)什么是PBR?

基于物理的渲染过程。

PBR是一种着色和渲染技术,用于更精确的描述光如何与物体表面互动。

PBR的优势:

(1)方法论和算法基于精确的计算公式,免除创作表面的猜想过程。

(2)在任何光照环境都能表现出正确的结果

(3)为不同的艺术家,提供统一的工作流程


 

PBR有两种工作流,一种是基于金属的,一种是基于镜面反射的

 

对应的Unity引用Enlighten光照引擎之后,带来的两种新的Shader,Standard 和Standard(Specular Setup)

 

以及

 

 

(2)金属工作流:(不易出错,省内存,但是白边现象更明显)
 

(a)base color:(RGB-sRGB)

包含信息:绝缘体,反射颜色。金属,反射率。

最亮色不应超越240RGB。

最暗色应在30-50RBG之间。

base color不要包含其他光照信息,比如 amblient occlusion。

金属反射率应该在70%-100%之间。也就是RGB 180-255

油漆和氧化的部分应该按照绝缘体处理。

 

(b)matallic map:(Grayscale-Linear)

描述哪些区域是金属,那些是绝缘体。

1 表示纯金属。0表示绝缘体。

如果matalic map的灰度值低于235,那么对应的basecolor的反射率也应该降低一些。

 

(c)roughness map:(Grayscale-Linear)

描述表面引起光纤漫反射的不规则程度。这将改变光纤的方向,但是不会改变光线的强度。

光滑表面会有小而亮的高光,而粗糙表面将会出现大而暗淡的高光。

在这个灰度图里面,0代表光滑表面,而1代表粗糙表面。

roughness map是一个“有故事”的贴图,它会告诉你这个表面经历过那些严酷(或者平和)的环境。

 

而公用的贴图为环境光吸收,法线和高度贴图。

 

 

(3)Specular工作流:

为何镜面反射工作流容易出错呢,因为Specular包含了全部的绝缘体F0信息,1.0的Diffuse 和 1.0的Specular将会使得反射折射能量大于输入能量,这违背了能量守恒定律。也就是说在绘制贴图时,你无法预览结果。

 

diffuse:(RGB-sRGB)

包含albedo color,但是不包含任何反射率信息。

纯金属为黑色,因为纯金属没有颜色,油漆和锈迹是需要带有颜色的。

基础颜色应不包含光照信息,除了micro-occlusion

黑色不应低于30-50sRGB

亮色不应高于240sRGB

 

specular:(RGB-sRGB)

灰度值,表示非金属F0

RGB值,表示金属吸收的不同波长的光线

这种贴图允许使用不同的F0值来表现非金属。

 

glossiness:

与Roughness相反,0代表粗糙表面,而1代表光滑表面。

 

(4)Ambient Occlusion

表示有多少环境光,可以被表面上的一个点吸收。

AO应该只影响Diffuse部分,而不应该阻塞Specular部分。

 

(5)Height Map

用于视差映射,通过增加可见的深度感来提高渲染的真实性。

 

(6)Normal Map

不论PBR还是非PBR,NormalMap都是用来模拟表面细节,同时还会影响Roughness和Glossiness映射。


http://chatgpt.dhexx.cn/article/tpt2CCIa.shtml

相关文章

PBR——概述、基于物理的材质

PBR概述 PBR,即Physically Based Rendering,主要分为基于物理的材质、基于物理的光照和基于物理的相机三个部分,目前来说对大家最为所熟知的是基于物理的材质部分。本文围绕基于物理的材质进行相关介绍。 什么是PBR 其实最早听说PBR这玩意…

PBR基础理论通俗解释

PBR基础理论通俗解释 今天给大家介绍PBR的基础理论, 不会涉及比较深的具体算法, 算是一篇扫盲的文章, 尽量尝试说人话, 让大家能够对PBR有基本的了解. 什么是PBR? PBR是基于物理的渲染(Physically Based Rendering), 也就是说通过模拟物理世界的方式来渲染. 既然有基于物理…

基于物理的渲染PBR(一):pbr的基础理论和推导

初始PBR 最近刚接触pbr不久,我搜寻了许多文章进行阅读并了解后发现,pbr涉及到的知识点繁琐且不容易理解,所以想在博客上给自己记录并总结一下,方便以后回顾并加深记忆。 这里首先借用知乎上的大佬毛星云关于pbr所涉及到的知识要…

策略路由(PBR)

1、基本概念 PBR (Policy-Based Routing,策略路由): PBR使得网络设备不仅能够基于报文的目的IP地址进行数据转发,更能基于其他元素进行数据转发,例如源IP地址、源MAc地址、目的MAc地址、源端口号、目的端口号、VLAN-ID等等。 用户还可以使用A…

技术美术知识学习_04:PBR的个人理解

一、什么是PBR? PBR(Physically Based Rendering),中文翻译为基于物理的渲染。 PBR是一种渲染方式,是使用基于物理原理和微平面理论的光照模型,以及使用从现实中测量的表面参数来准确表示真实世界材质的渲…

图灵直播|《第一行代码》作者郭霖在线Coding,今晚八点,给你留位!

图源来自Pexels “我们为什么需要 Kotlin?答:消失的 Getter 和 Setter、又见空指针、Smart Cast、打日志、再见Utils、晚安ButterKnife……” 相信很多人初识Kotlin,都是基于谷歌技术大牛 Steve Yegge的一篇文章《为什么说 Kotlin 比你们用的…

撸了郭霖大神写的Framework源码笔记,offer拿到手软

前不久听我一个字节的朋友说了一个神转折的故事。 一名大专生,异常执着地向他们公司投简历,屡战屡败,屡败屡战,前前后后向字节跳动投了九次简历。 你猜后面怎么着?还真让他成功了,第九次居然拿到了offer! 看到这里,不过是一个普普通通的励志故事吧,一个菜鸡凭借自己…

(郭霖)Android图片加载框架最全解析(一),Glide的基本用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 现在Android上的图片加载框架非常成熟,从最早…

图灵专访:郭霖的成长之路

各位小伙伴们大家早上好,最近这段时间我真的是快要忙疯了,好多件事情同时在做,实在抽不出时间写原创文章。 正巧想到前段时间和图灵做了一次专访,记录了一些我的成长经历。这篇专访姑且也可以算是一篇原创吧,因为里面的…

第一行代码-第二版(郭霖著)笔记十一(Material Design)

目录 一、什么是Material Design 二、Toolbar 三、滑动菜单 1.DrawerLayout 2.NavigationView 四、悬浮按钮和可交互提示 1.FloatingActionButton:悬浮按钮 2.Snackbar:提示工具 3.CoordinatorLayout:加强版FrameLayout 五、卡片式…

第一行代码-第二版(郭霖著)笔记二(Activity)

目录 一、Activity的用法 1.Activity 2.Toast 3.菜单 4.销毁一个活动 二、Intent 1.使用显示Intent 2.使用隐式Intent 3.更多隐式Intent的用法 4.向下一个活动传递数据 5.返回数据给上一个活动 三、活动的生命周期 1.返回栈 2.活动的四种状态 3.活动的生存期 4…

android动态权限依赖库,动态申请app权限:郭霖大神的PermissionX库带你告别原生

引言 为什么那么多人想要自定义Android的权限申请PermissonX?因为PermissionX默认的权限提醒弹出实在是太丑了!而且,需要在你需要提醒用户弹出Dialog时,显得捉襟见肘,你可能就在想有没有一款能封装进去Dialog提醒用户,具有超棒的用户体验,还能看起来美观大气的Permissio…

跟随郭霖学Volley

volley 下载导入volleyjar 学习地址: https://blog.csdn.net/guolin_blog/article/details/17482095 2013在Google I/O大会提出 github地址: https://github.com/google/volley 下载volley导入到as 具体的操作是: project模式下 具体看图: 之后的操作是打开lib 选择jar 右…

android 6.0权限 郭霖,Permission——郭霖认为最优的运行时权限方案

Android6.0发布这么久,对运行时权限也看了很多资料,对比过几个流行的库。但是个人还是喜欢在项目里用自己动手封装的东西,哪怕照抄也好。。。不知道是什么原因。 前天无意听郭神的直播。讲解的是运行时权限的封装,收益颇多。依样画…

郭霖LitePal

由于项目需要开始学习sqlite 一开始先学习使用的是 android ormlite 操作 从最基本的建表增删改查一路走来 磕磕碰碰很多 都是在内存中操作sqlite 只能通过sqlitestudio工具进行查看 不能导出 并且应用卸载数据表就丢失 最终考虑在sd卡中操作sqlite 但是ormlite 并没有这方面…

android郭霖博客,Runtime Permissions(郭霖CSDN公开课)

运行时权限 Api23开始,Android权限机制更改,有一部分权限不再是简单的在AndroidManifest.xml中声明即可。而是需要在运行时让用户去选择是否允许该项权限的操作。 那么哪些权限需要在运行时申请呢?危险权限需要这么做,而普通权限仍…

看一看Facebook工程师是怎么评价《第一行代码》的

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。 大家好,我是一名Facebook的工程师,同时也是《第一行代码——Android》的忠实读者。 虽然我最近几年是在国外读书和工…

郭霖:手把手教你实现 App 360 度旋转看车效果

这是郭神号前阵子的推送,应该有不少人还没有看过,现在分享给大家,希望对大家的Android工作和学习有所帮助。 / 作者简介 / 本篇文章来自Youth Lee的投稿,分享了他自己结合Glide写的一个控件,希望对大家有所帮助&#…

第一行代码-第二版(郭霖著)笔记(初识Android)

系列文章目录 第一章 第一行代码-第二版(郭霖著)笔记(初识Android) 目录 一、Android简介 1.android系统架构 2.Android应用开发特色 二、工具准备 Tips:新建项目的时候是否勾选use legacy android.support libraries 三、…

专访郭霖:成长无止境

留意文末赠书活动 嘉宾 | 郭霖 文 | 张霞 郭霖,Android开发工程师,Android GDE(Google认证开发者专家)。从事Android开发工作9年,有着丰富的项目实战经验,负责及参与开发过多款移动应用与游戏,开…