首页 > 其他分享 >PBR流程的基本原理与历史发展

PBR流程的基本原理与历史发展

时间:2022-09-19 14:24:50浏览次数:99  
标签:贴图 高光 PBR 基本原理 流程 材质 物理

 

Hello,大家好,今天给大家带来PBR流程的基本原理与历史发展。

1、什么是PBR?

一、基于物理的材质(Material)

二、基于物理的光照(Lighting)

三、基于物理适配的摄像机(Camera)

以上三个部分都去参照物理理论去做引擎设计,理论上就能得到和真实摄像机基本相同的画面。例如基于物理的摄像机通过调整光圈、快门速度等改变曝光度,灯光采用物理测量单位进行计量,材质使用基于物理测量值的光照模型进行计算。所有的这一切是一个系统,是相辅相成的,今天主要讨论基于物理的材质与贴图,物理光照和物理相机暂时不作过多讨论。

 

说完PBR的范畴,我们来聊聊PBR材质,也就是我们平常聊天时说PBR的含义,PBR指一整套基于物理参数的美术流程和渲染流程。美术流程主要是贴图制作上的,一般与PBR流程进行比较的是手绘流程。手绘流程是另一种3D美术制作流程,只使用一张diffuse漫反射贴图来描述模型外观,这就导致阴影和高光信息必须是画在diffuse上的。

也就是说,当场景中的光相对于模型的方向发生改变,或者摄像机位置发生改变,高光和阴影并不会发生改变,并且由于没有高光方面的参数输入,所以材质没有办法构建合理的反射,而金属这些东西如果没有反射,效果就会大打折扣。

 

在PBR流程成熟之前,手绘流程引入了一些技术,例如通过创建高低模然后通过烘焙输出一张Normal法线贴图,带来模型结构上的凸出和凹陷的阴影,这就是我们所说的次时代美术流程。再比如通过增加一张Specular高光贴图,控制高光颜色和高光强度,带来动态的,可变颜色的高光,手绘流程在过去的端游以及所有的手游上比较常见。例如魔兽世界的模型就只使用diffuse和Specular进行渲染,模型的高光位置可以改变但是阴影位置是不会变化的。

 

万智牌作为一款诞生于1993年老而弥坚的卡牌游戏,它数年来的游戏宣传动画无疑成了一部CG发展史的缩影,2012年后,我们可以明显看到技术进步和流程规范给这片奇幻大陆里的各类神魔换上了远胜于前的新皮肤,尤其是去年依克黎的新CG,完全可以说是视觉享受了。

 

 

而使用Substance Painter等软件制作的PBR贴图,一般包含Diffuse漫反射贴图、Normal法线贴图、Metallic金属度贴图、Smoothness光滑度贴图(即Glossiness光泽度贴图,Roughness粗糙度贴图的反向图)、AO(Ambient Occlusion)环境光遮蔽贴图等提供了大量物理信息,例如Normal提供小凹凸结构的信息,AO提供遮蔽阴影信息,Metallic提供材质在多大程度上贴近金属的信息,Smoothness提供了材质在多大程度上是光滑的信息等等。所有这些信息使基于物理的渲染成为可能,在Shader中我们可以根据这些信息计算出实时的阴影,实时的高光,实时的反射,实时的菲涅尔效应,可以让模型在不同的光照环境下都能得到比较合理的光照表现。今天就闲聊到这里,咱们下次见~

- End -

标签:贴图,高光,PBR,基本原理,流程,材质,物理
From: https://www.cnblogs.com/dyf214/p/16707526.html

相关文章

  • 代码的阅读流程建议
    2022-9-19回复消息提问的作答。 互相交流。我三月份前也在学习kissat,好一阵没看其代码,刚才又看了一下,凭回忆记录如下,算是简要分享以下的我早前的阅读流程。(1)从......
  • 一文搞懂用户登录验证流程(附图)
    前言本文通过图示及代码的方式介绍用户登录流程及技术实现,内容包括用户登录,用户验证,如何获取操作用户的信息以及一些黑名单及匿名接口如何免验证相关的实现。结合网关......
  • 经验分享:使用邮件触发流程,要避免“假死”这个坑!RPA学习天地
    在RPA场景中,有很多流程的自动化的触发是从读取邮件中相关内容进行触发。笔者所在的公司就有诸多类似的邮件触发场景!**注意:有的RPA流程设计需要通过发送固定邮件内容模板,......
  • 第三章:流程控制语句
      print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")number=int(input("请输入您认为符合条件的数:"))ifnumber%3==2andnumber%5==3......
  • Vue2:Vue的加载流程和IDFF
    vue加载流程1.每一个组件在加载时都会调用vue内部的render函数来把这个组件的tamplate选项的模板解析为一个JS对象这个对象跟DOM节点对象"长得一模一样",就是为了后来的......
  • rtmp流程解析
    如果rtmp推流地址:rtmp://服务器地址:rtmp端口/路径/名称对应的websocket地址:ws://服务器地址:websocket端口/路径/名称.flv举例:live作为路径,s作为流名称,rtmp端口是1932那......
  • 2022年你要知道的软件测试工作流程
    不同类型的软件产品测试的方式和重点不一样,测试流程也会不一样。同样类型的软件产品,不同的公司所制定的测试流程也会不一样。虽然不同软件的详细测试步骤不同,但它们所遵循......
  • Ribbon负载均衡流程
    大概流程:    RestTemplate发起http请求,因为RestTemplate添加了@LoadBalanced注解,因此发起的Http请求会被LoadBalanceInterceptor拦截,通过Ribbon负载均衡,从eureka-ser......
  • Linux系统启动流程
    开机启动流程图1.开机自检 电脑通电之后,首先加载BIOS(basicinputoutputsystem,基本输入输出系统)。而BIOS程序首先检查计算机能否满足运行的基本条件,这个叫做“硬件自......
  • VSCode插件开发流程
    1.安装脚手架npminstall-gyonpminstall-ggenerator-codeyocode2.配置package.json{"name":"jsx2css-convert-tool","displayName":"jsx2css_conver......