Unity之PBR两种工作流简介

发布时间 2023-03-28 08:52:32作者: 孤独の巡礼

关于PBR工作流,看下unity内置shader的设定:

 

 可以看到有2种工作流,Specular和Metallic。它们的区别如下:

 

 也就是前者用了一张Specular Map,后者用的是Metallic Map。那么它们的不同点总结如下:

Specular WorkFlow

1. Diffuse Color 直接从 Base Map 中获得

2. Specular Color 从 Specular Map 贴图中获得

3. 没有金属和非金属的概念

 

Metallic WorkFlow(主流)

1. Diffuse Color 和 Specular Color 由 Base Map、Metallic Mask两张贴图解码得到。如何解码:

float metallic = MetallicMap.r;

float3 diffuseColor = baseMap.rgb * (1 - metallic );

float3 specularColor = lerp(0.04, baseMap.rgb, metallic);

2. 改良,加入Specular接口:

float3 specularColor = lerp(0.08 * Specular, baseMap.rgb, metallic);

3. 由上我们可以得知,金属与非金属的区别如下:

非金属:有漫反射颜色,从BaseMap中获取,高光反射率很低,高光颜色为纯色,近似值为0.04

金属:无漫反射颜色,高光颜色为彩色,高光颜色从BaseMap中获取

 

转载请注明出处:https://www.cnblogs.com/jietian331/p/17263741.html