之前编写的解释性文档,归档发布;
在传统贴图中,以BaseColor贴图为例,我们将几乎所有纹理信息都集中到一张贴图上,比如下图中,就有金属、皮革和布料等各种质感的纹理信息:
即使是4K的贴图,这些纹理均摊在不同的部件上,最终体现出来的像素精度还是不甚理想:
远看大效果还可,但如近距离观看就会发现其比较粗糙;
其它的NormalMap等同理,比如一些细节Normal纹理,在一张贴图中均摊在大量部件上,其像素精度也并不会很高:
那么,新的分层材质流程中,会用以下方式来最大化贴图的精度(分层材质主要是在身体的衣服装备上使用,暂不用在其它部分);
首先,利用Mask把身体上各个不同的材质分开,比如金属部分的Mask(注意不同的金属也视为不同材质):
其它皮革、布料同理,利用RGB/A通道合成为一张Mask(也就是说一张Mask可以区分4种不同材质):
以这些不同的Mask为ID,在材质中编写逻辑,让其去一一对应不同的分层材质纹理;这里的所谓分层材质,是一个个完全由四方连续的Tiling贴图所组成的单一高精度材质,一般被封装为Material Function来方便使用:
这样,就可以归纳出重复材质、单独的制作不同的高精度金属、布料和皮革等等并单独维护;材质制作也由以前传统的重复制作相同材质转为“拼装”不同的分层材质;
具体来说,以角色身体装备为例,除了以上最重要的“ID Map”,还有需要单独独立出来交代基本光影遮罩关系的AO Map:
注意,这张AO以及没有细节纹理的AO信息了,只有大的结构关系;同样,NormalMap也同理,再不需要上文中所展示的Normal Map中的纹理Detail:
由于材质属性被分在了具体的不同分层材质中,那么只需要各个部分的刮痕、磨损信息Mask,以上图中皮革、布料部分的磨损为例,会用以下Mask表示:
注意不同材质的磨损等信息是可以画在一起的,因为可以使用ID Map来区分;
同理也可以把各种刮痕、磨损Mask按RGB/A通道合成为一张Mask(Damage Mask):
以上的信息,再叠加到单独制作好的,如皮革的分层材质:
最终会达成即有高精度,又有相关独特信息(破损、Normal等独有信息)的效果:
综上所述,我们把角色装备服装的材质分为两大部分,一部分是角色的独有信息(ID Map、AO Map、NormalMap以及Damage Mask),另一部分是各种归纳好的、不同材质的分层材质;