光照模型-PBS在Unity中的应用

梳理Unity中PBS的使用流程:1.什么是PBS(PhysicallyBasedShader)和相对传统光照模型Lambert或Phong的优势。2.Unity中PBS的实现

一 PBS介绍

从字面的意思来看,基于物理的渲染技术(PhysicallyBasedShader)。其实可以理解为是一种光照模型,相比与Lambert和Phong,更贴合现实。消耗更高

PBS能实现更好的法线高光效果:

 还有主要体现在于PBS对使用者更友好;使用一个Shader能实现各种材质效果,变换环境也不需要频繁的修改Shader参数属性,只需要修改光照环境;

二 unity对PBS的实现

Unity5开始,官方的Standard Shader就使用的PBS光照模型,一个众多属性的集合,通过设置贴图和参数,可以启用或者禁用其中的一些属性。

参考Unity官方文档 Unity - Manual: Standard Shader (unity3d.com)icon-default.png?t=M85Bhttps://docs.unity3d.com/Manual/shader-StandardShader.html

 三 Unity 中PBS 的具体使用

 接下来,以此场景为例,介绍Unity中PBS的使用,以下分为两个部分:

1.具体GameObject的shder

unity提供的表格调整StandardShader的具体参数,决定了物体是什么材质(是木头还是金属?):

 

2.光照环境

调整了物体的材质之后,还需要和整个场景交互影响。这就是相当于物体所处的上下文:环境不同,物体呈现出的方式效果也不同,这也是贴合现实体现。

1> 天空盒(环境)&灯光 (这里只是用了平行光)

设置场景的反射源为Skybox,同时调整平行光的颜色和方向与当前天空盒子相契合

 

2>反射探针

一些暗处或者室内,需要用反射探针来作为反射源

3>光探针

采集光照纤细用于动态物体(eg:角色)

 

四 参考

Demo源于  Viking Village URP | 视频教程项目资源 | Unity Asset Store

Viking Village相关 Blog

Standard Shader的表格可以在这里找到

猜你喜欢

转载自blog.csdn.net/qq_35385242/article/details/126760432