简单介绍下PBR中常用的有两种工作流

一种为Basecolor-metallic-roughness

一种为Diffuse-specular-glossiness

个人认为Basecolor和diffuse在直观表现上区别有两点。

一点是basecolor没有光影,diffuse有光影。但是在目前的手游贴图制作中,由于机器性能的限制,如果采用basecolor工作流来制作资产贴图的话,一般也会再basecolor上加一些阴影,来弥补手机端光照的缺陷。所以慢慢的在手游中,不知道怎么,即使是basecolor工作流,颜色贴图也会像diffuse一样添加一些光影了。正常情况来说的话,basecolor是没有光影的,光影表现全靠ao贴图,normal贴图以及烘焙的lightmap。

另外还有一个区别就是在百分百金属材质处diffuse表现为黑色,basecolor表现为亮白色。

这也是造成两种工作流在贴图精度不够的情况下,basecolor工作流金属周围会有一圈白边,diffuse工作流金属周围会有一圈黑边。这种现象称之为边缘伪影。

Metall白色为金属,黑色为非金属,灰色为一些受到氧化或者被灰尘盖住的金属表现。再手游中表达不透明玻璃时,一般习惯再玻璃上加一些金属度,来简单模拟玻璃反射效果。

Specular可以有rgb颜色,并不只是灰度图。在直观表现上,这张图不像metail一样,单值能直接调整金属效果。它需要与diffuse和glossiness相互配合才能展现出金属效果。可以去sp里面自己切换成specular shader自己调整试一下,记得添加该shader专属的贴图通道。

Roughness和glossiness互为反相。Roughness越黑越光滑,越白越粗糙。Glossiness反之。

以下为转换方式

A为底部图层,B为顶部图层。C为结果

Specular转换

BaseColor为A+Metallic为B (混合模式为正片叠底) =次级Specular为C

gles pbo 贴图加载 glossiness贴图放哪里_贴图

创建一个值为#383838的填充层为A+次级Specular为B (混合模式为线性减淡) =最终的Specular为C

gles pbo 贴图加载 glossiness贴图放哪里_混合模式_02

Metailic转换

创建一个值为#383838的填充层为A+最终的Specular为B (混合模式为差值) =次级Specular为C

gles pbo 贴图加载 glossiness贴图放哪里_substance painter_03

次级Specular为A+BaseColor为B(混合模式为划分) =Metallic为C

gles pbo 贴图加载 glossiness贴图放哪里_混合模式_04

Diffuse转换

BaseColor为A+反相Metallic为B (混合模式为正片叠底) =Diffuse为C

gles pbo 贴图加载 glossiness贴图放哪里_混合模式_05

Diffuse为A+次级Specular为B (混合模式为线性减淡) =BaseColor为C

Roughness转换反相一下即可,这里就不演示了

gles pbo 贴图加载 glossiness贴图放哪里_混合模式_06