知方号

知方号

各类贴图到底什么意思?怎么用?<凹凸贴图法线贴图置换贴图>

各类贴图到底什么意思?怎么用?

“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”

中国很有影响力影视特效CG动画领域自媒体

转自知乎

作者:Zanple

经作者授权转载

原文地址:

https://zhuanlan.zhihu.com/p/260973533

游戏模型制作中用到了很多贴图类型,通过不同类型贴图的组合使用以达到最终需要得到的模型效果。最常见的类型有Diffuse、Emissive、Normal、Opacity、Specular、Roughness。游戏制作中根据项目资产的需要使用不同的贴图类型。

金属/粗糙度和高光反射/光泽度工作流程

在基于物理纹理的渲染(PBR)中,有两种最常见的工作流程,即金属/粗糙度和高光反射/光泽度。在使用过程中,两种工作流程各有利弊(详见PBR-Guide)。

1. 颜色贴图

颜色贴图主要为Diffuse、Albedo、Base Color三种。一般认为这三者是等同的。

1.1 Diffuse

光照模型在Lambertian(兰伯特材质球)着色器中会把颜色贴图叫做Diffuse Map(也叫颜色贴图),通常在绘制这张Diffuse Map的时候会把物体的结构阴影信息也绘制进去。在传统工作流中,Diffuse Map是带着光影信息的。

不同工作流中的Diffuse

Diffuse Map(漫反射颜色)应该表示物体表面的颜色,在Unity中叫做Albedo。在Specular/Glossiness工作流程中,对于金属材质而言它没有漫反射(或者说比较少),所以使用黑色来填充。而非金属材质反射光少于金属材质,并且它折射的光只有较少的吸收通常重新折射回表面,因此对于非金属材质,使用的是漫反射颜色来填充。需要特别注意的是,漫反射纹理不应该包含任何光照信息,因为将要基于(环境)添加光照到物体的纹理上。

1.2 Albedo

主要体现模型的纹理和颜色。Unity的Shader(着色器)中,把颜色贴图叫做Albedo。

1.3 Base Color

Base Color是把颜色贴图剔除光影变化后,我们看到的最基础的颜色。在PBR工作流中颜色贴图叫做Base Color, 其中包含了电介质的反射颜色和金属的反射率值这两种类型的数据。因为Base Color Map中带了金属的反射率值,所以需要配合上Metallic Map一起使用的。

BaseColor和Diffuse

比较容易造成混淆的是金属/粗糙度工作流中的Base Color和高光反射/光泽度工作流中的Diffuse(Albedo)的区别,两种工作流使用了不同的贴图方法来处理颜色。实际上,金属/粗糙度工作流中的Base Color本质上是高光反射/光泽度工作流中的Diffuse和Specular的结合,这也是有时候通过先创建金属/粗糙度材质再将其转化为高光反射/光泽度的原因之一。

BaseColor包含了Diffuse中的介电材质值和Specular中的金属材质值

在高光反射/光泽度工作流中,Diffuse贴图严格影响着材质的基本颜色而对材质的其他特征(如发射率)没有影响。对于介电材质而言,其材质颜色来自Diffuse贴图;对于金属材质而言,大部分颜色来自Specular高光贴图。在金属/粗糙度工作流中,BaseColor贴图实则包含了漫反射和高光贴图的信息。而Metallic贴图这决定了有多少BaseColor被解释为漫反射或者高光。

1.4 Gradient&Ramp、ColorLUT

Gradient&Ramp Map(渐变图)和ColorLUT(颜色查找表)也可以认为是颜色贴图的一种,这类贴图通过在一维或二维的方式将一种颜色映射到另一种颜色。且通常作为全局资源使用(不是特定于某一模型)。

使用渐变纹理来控制漫反射光照

Valve在Team Fortress 2中使用渐变纹理来控制漫反射光照,渲染游戏中具有插画风格的角色。

ColorLUT

ColorLUT是预先生成的一张结果纹理,可用于优化复杂光照的渲染,如皮肤、毛发等。

2. 凹凸贴图

凹凸贴图主要为Bump、Normal和Displacement三种,三种贴图都是为模型提供

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。