欢迎光临散文网 会员登陆 & 注册

URP | PBR材质(三)-优化整理PBR

2022-08-18 22:10 作者:那个人真狗  | 我要投稿




整合代码

定义函数库

目前代码很多,我们定义函数库,把函数放入函数库里。

  • 定义一个函数库,创建一个文件,命名PbrData

  • Shader内引入我们自定义的函数库+

  • 把自定义函数导入

  • 我们把自定义2个函数 一个整体PBR  一个是直接光部分这个部分是给多光源计算做准备。

    • 把PBR计算合并到一个函数里,

  • 我们回到Shader里调用这个定义的函数

输出结果就可以

其他扩展

法线翻转

  • 我们有时候使用的法线贴图,有2种格式

URP | Normal法线贴图 - 哔哩哔哩 (bilibili.com)

  • 定义需要的属性

  • 修改法线

这贴图这里增加一个开关,反向 Y轴

  • 粗糙度也有时候需要翻转

增加AO效果

  • 准备增加 AO效果

    定义一个变量控制 贴图的强度

函数库里PBR函数

  • 在直接光高光反射加入 AO计算

  • 间接光漫反射 和反射加入AO效果

    第一个是间接光漫反射,第二个是间接光高光反射

  • 效果

可以明显看到接缝处更暗

增加自发光

  • 自发光贴图,我们需要 3个变量  , 一个自发光贴图,自发光颜色,自发光强度

  • 在直接光部分增加 自发光颜色

  • 直接光漫反射


  • 效果

阴影效果

增加关键字

  • 获取主光源,

计算阴影

灯光计算阴影,计算灯光距离衰减和阴影衰减

  • 在漫反射阶段,计算阴影衰减

注意:这里是计算阴影,所以我们就给直接光增加就可以

支持多光源

  • 增加关键字

  • 定义一个变量控制是否开启多光源

  • 在下面计算多光源效果。

    多光源我们只需要考虑直接光照就可以。




全代码


函数


URP | PBR材质(三)-优化整理PBR的评论 (共 条)

分享到微博请遵守国家法律