Cocos Creator 3.0 基于 PBR 的物理渲染详解

Cocos Creator 3.0 的出现,使 Cocos Creator 升级成为全新的 2D/3D 游戏引擎,让 2D 和 3D 游戏的开发更加便捷。目前已更新到 v3.0.1,戳链接了解更新详情。

通常 3D 游戏对画面效果和渲染管线的定制有很高的需求,PBR 美术工作流作为次世代主流的解决方案,今天我们来详细地分析一下基于 Cocos Creator 的 PBR 物理渲染。

01

计算机是如何显示颜色的

 

在讨论这个问题之前,我们先来分析一下人眼是如何看到世界的。人眼看到物体的颜色,就是看到物体的自发光与反射周围环境光的叠加。

物体自发光,是指物体自己发出来的光线,一般自然界的物体很少会自己发光,都是反射光源(太阳光)的光。

比如黑暗的房间中有一本书(没有光源),我们无法看到这本书,把灯打开后,我们能看到书了,这是因为书本反射灯光到我们的眼睛,成像到视网膜上人眼看到的物体都是反射光源的光,为什么有些物体看上去是红色,有些物体是蓝色呢?

那是因为不同物体表面的材质可以吸收一些光谱,比如某个物体,如果它吸收掉蓝色与绿色,就会反射出红色光。如果它可以吸掉收红色与蓝色,则反射出绿色的光。这些我们称为物体的“本色”(baseColor/Diffuse/albedo)。物体反射光源的光叫做直接反射,反射其他物体表面反射过来的光叫做间接反射,如图:

自然界之所以真实, 是因为由非常复杂的反射叠加而成。

3D 游戏引擎是如何处理颜色成像到摄像机的呢?其实就是模拟真实世界,并做一些取舍:

  1. 物体自发光的模拟,一般给一个自发光颜色或一个自发光贴图。
  2. 对物体本色的模拟,就是一个物体本来颜色的贴图(BaseColor 或 Diffuse 或 Albedo)
  3. 对物体反射的模拟, 只模拟反射光源的光(直接反射),不考虑间接反射。
  4. 模拟挡住光的反射(瓶子底部反射光,被挡住), 使用环境遮挡贴图 (oclussion)。

计算机显示的颜色就是经过这个过程计算以后得到的颜色值。

02

基于经验模型与 PBR 物理渲染

上述 4 个过程中,只有第 3 条涉及的反

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值