PBR贴图基础知识

这篇具有很好参考价值的文章主要介绍了PBR贴图基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,基础知识

基于物理的渲染(Physically Based Rendering , PBR)在高质量实时渲染中应用广泛,其主要知识体系在闫老师的games101中已经铺垫学习过了。

Blinn-Phong 反射模型
BRDF和渲染方程
微平面理论–Cook-Torrance模型计算BRDF
IBL(Image-Based Lighting 基于纹理的光照)

二,PBR贴图类型

传统次世代方式

主要以颜色贴图(diffuse map),反射贴图(specular map),法线贴图(normal map)三个组成,分别反映了颜色、反光、凹凸信息。

  • 传统次世代方式主要用PS制作素材,颜色贴图中体现了高光,因此塑料感严重。

PBR次世代方式

这个阶段主要分为2个流程,金属度粗糙度流程(metalness-roughness workflow)和反射度光滑度流程(specular-smoothness workflow),主要变为4张贴图。

  • PBR方式中颜色贴图不绘制光线,制作工具是SubstancePainter,概念是材质的叠加,并且依赖于引擎查看效果。

PBR贴图基础知识

1,金属度粗糙度流程—Base Color+Metallic+Roughness

  • 由颜色贴图(Base Color,其实和diffuse作用一样),金属度贴图(Metallic或Metalness,单通道),粗糙度贴图 (Roughness,单通道)组成。
  • 有的地方粗糙度会写成光滑度(smoothness),两者意义类似,数学上为(1-x)的关系。
  • Roughness粗糙度贴图 与Glossiness Map光泽度贴图是相反的。Roughness 反向就变成Glossiness Map 。

2,反射度光滑度流程—Diffuse/Albedo+specular+Glossiness/Smoothness

  • 由颜色贴图(diffuse漫反射,在unity中叫Albedo),反射(specular,反映了BRDF的F0,三通道),光泽度 (Glossiness/Smoothness,单通道)组成。

  • 注意:金属的diffuse为黑色图,非金属的specular比较暗(0.15-0.3),金属的specular比较亮(0.6-1.0)。

  • Base Color与Diffuse容易混淆,Base Color带了金属的反射率值需要配合上Metallic Map一起使用,其本质上是Diffuse和Specular的结合,这也是有时候通过先创建金属/粗糙度材质再将其转化为高光反射/光泽度的原因之一。(区别见下图)
    PBR贴图基础知识

  • 反射度光滑度流程其实是对光照公式更直接的描绘。在shader内部实现的时候,会把BaseColor和metallic转换成diffuse和specular再计算。

  • 主流引擎一般采用金属度流程,主要因为其对美术更友好并且Metallic比specular三通道少亮个通道,可以用来放AO和smoothness。但这样也会牺牲一部分质量、转换过程也会产生损耗(见下图),因此高质量的离线渲染中会采用反射度流程。

PBR贴图基础知识

3,通用贴图类型

法线贴图(normal)

存储表面的法线方向。方向是相对空间而言的,针对不同空间有3中法线贴图:Tangent切线空间、Object对象空间、World世界空间。

  • Tangent Space切线空间—基于每个面的切线方向,最常见

大部分浅蓝紫色,其中B通道表示法线方向的斜率;R通道表示左右切线方向的斜率;G通道表示切线方向向上或向下的斜率,如下图。
PBR贴图基础知识

  • Object Space对象/模型空间—基于整个对象而不是每个面

大部分看起来五颜六色,渲染快但无法镜像uv会浪费,且不能进行uv动画,因此一般切线空间更好。
PBR贴图基础知识

  • World Space世界空间—基于全坐标,最不灵活

仅用于环境或大型静态不对称物体,或用于风化效果等。
PBR贴图基础知识

高度贴图(Height map)或者凹凸贴图(Bump Map)

包含高度信息(不包含角度)----单通道
「Substance Painter、Substance Designer导出的Height高度图等同于Bump凹凸贴图,而不是Displacement置换贴图的信息。」

环境光吸收贴图( AO Ambient Occlusion)

描述了表面某点能获得多少环境中的光,单通道。该贴图只影响漫反射分配,不影响高光反射分配。
PBR贴图基础知识

自发光贴图(Emissive/Emission Map)

控制表面发射光的颜色和亮度,用于内部发光的物体,屏幕、led等。
PBR贴图基础知识

透明贴图(Opacity Map)

定义贴图的不透明度。当材质使用不透明度贴图时,它将充当mask隐藏对象的某些部分。例如可以将“不透明度”贴图用于剪切树叶形状,穿孔表面和网格等。

4,其他贴图类型

置换/位移贴图( Displacement Map)

可以改变模型对象的几何形状(顶点),但需要提高顶点数,通常结合曲面细分使用,因此开销大,开销和质量Dispalcement>Normal>Bump(>Reflection)。

对模型轮廓能实现Bump和Normal无法实现的效果。也作为高度图来生成地形,并结合凹凸贴图实现丰富的地形效果。
PBR贴图基础知识

Gradient&Ramp渐变图、ColorLUT颜色查找表

通常作为颜色贴图的一种全局使用。

视差贴图(Parallax Map)和陡峭视差贴图(Steep Parallax Map)

Displacement Map的另一个用途,也称为Virtual Displacement Map虚拟置换贴图,陡峭视差贴图额外通过增加采样数量提高陡峭处的正确率,但还是会在陡峭处有断层和锯齿,目前一般采用Relief Map(浮雕贴图)和Parallax Occlusion Map(视差遮蔽贴图)解决。
PBR贴图基础知识

各向异性贴图(Anisotropic Map)

制作拉丝效果或各类微划痕时常用(101课程举例为电梯)
PBR贴图基础知识

缝隙图(Cavity Map)

描述了比AO图更小尺度的光线遮蔽信息。只包含模型对象表面的凹面区域而不包括凸面区域,因此缝隙图通常大部分都是白色的,只有凹陷区域是深色的。

与AO图不同的是,缝隙图影响不仅会影响漫反射,还会影响高光反射部分。
PBR贴图基础知识

环境法线贴图(Bent Normal Map)

环境法线贴图能够和AO图结合使用以改善漫反射间接照明,通过将环境发现代替法线用于间接照明来使漫反射间接照明更接近于全局光照。

曲率贴图(Curvature)

存储网格的凸度/凹度的纹理,黑色的值代表了凹区域,白色的值代表了凸区域,灰色值表示中性/平坦区域。通常用于一些特殊效果如磨损等,也是卡通渲染中的常用贴图。
PBR贴图基础知识

厚度贴图(Thickness)

记录了表面厚度信息,可以用于辅助制作表面散射(SSS,简称3S材质)材质,或直接扩散/反照率假装SSS的效果。其黑色代表薄的地方、白色代表厚的地方。通常用在角色材质上。
PBR贴图基础知识

位置贴图(Position Map)

使用R/G/B三个通道描述X/Y/Z轴上顶点对应的位置,通常用来实现模型底部到顶部的渐变效果,如墙壁底部的污渍、石块底部的青苔。
PBR贴图基础知识

细节贴图(Detail Map)

平铺的局部贴图纹理,用于增加表面细节。通常为4通道,如图。
PBR贴图基础知识PBR贴图基础知识

流动贴图(Flow Map)

存储的是向量场数据,可以用来制作流动的水面效果。
SIGGRAPH 2010论文Vlachos/Water Flow in Portal 2中分享了用流动贴图制作流动水面的技术。

5,光照环境贴图

光照贴图(Light Map)

存储预渲染的光照信息(颜色和亮度),用于静态模型上的间接光照,解决实时动态光源效果不好且消耗性能的问题。

球面环境贴图(Spherical Environment Map)

环境球映射(会在靠近极点的地方出现扭曲)

立方体贴图(Cube Map)

环境盒映射,6张展开图像组成(不能模拟多次反射的结果)


参考资料

1,毛星云大神的【基于物理的渲染(PBR)白皮书】系列
2,Adobe-Substance学院官方–创建PBR纹理实用指南
3,八猴渲染器–PBR纹理转换
4,游戏资源中常见的贴图类型文章来源地址https://www.toymoban.com/news/detail-451255.html

到了这里,关于PBR贴图基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 控制器局域网(CAN)物理层调试的基础知识和实例分析

    控制器局域网的概念 控制器局域网是国际上应用最广泛的现场总线之一。CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。

    2024年02月07日
    浏览(53)
  • 【GAMES-104现代游戏引擎】4、引擎渲染基础(渲染基础数据、全局光照、PBR、阴影)

    游戏渲染的挑战 一个场景包含成千上万的GO需要的材质、shader、效果都不尽相同,因此 复杂度极高 当代各种硬件的适配难度高,硬件架构一直在变化 高帧率、高分辨率的要求下,使得绘制算法绘制一帧的时间越来越短, 算法效率要求高 绘制系统可以100%的使用显卡,但CPU只

    2023年04月09日
    浏览(50)
  • Web端3D轻量化引擎基于PBR渲染——仿真模拟更逼真

    HOOPS Communicator在2021版本中,推出了基于PBR(Physically Based Rendering)的渲染特性以提供更高质量的渲染技术。 PBR将材料表示为一系列方程,这些方程对光如何从表面反射进行建模,再通过GPU上运行的着色器代码进行有效地实现。 一、工程领域可视化问题停滞严重 在过去的30年

    2024年02月08日
    浏览(49)
  • 7.PBR材质与纹理贴图

    友情链接:threejs 中文文档 目录 1. PBR材质简介 光照模型 网格模型材质整体回顾 2. PBR材质金属度和粗糙度 金属度metalness 粗糙度roughness  3. 环境贴图.enMap 环境贴图反射率.envMapIntensity 场景环境属性.environment 4. MeshPhysicalMaterial清漆层 清漆层属性.clearcoat 清漆层粗糙度.clearcoatRo

    2024年02月12日
    浏览(36)
  • 基于OpenCV实战(基础知识一)

    目录 简介 1.计算机眼中的图像 2.图片的读取、显示与保存 3.视频的读取与显示 OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主

    2024年02月11日
    浏览(52)
  • Pyhton基础知识:整理18 -> 基于面向对象的知识完成数据分析的案例开发

    数据准备:两份数据,一份是是字符串的形式,一份是json格式,之后对数据处理后,需要合并为一份的数据,进而进行图表的开发      

    2024年01月17日
    浏览(51)
  • 基于STM32的四旋翼无人机项目(一):基础知识篇

    前言: 本篇博客为飞控专栏的第一篇系统性概述文章,将对飞控系统进行详细讲解介绍。考虑到飞控项目具有一定工程复杂度,所以作者将整个项目进行分章节教学与讲解,希望可以给读者朋友带来更好地学习体验。项目将以  C-Quad 四轴无人机为工程样机,飞行器主控为

    2024年02月08日
    浏览(95)
  • 十一、PBR材质金属度、粗糙度以及环境贴图的使用

    金属度属性.metalness表示材质像金属的程度, 非金属材料,如木材或石材,使用0.0,金属使用1.0。 粗糙度 roughness 表示模型表面的光滑或者说粗糙程度,越光滑镜面反射能力越强,越粗糙,表面镜面反射能力越弱,更多地表现为漫反射。 粗糙度 roughness ,0.0表示平滑的镜面反射,1.0表

    2024年02月16日
    浏览(34)
  • STM32-OTA升级-基于STM32CubeMX+STM32F103(一)基础知识

    0 引言 对于一个项目而言,往往将远程升级作为程序的最后一步(基本所有功能都开发完成之后再考虑)。但是在我看来,我们在写单片机的程序之前,就要规划好FLASH的使用情况,因为code、全局变量等重要信息都是放在FLASH(常说的闪存)中的,SRAM是程序运行时的存放位置

    2024年02月04日
    浏览(57)
  • 基于 FFMPEG 的跨平台视频播放器简明教程(二):基础知识和解封装(demux)

    基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG + Conan 环境集成 前面一章中我们介绍了如何使用 conan 和 cmake 搭建 ffmpeg 运行环境,你做的还顺利吗?如果遇到任何问题,请在进行评论,我看到都会回复的。 从本章开始,将正式开始我们的 ffmpeg 播放器学习之旅。接下去

    2024年02月08日
    浏览(189)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包