欢迎光临散文网 会员登陆 & 注册

【自用】如何迈出程序贴图的第一步?

2022-10-18 21:29 作者:日小皮Fantasycho  | 我要投稿

ICE Lab Inc. Copyright 2022, All rights reserved. 


本文共11678字


前排感谢1er33(B站ID:1er33)给我的Pt(Substance Painter改名)指导,感谢晓美焰(B站ID:1无奈2无语)在程序贴图上的指导,感谢C4(B站ID:AsmallC4)在程序贴图上的指导,感谢工头(B站ID:ZeroFanker)提供的相关资料。


前排提醒:本文仅涉及3dsmax的贴图相关知识,如果你只是一个找模型渲染后扔进游戏的红警2modder,也对程序贴图完全不了解的话,可以选择性阅读本文。


(本文与Vray等其他渲染器无关,如果需要查看Vray等其他渲染器的材质可以移步其他渲染器的使用说明书查看)


回望若干年前我刚刚接触3dsmax的时候,那时我在ra2diy论坛里下载了场景包并开启了我学习3dsmax的旅途。对于大多数红警2接触3D的modder来说,做出的第一个作品一定是经过了将一个现有的模型导入max,然后调整正确应用模型的贴图并渲染出帧序列的过程。当看见一个网上下载的模型在自己的手里成功在游戏内显示时,这种成就感会驱使着新人们继续加入3D美工这个大坑。毫无疑问的是,成功经历这个过程一定需要modder们在max内正确匹配贴图,而那时许多人也会了解关于贴图的第一个知识:漫反射贴图,即Diffuse Map,就是模型本身的基础颜色层。


漫反射贴图


随着对3dsmax了解的深入,曾经的菜鸟也会随着实践次数的增加而变成熟练使用的老手。那时他们会逐渐不满足于使用已有的模型,他们会尝试修改场景文件,拼装多个模型,然后他们就会想着自建模型,从而能自己独立完成从构思到实物的整个流程。最初的记忆此时会逐渐变成一个疑问:除了漫反射贴图以外,其他贴图到底该怎么用呢?


每个包含3D模型的渲染场景都有着一系列的规则,通常他们包括灯光,环境,摄像机,以及模型本身。灯光设置一般比较简单,不论是max自带的普通平行光与点光,还是插件们创造的环境光或是天光,这些设置一般都会围绕着光强,穿深,颜色与大小来展开。环境则一般会加入一些渲染 设置,比如锐化程度如何,有没有特殊滤镜,帧数渲染限制或者最终渲染文件格式等等。摄像机则是调整渲染镜头的参数,比如光圈、景深与曝光等等。而到了模型本身,事情会变得复杂了起来,毕竟模型自己永远是场景的核心,从白模到完全体,每个模型都需要一个合理的方案来解决问题。


我在之前撰写的专栏:“【自用】使用uv展开绘制贴图的模型建立的标准流程”CV11786184)里,有说过模型从白模到精模的标准步骤:即拆分uv,烘焙模型与贴图上色。但其实,Autodesk制作3dsmax这个软件的最初想法是让使用者能在max内完成从建模到贴图到最终成品效果展示的过程。也就是说,max从一开始就给予了用户在max内搞定所有问题的能力。只是随着时间的推移,max的算法不再是所有建模软件里最先进的,操作模式也不是最通用的,渲染器也不是效果最好的。这时也就出现各种装在max内的插件来帮助3dsmax能更好的完成建模师的工作,甚至Autodesk还出现了另一个软件maya在内部与3dsmax竞争。3dsmax内部这套完整的为模型构建贴图的贴图方式,一般也被我们叫做程序贴图。而对于只走三渲二,不修改渲染器的红警2来说,这种方式是一种较快解决模型贴图的方式。


所以,程序贴图该如何使用呢?


一.标准max贴图基础设置


在导入自行下载的模型时,往往他们都会包含一张漫反射贴图。导入它的最简单的方法是直接把贴图拖动到合适的模型上,此时你的3dsmax软件为你自动完成了一个过程,即创建了一个隐藏的材质球,将材质球的漫反射颜色的贴图类型设置成了位图,位图地址是你拖动图片的地址,并且将这个材质球赋予了模型本身。为了让新用户能最快看出你这么做的效果,材质球被隐藏了,漫反射贴图的贴图种类选择被系统自动完成了,甚至在你的预览图里,max建模场景预览器也为你的模型显示了贴图平铺在模型上的效果。这本是一种加快新人上手,方便用户使用的举措,但这个过程也让max的用户们失去了一个了解其贴图原理的渠道。对这种原理了解的缺失,则成为了一些新人们继续学习所遇到的障碍。


打开max的材质编辑器,你会看见一个上方充满圆球,下方有一批菜单的选框。而这也就是max的精简材质编辑器。作为不使用程序贴图,而使用其他软件绘制的贴图导入的模型师来说,这种材质编辑器足以解决大多数问题。并且它简单直观,能方便用户直接观看材质。


但如果你是一个max程序贴图使用者,你会有经常性的贴图嵌套与层层贴图引用的过程,而这种编辑器无法直观的展示出你引用的子贴图样式与主贴图的关系,且由于精简材质编辑器在贴图展示上的限制(展示框内贴图只能有4*6=24个)。所以对于max程序贴图使用者来说,通常他们会使用slate材质编辑器来制作程序贴图。打开slate材质编辑器是否会让人感觉很熟悉?没错,slate材质编辑器所使用的逻辑也正是现代常见建模软件使用的最多的逻辑:节点逻辑。这种逻辑从贴图到程序化建模都可以看见一二,从Autodesk的maya到全开源的blender,从特效制作的Nuke到程序化动画的houdini,又或是游戏引擎unity或是UE,程序节点就是现在模型制作者们最经常打交道的方式,所以想要好好学习程序贴图或是更多的3D相关软件,程序节点一定是重中之重。



当然,这么简单的介绍肯定不足以说明Slate材质编辑器的作用,所以我将会首先介绍精简材质编辑器的功能,然后让读者能对程序贴图有一个初步认识,从而最后知道为什么需要Slate材质编辑器。


已经注意过上方的材质球之后,明暗器基本参数的设置则会快速映入使用者的眼帘。明暗器基本参数的右侧是特别好理解的四个选项:线框即只显示线框,这在低分辨率时做围栏是个好选择;双面是避免某些需要渲染模型背面的情况时丢失材质导致的渲染错误(模型面的背面问题我在【自用】使用uv展开绘制贴图的模型建立的标准流程 CV11786184里也曾提到过,在此就不作赘述了),面贴图即将贴图贴至所有面,效果与uvw贴图修改器中的“面”效果一致;面状即强制丢弃所有平滑组效果,将每个面的棱角都单独渲染出来(low poly效果)



线框效果
使用双面与不使用双面在材质显示的区别
使用面贴图与不使用面贴图
面状效果


接下来是左边的多个选项,这些选项其实单看都不太好理解。因为他们中的许多选项的差异性主要体现在下方的内容理解上,所以对这部分的内容时我会结合下方的相关设置来同步解释。


明暗器参数与高光参数

在基本参数中,高光渲染参数的设置则是最重要的部分。高光的渲染参数主要是与反射高光的参数有关。当高光级别与光泽度都为0的时候,材质颜色将仅取决于漫反射颜色,高光颜色将不会影响任何东西。


高光级别则是将高光颜色的设置与原材质叠加。高光在max默认是右上方灯光左下方阴影,如果场景中加入了灯光则是取决于你灯光的直射位置。请注意,高光级别的设置值最大可以到999,而不是传统的100或者是1。


高光级别50时,高光斑出现,渲染效果与无高光有明显不同
高光级别150,可以看到亮斑已经十分明显,且面积十分巨大
高光级别100,但高光反射为红色,所以光斑呈现出了橙色的样子(绿与红 滤色叠加的效果)

而光泽度则决定了整个材质球的漫反射程度。举个例子,当你用手电筒照射一片表面模糊的钢板时,钢板上会出现一大片模糊的光斑,而当你用手电筒照射镜子的时候,镜子上则只会出现一个手电筒光源的镜像光点。使用材质的语言来说,这说明表面粗糙的金属光泽度比较低,而镜子的光泽度则很高。


光泽度100时,球体精准的将灯光点反射了出来
光泽度只有10的时候,球体对环境灯光的反射则只有一个模糊的大斑

下方的柔化则是对这个光斑的高斯模糊,在光泽度100的时候,环境光化身成了一个小光点,但这个光点面积不算很大,所以在柔化很高的时候,小光点很容易因为本身面积不大而被模糊到看不见,但是如果光泽度很低的时候,高柔化又会提高整个材质的亮度,让其整体更接近高光反射与漫反射混合后的材质样子。

柔化0与1的区别,可以看到光斑被明显柔和了


当然,高光光斑自身也是可以贴图的,点击高光反射的色块右边的按钮,即可加入一个高光贴图,此贴图也对应的下方贴图区的高光颜色贴图,即Specular-Color贴图。叠加方式依旧是滤色,即亮度叠加Alpha,色度叠加颜色(所以黑色代表透明)。


将高光反射加入棋盘格贴图后,可以看见高光光斑变成了棋盘格的样子


值得注意的是,柔化并不会模糊贴图本身,而是会模糊叠加时的Alpha遮罩。


柔化为1时,棋盘格边缘并没有被模糊,模糊的是叠加的光斑使用的Alpha图层。

当然,高光级别,光泽度与柔化还会影响背光方向的光斑渲染。双击材质球我们可以放大材质球的显示效果,此时光泽度与柔化在背向的作用会显得更加清晰。


柔化为0与柔化为1在此时格外清楚,左边柔化为0时背光斑清晰可见,右边柔化为1时背光斑已经消失


在对高光进行简单介绍以后,再回到明暗器基本参数左侧的选框选择上,一些区别就变得清晰可见了。最常见的Blinn与Phong是两个很相近的选项,它们的区别主要就体现在高光的表现上。


1.Blinn/Phong

左边是Blinn,右边是Phong。Blinn的背光光斑是圆形的,Phong则是梭形的


在柔化规则上,两者的背光斑纹的柔化规则都是从左上到右下的模糊,只不过由于两者背光斑纹的不一致,柔化后的效果也会有些许区别。

左侧是柔化Blinn,右侧是柔化Phong



2.各向异性


对于Blinn与Phong来说,光斑是圆形的,如果我们不需要这种圆形光斑,而是想让光斑呈现长条形的话,则需要用到明暗器中各向异性的选项,各向异性的光泽度曲线是三维的,这可以说明对比普通的Blinn与Phong,各向异性无疑多了一个变量。


在各向异性设置为0的时候,整体光斑渲染规则与Blinn几乎一致

而各向异性值则将光斑的宽度做出了限制。数值越大,光斑越接近与一条线。


各向异性数值调整为50时,光斑明显“减肥”了许多

方向无需多言,其数值决定了这个光斑的方向,填写0-180时光斑的扭曲方向也会旋转相应度数。


方向填写45,光斑整体逆时针旋转了45°

与Blinn/Phong不一样的是,各向异性还能调整漫反射贴图的级别(即透明度),这对于特殊的贴图叠加来说有着非凡的意义。


漫反射级别降低,很明显看出材质球变暗了一大截,这是因为漫反射贴图透明度降低导致的(默认为黑色)

当然,各向异性属性自身也是可以添加贴图的,各项异性的贴图则是彻底的Alpha贴图,对于光斑来说,能影响光斑颜色的贴图仅为高光反射,各项异性则是添加了一个蒙版选项。


将高光的棋盘格改为红色与白色,原先黑色导致的透明色就显示出来了,但是,在各向异性的噪波中添加的其他颜色则仅取其亮度值改为光斑的Alpha值,各向异性贴图自身的颜色并没有影响光斑的颜色
调整各向异性贴图的噪波颜色值并没有影响光斑的颜色,只是由于调整后的颜色与白色差距小,导致了整体光斑的可见区域变小了


3.多层与Oren-Nayar-Blinn


理解了各向异性与Blinn/Phong的工作方式,那么多层与Oren-Nayar-Blinn也就变得容易了起来。多层比起各向异性来说多了个斑点,而这个斑点出现在第一个光斑的内部,也就是说你可以使用第一高光反射层制作光斑的辉光,第二高光反射层则做出光线来源方向的实体,同时这两个光斑与各项异性一样可以调整各向异性值,这也可以帮助使用者构建更具有个性化的光斑服务。


蓝色辉光级别低光泽度低,所以做出了外层蓝色发散光的效果,内层紫红色级别更高光泽度也更高,所以做出了内层小而亮的紫斑的效果

Oren-Nayar-Blinn则是比起传统Blinn多了个粗糙度贴图,也就是Roughness贴图,这个我也就不多赘述了,详情可以前往我之前写的 论Substance Painter的基础材质包使用max默认渲染器时在红警2内的表现力 CV5078760去了解内容。


默认粗糙度为50,可以看见比起传统Blinn来说材质球的背光高光被粗糙度抑制了许多


4.金属与Strauss

上述材质本质上其实都是Blinn的相关拓展,而除了Blinn与Blinn+以外,明暗器内还有另外一个大的方向就是金属,金属是没有高光颜色的调整选项的,因此在金属材质中,没有被光线照到的地方必然是黑色,被光线照射到的地方则会呈现光线的颜色。


环境光是绿色,那么漫反射也会锁定成绿色。当然,使用者也可以手动取消这种绑定

同时,金属材质不存在柔化选项,其光斑大小直接与光泽度绑定,光泽度越高光斑大小越小。


光泽度99,光斑变成了极小而清晰的点
光泽度50,光斑变得大而模糊了起来

Strauss则是Metal-Roughness的标准设置了。金属度低则物体本色明显,金属度高则本色不明显。光泽度低则光斑大而模糊,光泽度高则光斑小而清晰。


光泽度高金属度低
光泽度低金属度低
光泽度低金属度高
光泽度高金属度高


5.半透明明暗器

半透明明暗器一般可以用来快速构建半透明效果,不同于将Blinn材质直接调低不透明度的效果,半透明明暗器会计算光线穿透模型壳体以后在内部进行反射与折射的交互。而Blinn材质调低不透明度则更像是一种整体隐身的感觉,以下是对比案例:


Blinn调低不透明度以后,模型整体变的半透明了起来,然而,这种效果更像是一层薄雾覆盖在镜头前,在主观上我们依旧会觉得这个物体是实心的,只是因为某些原因我们看见了他身后的光线
而使用半透明明暗器以后,半透明颜色让整个物体由实心变成了薄膜效果,整个球变成了一个泡泡一样的壳体,后面的光线传递到摄像机前时也因为穿透了球状物体而扭曲了。由于整个壳体是半透明的,所以暗部产生的影子不再是影子,而是壳体自身不透明度高时的颜色,亮部则愈加透明,只留下了光斑颜色证明其薄壁的存在


在明暗器参数与基本参数之后,接下来就是扩展参数与超级采样。由于扩展参数我自己用的也不多,我就不做过多介绍了,欢迎各位读者进行相关补充。


除了扩展参数以外还有个选项是超级采样,它能让渲染器对单个材质的渲染细节增加。在需要用到反射材质(如镜面反射,金属反光,水面折射等)时,默认渲染器的精度往往不够高,这会让反射折光渲染时产生大量锯齿,而调高整体精度又会渲染更长时间,所以我们可以在超级采样中单独设置启用局部超级采样器,通过使用不同的采样器来获得更好的效果。当然,我使用的案例里一般都会直接改成Hammersley超级采样器,然后通过修改质量的数值来获得更好的效果。


取消勾选使用全局设置选框即可开启超级采样设置,通常超级采样选择都会用Hammersley采样,这种采样的详情比较复杂,读者可自行参考更多资料了解


二.标准贴图子贴图设置


再看过上面的介绍以后,接下来就可以单独设置相关子贴图了。每种不一样的明暗器设置都会产生不一样的子贴图,但是,子贴图的设置都是下列固定的列表,所以我为了着重描述子贴图作用而忽视不同明暗器设置间区别,我将会在Blinn明暗器下的漫反射颜色中一一应用相关的贴图从而展开介绍。当然,下面的介绍也只会写一些我用的多而且常用的贴图,一些没有被介绍的贴图的详情可以前往3ds Max 帮助去了解。网址如下:https://help.autodesk.com/view/3DSMAX/XXXX/CHS/(将XXXX替换成max年数版本,比如3ds Max 2016的帮助文档即为https://help.autodesk.com/view/3DSMAX/2016/CHS/,CHS为简体中文后缀,如果想看英文原版可以改成ENG)


子材质列表

1.位图(Bitmap)

当你从桌面或者文件夹把材质直接拖在模型上的时候,你便已经使用了位图材质。位图材质的参数很简单,主要是设置位图路径,Alpha输出选项以及平铺相关。当然,一般使用我使用位图材质的时候,要么是我直接使用uvw贴图修改器修改模型的贴图规则,要么是直接拆解uv去绘制贴图,所以这里的参数我就不详细介绍了。


丢一个黑底红点的位图丢到一个球上的效果

2.光线追踪(Raytrace)

光线追踪可以用来制作物体在镜面上反射的相关效果,一般可以用在平面反射与物体自身的折射选项中,值得注意的时这个贴图的采样会受到背景环境颜色的影响。许多制作红警2的modder们会将#0000FF蓝作为背景,在没有用到光线追踪贴图的时候,这个背景可以方面使用者获得一个蓝色背景的图来辅助shp导入。但是如果你的场景中有光线追踪贴图的话,那么你可能就得考虑换个背景了,因为背景的蓝色会与这种贴图进行交互,从而使得反射偏蓝。


在球体下方加入一个光线追踪材质的平面的效果图,我在环境设置里设置的蓝色也影响了光线追踪贴图的运算,这对默认使用蓝色背景进行渲染的modder们来说是一个需要考虑的因素


3.棋盘格(Chess)

棋盘格最大的用处一般是用来拆uv的时候看是否拆好了。当然,棋盘格的参数可以方便我们理解坐标选项的意义,比如偏移的uv值可以影响贴图位置,瓷砖的uv值影响棋盘格数目与大小,角度的uvw值则是在空间上旋转贴图。


坐标区
默认棋盘格
将瓷砖选项调高了的棋盘格,可以看见格子变密集了
u坐标偏移了0.2时,可以看见棋盘格贴图整体逆时针旋转了
改变角度的u值,贴图整体向上挪了一点

棋盘格的下方参数则是规定了两种格子的颜色,而噪波则是随机扭曲格子形状,从而能做出一些神奇效果。


设置噪波以后,格子已经看不出来是格子了,只感觉非常扭曲


4.木材(Wood)

常见的木材纹路一般是一条一条的条纹配合渐变色做出的效果,max内的木材贴图原理也正如此,在木材贴图的特殊参数——木材参数里,这种特性被详细的描述了出来。在底部的两种颜色里,颜色2代表了底色,颜色1则是代表条纹颜色,条纹本身是渐变的,即从条纹颜色到底色的渐变。颗粒密度决定了条纹密度,噪波的轴向与径向则决定了条纹自己的形状。


木材贴图的本质就是条纹渐变与一种纯色
加大颗粒密度数值,条纹变稀疏了
改变径向噪波后条纹的变化
增加轴向噪波,条纹变密集了


5.斑点(Speckle)

正如它的名字一样,斑点就是在贴图上制造斑点,大小决定了斑点大小,颜色决定了底色与斑点颜色

斑点贴图


6.渐变与渐变梯度(Gradient / Gradient Ramp)

渐变是贴图里一个很重要的部分,一方面,渐变引入了一些新的概念,另一方面是渐变拥有许多自定义的部分可供使用者编辑各种各样的东西。普通的渐变是三色渐变,当然你也可以将其中两种颜色设置一致来使整体变成双色渐变。我们可以通过改变颜色2位置来改变贴图显示效果,同时也可以改变渐变类型来变更渐变的方向。


渐变贴图
改变颜色2数值的区别,左边为增大该数值,右边为减少该数值
变更渐变类型为径向,可以看见渐变的方向发生了改变

同时,渐变引入了新的噪波控制面板,这种噪波面板在烟雾,衰减,旋涡等贴图里也非常重要。在渐变的噪波里,噪波的数量越大噪波越清晰,大小越大噪波的单个波峰越大,相位的改变则是改变噪波的相对位置。


噪波0.2与1的区别
提高噪波大小,噪波单一波峰变大
改变噪波相位,噪波自身旋转了一点

渐变坡度比起渐变来说,对渐变颜色的数量与渐变颜色的位置有了更加灵活的调整,使用者可以像PS的渐变一样自定义添加任意数量的颜色,并且可以自定义渐变方式。


渐变坡度可以增加许多渐变颜色
更改渐变类型为法线,贴图坐标有了明显变化
更改渐变插值为实体,多颜色组合由自然渐变变成了撞色


7.漩涡()

漩涡是制造漩涡的贴图,漩涡贴图的颜色只有两个选项,漩涡大的设置分为四个部分,颜色设置主要是设置漩涡两种颜色的清晰度与组合程度;漩涡外观主要是决定了漩涡的扭曲程度,漩涡位置决定了漩涡中心点的位置,漩涡的随机种子则决定了漩涡扭曲的随机外观。


漩涡贴图
提高颜色对比度,漩涡的两种颜色都更加清晰了
提高漩涡强度,颜色设置中的漩涡颜色白色得到了加强
减少漩涡量,漩涡颜色被削弱了
增加漩涡扭曲值,漩涡的臂长更细更长了,臂间距也更靠近了
增加漩涡恒定细节,漩涡本身显得更加清晰了
改变漩涡中心位置
变更漩涡随机种子

8.衰减(Falloff)

(其实我觉得叫Fade也可以)

衰减可谓是程序贴图里的一大常用贴图。乍一看衰减贴图与渐变没有什么区别,但是衰减贴图有个独门绝技——对象跟踪。普通的渐变坐标是与模型自身绑定的,当我旋转视角观看一个有渐变材质的小球时,这个小球的贴图会随着我观看的视角变化而给我展现不一样的部分,而衰减则是在我的视角内,小球的中心永远是颜色1,外侧永远是颜色2。


左上方是衰减贴图制作的渐变,右下方则是渐变做出的渐变效果,在特定的角度下这两者区别不大
更换一个角度再看,可以看出衰减的渐变依旧跟随了摄像机,渐变材质的小球的黑斑已经由于摄像机的旋转而挪到了右侧了

衰减的特质可谓是贴合了许多场景,比如X光效果中,模型外侧永远是亮的,而内部永远是几乎透明的,这种效果并不会随着摄像机改变而改变,这种效果的实现基本离不开衰减。


X光效果


衰减还可以用来做环境反射,比如要想制作一个金属球在环境中反射的标准椭球形,就可以在金属球贴图自身的反射贴图内创造一个衰减,并将衰减的黑色部分加入光线追踪,白色部分加入柱形环境且旋转90度的环境渐变。


金属球材质的核心表现就是与边缘交互的上端椭球,做出来以后金属效果就会很好


9.噪波(Noise)

除了许多贴图下的噪波设置以外,贴图门类里自己还含有一个Noise噪波贴图,噪波贴图的目的很纯粹,即为贴图制造各种各样的噪波。噪波自己的噪波参数与其他的噪波参数设置基本一致,主要参数有大小,噪波类型,噪波阈值等。

噪波贴图
增加噪波大小,噪波单一颗粒的大小明显放大了
噪波类型分别为规则,分形,湍流的区别


噪波类型毫无疑问是噪波参数里最重要的,从观感上来看,规则噪波类型可以模拟一些平滑噪波如水面等;分形噪波可以模拟一些粗糙表面的颗粒如混凝土等;湍流噪波纹理比较接近大理石。


10.烟雾(Smoke)

不同于一般人的直觉,要想真正把面片变成烟雾,烟雾贴图得应用于Alpha层才可以起效。单从表面来看,烟雾贴图与制造表面变化的效果类似,参数大多与噪点的柔度,大小与突出程度有关,值得注意的是,极低大小的烟雾效果类似于雪花噪点效果,配合凹凸层可以轻松做出表面粗糙的效果。


大小仅为1的烟雾贴图,可以看出整张贴图呈雪花状,适合应用于凹凸层产生粗糙纹理


11.细胞(Cellular)

这里的细胞形态更接近于植物细胞的固定排布,细胞可以用来做一些拼接玻璃效果,也可以用来制造一些大理石内裂纹。细胞设置中细胞颜色是细胞本体的颜色,分界颜色1是逐渐渐变到分界的颜色,分界颜色2是分界自己的颜色。


细胞贴图 碎片特性实例

细胞贴图的分形选项可以使细胞边缘产生噪波(实话说挺像皮蛋的)


分形渲染案例

12.波浪(Waves)

波浪贴图是一种特殊形状的波纹,虽说真要做大海波涛多半是用不到波浪贴图而是用烟雾贴图,但这种特殊的波纹可以应用于一些特殊的塑料表面以及水面较小的景观水面。(用的不多,所以我就在此不多介绍了)


材质球与主要参数设置


13.混合(Mix)

混合材质的本质是混合两种材质,并且能设置一定的混合规则。从材质设置界面可以看出,上层材质是颜色1,下层材质是颜色2,混合量决定了两层亮度,混合曲线可以设置混合渐变曲线。


混合材质默认界面



在介绍了一些子贴图选项以后,或许细心的读者已经发现一个问题。即主贴图也并不只有标准一种贴图。所以在下面我会在应用最多的标准贴图以外同时把一些用的最多的贴图做出一些介绍。



三.Max其他贴图设置


1.标准(Standard)

标准贴图即是最常见的基础构建框架,除非是特殊情况,一般贴图都会用这个。从某种意义上来说,上面的介绍基本全与这个有关,所以我也就不在做过多描述了。


2.多维/子对象(Multi / Sub-Object)

我的个人体会是,多维子对象贴图一般不是我主动调出来的,熟悉max的使用者应该知道,如果要个同一个模型上多个贴图,我们可以在可编辑多边形中选中不同的面来拉上不同的贴图,而此时对于模型整体来说,模型便是多维子对象贴图了。所以我目前并未直接创建过多维子对象贴图,而是通过选择不同的面并应用不同的贴图来让模型应用多维子对象贴图。


这个球的上方被我拉入了红色贴图,下方被我拉入了绿色贴图,所以在使用“从对象选取”来获取贴图时,本体贴图便自动是多维子对象贴图的一部分了


3.无光/投影(Matte / Shadow)

这是一个所有红警2modder都会打交道的材质,即渲染地板阴影的重要材质。其主要设置主要围绕不透明Alpha与当前场景的灯光展开。红警2对阴影的详细要求可以见我写的第一篇专栏:如何快速使用现成的步兵模型并使用biped在红警里做一个步兵素材 CV2302035,主要要求便是与背景硬边缘且颜色均匀无抗锯齿。一般我会勾选不透明Alpha,并在渲染器里取消抗锯齿,并且将物体本体设置为不可见(载具阴影,需要完整阴影的单位)或是物体本体也改成无光阴影材质并取消勾选模型的接受阴影并勾选投射阴影(步兵/建筑阴影,阴影本体会被模型遮盖的单位)来渲染红警2单位的阴影。而由于ImageShaper与Pal Studio等新工具的普及,阴影换色变得更简单了,所以阴影特定颜色在Max里的设置也不那么必要了。


步兵脚下的阴影便是因为其地板材质为无光投影


4.虫漆(Shellac)

虫漆材质也是一种混合材质,与mix类似,虫漆材质也有两个材质层。基础材质用来制作质感与纹理的层级,第二层材质则是叠加在基础材质上的一个材质。由于虫漆材质在透明度为0的时候会仅叠加高光区域,所以虫漆材质可以用来制作双层金属锈蚀的神奇效果。同时,它可以用于叠加两个标准材质,而并非简单的在单一的层级叠加,所以也这是虫漆叠加不同于子贴图内的Mix贴图的一点。


虫漆材质案例——黄金刻蚀材质
对比虫漆叠加的两种材质可以看出虫漆的叠加方式


5.混合(Blend)

单从中文来看,主贴图的混合可能会跟子贴图的混合弄混,但是英文版的Max将主贴图的混合叫做Blend,子贴图的叫做Mix,这使得在英文版max中这两者并不容易混淆。

与虫漆不同,混合材质的设置更为复杂,这意味着它可以做出更多特殊的效果。可以更加方便对单纯虫漆混合效果不够满意的人使用。


虫漆混合与Blend混合的区别,可以看出在默认设置里虫漆的暗部混合效果更好,但是考虑到Blend混合的遮罩设置与混合曲线设置更多,所以虫漆在此时更像是一种简单易上手的虫漆材质


6.Ink 'n Paint

现在许多2D漫画在空间转场分镜上看起来很具有3D效果,难道它们都是手绘吗?其实并不是。在3dsmax中,Ink 'n Paint材质便可以方便给予使用者一种墨水绘制平面效果的感觉,这种材质常用于三渲二中(别误会,不是红警2的那种写实三渲二,更多是那种漫画风格三渲二),当然,由于红警2一般用不着这种材质,所以我了解的也不算太多,在此一笔带过,以后用到了会再做补充的。


Ink 'n Paint材质示意,可以看出整个球体已经像是动画里绘制的一样

6.建筑(Architectural)

建筑材质包含了大量的预设材质供使用者直接使用,而预设材质一般围绕建筑展开,比如木质,纸质,织物,水等等。当然,这种材质仅提供了反光效果,具体的漫反射材质还需要自行调配。整体来说建筑材质提供了一个材质物理反馈的平台,能方便使用者对整体材质进行光线交互上的调配。对于我来说,这其实挺让人眼熟的,因为许多第三方渲染器(如V-Ray,Corona,Arnold等)的许多设置与它颇为相似,也可以说建筑材质是一种Autodesk在光线交互上的初步尝试吧。


建筑材质简介图



还有一些用于游戏引擎交互的材质(DirectX Shader),纹理烘焙的材质(壳材质 Shell Material),特殊材质(如外部参照材质XRef,链接修改器材质变形器Morpher)。由于这些材质我用的不多,所以我在此也不做过多描述。上面许许多多的材质可能已经让人疑窦丛生。我该怎么用?这些有什么用?下面我就结合我自己这几年的学习经验提出一些我自己的个人常见用法与相关体会。


四.程序贴图个人杂谈


1.Slate材质编辑器到底好在哪?

正常情况下,对于叠加材质少的初学者来说拖动即预览的材质球确实特别好用,但是对于多重叠加来说,传统材质编辑器的关系的不直观,子贴图无法预览等毛病就凸显了出来。


上面刻蚀材质的结构图,Slate材质编辑器在复杂嵌套时先得特别直观,这点远胜精简材质编辑器

Slate材质编辑器一方面可以方便查看子贴图的嵌套关系,另一方面也可以快速预览子贴图样式,并且Slate材质编辑器也更接近于现代主流美工软件与技美的认知,这种种都让Slate材质编辑器可以完美替代传统材质编辑器。不过,鉴于slate上手还是远比精简材质管理器难,所以对于新手贴图调配者来说来说精简材质编辑器依旧是更好的选择。


2.懒人包?

在红警2圈里,许多人对程序贴图的印象是“免拆uv直接贴图的方式”。诚然这种直观印象不太准确,但从网上找到贴图并直接拉到模型上这种方式已经成为了许多人制作模型的选择。毕竟游戏引擎读取的可是帧序列。可不管原始模型什么事。再加上许多新手做模型可能都从活动性少的建筑开始,拉个box配个屋顶材质与砖墙材质便可以出一个很好的效果,这也可能会使他们看到本文时产生一个疑问:我明白更多贴图的使用对我自己来说有什么提升呢?


首先我认为第一个可以直观注意到的点便是凹凸层。以砖墙为例,如果你直接从网上找到一个砖墙照片并拖入平面上,那么在渲染时砖墙夹缝与光线交互的漏洞可能给人一种“你这背景太假了”的感觉。然而,如果你把这张砖墙图片丢进ps,黑白化后色调分离,调整曲线使亮部暗部对比度提升,最后把这张黑白图片应用到凹凸层的话,那么你就可以在渲染时渲染出面数更多,细节更好的效果。顺便提一个基础小贴士:凹凸贴图的白色是凸出,黑色是凹陷。所以凹凸贴图里砖墙接缝应该是黑色,砖本体应该是白色。


直接把砖墙贴上去,虽然有效果但是材质不够细腻
把这面砖墙拉进PS里,做出一些调整后使其黑白分明,接缝变黑凹陷,砖墙变白凸出,然后将这张黑白图片附加到凹凸材质层上
此时,材质球变得更加凹凸有致,与环境光线的交互相对好一点了

再比如同样一面混凝土墙,当你在网上找到的贴图渲染在游戏内因分辨率不高而不够真实时,将它本身先凹凸处理一次以后,再将这个材质黑白化丢入光泽度贴图与高光级别贴图,那么此时这个材质的光线效果一定会比直接拉进去更好,同时,你也可以合理调整高光级别与光泽度数值来完成光线交互的真实化。毕竟渲染的核心便是光线交互,任何一个简单的模型,只要提升了光线交互质量,那么即使是素模都会变得很好看。


左边是直接把贴图拉进去的材质球,右边是将源材质匹配了凹凸与光泽度的材质球,很明显右侧的材质球能让环境光线与纹理实现交互,在渲染时产生的细节阴影也会更多,整体效果也会更棒


当然,这些效果在低分辨率与单一模型下的改变有限,不过在零件众多的场景中,持续不断的使用这个习惯来优化所有贴图,你的整体渲染效果一定会提升一截。尤其是一些现代引擎转过来的模型来说,直接使用漫反射贴图毫无疑问会丢弃一些效果并使得渲染材质很丑,而学会调整贴图明暗器设置,让次世代贴图更匹配渲染引擎也是美工们的必修课程。


3.贴图基础原则?

我在接触贴图流程之前,对贴图的直观印象是剪牛奶盒的游戏,随着我对sp的学习了解,我又发现贴图的自由绘制与我想象的直接表面绘图很不一样,在我之前的想象中,表面贴图正如ps拼图一般,可以自由拉一个我所想的零件上去然后加入细节。但是表面绘制的笔刷更多时候像是蒙版编辑器,就如小朋友的蜡笔黑板画一样是通过扣掉表面黑色涂层来完成绘制的。


那么如何得到更好的贴图呢?目前我的个人经验是把上贴图的过程与现实流程对齐。就比如制作汽车油漆材质时,第一层可以上一层金属(基础材质),然后加入色漆(漫反射),颗粒(光泽度),清漆(环境贴图与反射规则)。转换成贴图流程即是选择明暗器,选择漫反射贴图,选择光泽度,选择凹凸,调配反射与折射。整个流程下来贴图便会特别好看。同时,考虑到现实中大多数事物都是一个零件一个物质(一种材质),在面对无需减面的情况时,制作者可以把一些增加表面细节的零件单独取一些面或是单独作为一个零件,然后将单一材质适配单个零件,这样整体贴图细节就会显著提升。


程序贴图的贴图原则与sp的上贴图方式一致,都是逐层叠加不同材质然后显现出最终效果

4.一定要拒绝拆uv吗?

拆uv的工艺独立于建模,一直以来都是一种类似再塑模型的过程。再加上待拆uv的模型对模型的布线正反面重合与合并操作都有影响,所以有很多做红警2模型的模型师们都会尽量避开拆uv的过程。足够了解max的模型师在面对某些非得指定贴图坐标的情况时会使用uvw贴图这个修改器来辅助贴图定位到合理坐标,从而避免直接拆uv很麻烦且发现自己建模时产生的毛病的问题。


不过uvw贴图能叫这个名字,足以说明它与uvw展开这个拆uv标准修改器千丝万缕的联系。同时拉取这两个修改器到一个模型上我们会发现,修改uvw贴图的上贴图规则会同步影响uvw展开编辑器的点线布置,那么难道说……


uvw贴图编辑器界面

没错,uvw贴图这个编辑器其实就已经帮使用者完成了快速拆uv的过程。而且你会发现这个修改器对你的模型并没有那么挑剔,重边重点一律不看,接缝对齐毫无影响,翻转缝合都无所谓。其实拆解uv的许多流程都是针对高分辨率次世代流程才做出的硬性要求,而对于红警modder们来说,即使是超级庞大的新心灵终结仪显示尺寸分辨率也不过1000*1000以下,那么纠结一些非要在高清环境下才重要的细节是完全没必要的。


默认的uvw展开编辑器下的球体,看得出是一个投影
将这个球体的uvw贴图选项改成球形
球体的uvw展开编辑器自动出现了变化
与默认的uvw贴图设置的球体贴图对比,贴图的坐标对应明显不一致

因此,对于一些简单几何体(近似为球体,正方体,无凹陷与镂空的基础模型)来说,uvw贴图功能其实已经可以帮助你拆解uv了,至于复杂模型,如果你既不想另外使用RizomUV(Unfold3D)来拆解uv(毕竟要导出obj,还得一个个部分导,太麻烦),又不想改善你的建模习惯的话(还是别布尔或者附加了,随手缝面补点不重合是模型师基础素养)。那么你就尽量把你每个模型的零件都单独弄一个模型或者是一个面区,这样单一零件使用一个贴图的话,在小分辨率上也不会显得很丑。


至于如果你真的要学习纯max快速拆解uv的方式的话,我可能会在将来也出一篇专栏来说明这个问题。(咕咕咕)

我一定会写的.jpg


五.后记

这篇专栏应该是我时隔许久以后写出的一篇干货过多的专栏。拖了这么久一方面是因为我自己有现实生活的事情要做,另一方面也在于程序贴图的知识点太多,我的学习之路也变得十分漫长。所以,本文中一定有一些我目前尚未了解的谬误与学习过程中产生的纰漏。希望各位读者能及时指出,本人会十分感激。在之后关于美工的专栏里,或许我会进一步探究3D与2D直接的关系,从动态到静态全方位的攻克每个障碍。同时我也希望在这个学习的过程中能遇到同行者,共同攀登美工的高峰。


疫情的阴云丛生,希望大家都能保护好自己,远离病毒带来的威胁。

【自用】如何迈出程序贴图的第一步?的评论 (共 条)

分享到微博请遵守国家法律