掌握模糊的艺术—零基础给红警2模型上贴图

ICE Lab Inc. Copyright 2023, All rights reserved.
本文共8400字
前排感谢结界手(B站ID:结界手)在贴图寻找、布设、细节提升与渲染效果上对我做出的指导工作与帮助,感谢杰哥(B站ID:1无奈2无语)在指定模型的uv布设上给出的个人心得与贴图布设其他相关帮助,感谢工头(B站ID:ZeroFanker)在贴图材质上给我的指导帮助。
本文不是建模教程,所以不提供建模相关知识,本文内容基于3dsmax来撰写,所以对其他建模软件使用者而言本文仅做适度参考。
这篇文章能告诉你什么?
1.如何百度合适的贴图给你的模型使用
2.如何配置场景中光照的角度
3.使用3dsmax进行红警2级别的建筑建模时,如何使用uvw贴图编辑器给复杂物体上贴图
4.认识uvw展开编辑器,如何只使用3dsmax进行对简易物体的uv拆解
(上一篇专栏我写了关于embergen的详细介绍。在许多人眼中特效类软件,尤其是没有汉化的特效类软件,即使我事无巨细的翻译了几乎所有条目也是上手难度颇高。再加上破纪录的高字数,我相信许多人都看不完。所以这篇文章我想说一些轻松愉快上手难度低的东西。)
单看标题或许你会疑惑:贴图这东西不是讨论过多次了嘛?比如“以制作红警2的模型贴图入手,论对模型的贴图修改” CV4085755,再比如“论Substance Painter的基础材质包使用max默认渲染器时在红警2内的表现力” CV5078760,又或者是"【自用】使用uv展开绘制贴图的模型建立的标准流程" CV11786184 与 "【自用】如何迈出程序贴图的第一步?" CV19170516,一次又一次的去强调同一个事情是否有必要?事实上如果你看过上面的所有专栏你或许会觉得,之前讲的许多有关贴图的内容都宛如在稀粥里用筷子捞一个飘动的米絮,当你接近它时它总让人感觉似乎碰到了,但你想一鼓作气捞上来时它又会随着汤水从筷子边溜走。而且我在过去的自学经历中也很多次遇到过这样的声音:“给这东西上贴图真的需要拆uv吗?我怎么感觉有更简单的方法呢?……”
过去两年里,在我与真正有过给红警2做mod经历的建模师交流以后,我发现他们基本上从不强调uv这种东西,也不会想着照顾次时代所以去打开一些奇奇怪怪的贴图软件,而且对于贴图他们都是一带而过。这倒不是因为他们藏着掖着自己的技术,而是上贴图对于他们似乎就像喝水就要举杯子一样平常。而与那些重置红警2模型的模型师交流则是一种不一样的体验,他们会更多强调模型本身的精细程度与整体程度,为此他们会使用次时代流程来让自己的模型在高精度高分辨率条件下依旧完美无缺。而模糊与清晰,这一做mod与做高模直接最直接的差别,让高清重制模型师与modder模型师在同样的问题上有个完全不一样的答案。掌握模糊的艺术,也就是modder们需要对上贴图步骤最大的考量。
在正式讨论上贴图之前,我想用一个故事来展开uv这个标准工序出现的缘由。3D模型所服务的从来都是人类的眼睛。在最初,电脑产生空间模型只是模拟一些常见基础模型,比如标准立方体,球,圆柱,圆锥或棱锥,台体,梭等。渐渐的,人们想让电脑模型显示出一些现实里有的东西,这时人们发现,一个颜色构成的模型无法拟真现实,现实中的物体在抽象成一个个面后,每个表面都会有一种物体材质带来的特殊颜色与物理反馈。而这直接构成了设计程序贴图的最初思路——即构造一个环境,并且给模型表面赋予一个材质(这里的材质指的3D模型的材质贴图,不是现实生活中的材料)。

很快,早期从事建模的人们发现,常见基础模型在建模活动里使用频率颇高,而且这些简单模型组成也能组成一些较为复杂的场景。软件工程师们根据实例-抽象-总结-发明新工具的过程,觉得把常见模型的贴图规则整合成一个功能是个好点子。于是给模型指定贴图地址以后自动用一种方法上贴图成为了当时各个三维软件开发的方向。而这个功能在如今的三维软件里,也就是直接拖动上贴图的功能。

可是,现实不总是只有标准形状的物体。如何让各位三维设计师们能自定义模型样式呢?有的软件工程师们考虑到标准形状的组合多样性,于是这批人选择使用写各种各样的标准形状间运算方式来让模型变得多种多样,同时这种方式还可以记录模型变化步骤,从而让一个高精度模型有了复制与学习的途径。这种方式后来演化成了程序化建模,在这个万事万物都要流程可控的年代,这种方式受到了许多人的青睐;有的软件工程师们则是从模拟三维形状本身入手,因为任何电脑中的三维形状都有点线面,所以他们设计了诸多对点线面的处理方式,从而让一个简单box能转换成各种各样的东西。这种方式也就是如今的多边形建模;对于一些更注重实体模拟的软件设计师来说,哪怕是纯粹的单一平面,平面网格越多模拟效果才能越真实。这些软件设计师从现实拟真入手设计了一些特殊的规则来适配现实模拟,这种方式也就是如今工业建模软件常见的实体建模与网格划分。

故事指向了一个道理:即工具的发明往往与其应用场景的需求直接挂钩。面向视觉设计的3D模型师的直接需求,就是让模型的面上显示出模型师想要的东西。所以学习者们大可不必对着建模上贴图这种事心生怯意,弄清楚需求的本质,你其实就已经拥有掌握这项技能的前提条件了。
一.贴图选择
下面进入正题。对于次时代模型师来说,贴图需要精准显示出模型不同部位的材质效果与颜色。这个需求对于红警2模型来说与次时代有些许差异。了解shp制作流程的modder们都知道,shp本质上就是帧序列。即你渲染的时候出来的图像序列长啥样,在不考虑色盘丢色的情况下,你的游戏内显示就会是什么样。然而,图像序列的分辨率是有极限的,正如次时代模型也分粗模中模精模,游戏为了优化帧数会采用LOD(Levels of Detail,多细节层次)方案一样。对于分辨率小与距离摄像头远的模型来说,贴图规则与细节体现会与人的直觉产生一些差异。或许你在放大条件下看见的细节,缩小以后就变成了细节全丢的均质纯色效果,或许你心心念念想加入模型的一些小摆件,低分辨率下反而变成了模糊不清的几个像素点。


低分辨率下甚至一些细节还会出现未曾设想的变化,一张意义不明的贴图在低分辨率条件下反而成为了混凝土块的代表。


所以对于红警2modder来说,一张贴图的好坏与其在低分辨率条件下的表现力直接相关。一张合格的贴图在对其表面细节的表现必须拥有足够强的色差与足够大的面积,并且它最好能满足平铺平滑的特性(即这张贴图在平铺环境下不会出现明显的边缘色差,整张图的基色在角落或者边界上与其他部位有明显的渐变)。这样它才能成为一张合格的贴图。


既然一个贴图在低分辨率下的表现与实际效果可能不一致,那么我们如何能正确地筛选贴图?从我个人经验来说,观察已有方案是一个明智之选。比如我想找一张用于建筑承重结构的铁皮贴图,那么我在搜索贴图之前,我会先观察原版红警2中已有的建筑来辅助判断。从红警2游戏来说,景观特殊建筑包含的细节肯定大于一般平民建筑,阵营军事建筑的细节又大于景观特殊建筑。在原版的三个阵营里,盟军建造场生产车间的大块是最有承重铁皮感的样式了。观察其表现力我可以得到几个辅助我们寻找贴图的要素:1.贴图表面颜色应为灰色与灰蓝色相间,且背景颜色应该包含灰蓝色瘢痕状纹理;2.贴图细节条纹应该与周围背景有明显色差;3.整体贴图细节不应过多。

开始贴图搜索时,搜索关键词可以以颜色为开头。比如“灰蓝色~”,“灰色~”,对贴图的描述定性也可以有更广泛的认定范围。想模仿盟军水泥金属的条纹格子,可以直接搜索“~格子贴图”,“~条纹贴图”或是“~纹理贴图”。通过这种搜索方式,搜到的贴图次品率会显著降低,也能方便我筛掉很明显不符合样式的相关贴图。


当然,正如低分辨率下A看成B,B看成C的特性,我们搜索金属贴图也可以不局限于金属上。对于表面均匀粗糙,无明显反射折射特性的一般材质来说,在低分辨率下布料,塑胶,水泥与非反光金属的特性是相似的,所以放开材质关键词,仅在颜色与表面特征关键词上进行描述也能在贴图上得到好的搜索结果。

对于有一定PS基础的读者来说,得到贴图以后丢进PS里进行二次处理也是可行的,想要在不破坏贴图原有纹理的情况下加入色差色块,最好的方式便是新建一个混合模式为叠加的图层,并且使用合理的笔刷进行合理的涂抹。由于低分辨率的特性,笔刷可以不追求特殊笔刷产生的特殊效果。使用默认笔刷进行简单的叠加与相关处理也可以做到很不错的效果。



选择合理的贴图是给模型上好看贴图的第一步,然而3D模型师都知道,材质表现力与环境场景的设置也是密不可分的。对于环境设置与灯光布设,有许多内容也是需要模型师们注意的。
二.场景布设
在很久很久之前,ppm的模型师们曾经对红警2的灯光布设进行了相关讨论。到底什么条件下的模型表现力会更出色?这个问题的答案早已包含在了ra2diy论坛给出的标准模型渲染场景中。知其然还要知其所以然,随着现在3d建模软件越来越多样化,不同的建模软件有着不一样的灯光布设方式,如何在其他的软件里还原以max为核心的场景设置对于新手来说也是一个困难的问题。对于光照来说,我们可以观察影子的方向来进行基础的灯光布设。红警2模型的影子方向是游戏里北方偏东一点的方向(N,art里的方向/0,地图编辑器的方向),在玩家眼里基本上是屏幕右偏上38度左右的位置。当然,在铺设了灯光以后,我们还可以增加一些不在投影面上产生影子的补光来加强模型本体的明暗对比,这与图标中暗部与亮部的对比增强图片表现力异曲同工。

灯光对模型的影响无疑是巨大的,下面是场景灯光不同情况下模型渲染效果差异的一个案例。




那么,场景到底该如何布设呢?这里我用语言描述照搬一下diy论坛给的标准场景的建筑灯光设置。在描述位置之前我先把我描述所使用的坐标系用一张图描述一下,方便读者在其他三维软件里比对还原。

首先是投影灯,投影灯整体位置在X轴正向,Y轴负向与Z轴正向的空间坐标系第四象限(空间坐标系象限知识可以百度一下)上。在X轴正向Z轴正向的投影部分,投影灯角度是X轴正向偏Z轴正向55°;在Y轴负向偏Z轴正向的投影部分,投影灯角度是Y轴负向偏Z轴正向75°。

其次是Y轴正向偏Z轴正向的正面补光灯,其角度是Y轴正向偏Z轴正向35°的位置。

最后第二补光灯的位置在X轴正向Y轴正向Z轴正向的空间坐标系第一象限上,在X轴正向Y轴正向的部分,第二补光灯角度是X轴正向偏Z轴正向52.5°;在Y轴正向Z轴正向的部分,第二补光灯角度是Y轴正向偏Z轴正向80°。

至于三个投影灯的亮度问题。首先我自己在使用标准案例的时候投影灯亮度就是自己改过的,其次不同的建模软件灯光亮度单位也不一样,甚至不同渲染器的灯光亮度单位都不一样。所以本着所见即所得的原则,实际模型亮度最好还是靠各位modder们自己动手体会。当然,除了投影灯以外,关于补光的详情并不是一个死板的规定。你可以为了自己模型的特殊效果进行特殊的补光。所以实际上最终光照效果,除了在影子渲染上尊重红警2的正确方向以外,其他补光可以根据你对你模型的明暗效果预期来进行特殊的布设。
三.给一般几何体上贴图
在合理的搜索贴图与布设好场景的灯光以后,上贴图就变得理所应当的下个步骤了。刚才介绍如何找贴图的方法时我们有知道,对于红警2的模型来说,由于低分辨率而带来的模糊效果,贴图我们只需要保持大概色块效果有材质效果即可让模型有相应材质效果。所以对于一个拥有各种各样小零件的表面来说,建模师大可不必像游戏建模的模型一样一个个把细节画上去。在红警2模型里,给平面增加细节最好的办法就是直接在平面上构建细节实体。举个例子,比如你想往一个面上加一个跟墙面材质不一样的五角星,那么最简单的方法就是在这个面上构建一个额外的五角星面,然后选中五角星面给它上一个单独的贴图。


而如果你想让一个模型的两个部分有单独的贴图而不是给一个平面增加额外的元素怎么办呢?在3dsmax里,你可以在可编辑多边形页面中找到面选项,选择你需要上相同材质的所有面,然后直接把那些面对应的贴图拉上去即可只给你选择的面上你想要的贴图。



但是,从上图可以发现,我虽然把不同的贴图弄上同一个模型了,但是贴图的拉伸并不是我想要的结果。此时我可以通过选中相同贴图的面并使用“uvw贴图”修改器来进行贴图坐标的相关操作,“uvw贴图”可以使我们拖入表面的贴图在模型表面以一种用户自定义的方式进行铺设,在红警2精度的模型上它的功能除了弯管以外基本上完全够用了。




这里值得注意的是,如果你用修改器制作了一些模型动画,塌陷可能让你在修改器中保存的动画项目丢失。不过如果你严格遵循建模完再上贴图,上完贴图再做动画的规则来进行相关操作的话,塌陷的警告对你而言意义就没那么大了。如果你要保存你已有的修改器效果的话,你也可以将已有的修改器右键剪切至剪贴板,待贴图上好了以后再粘贴回来。
这个操作是可以重复多次的,当你的一块box上包含了许多部分的时候,你可以通过可编辑多边形中对面的选择来选择每个部分,然后每选中一个部分就使用一次“uvw贴图”编辑器来进行贴图,每贴一次图就将uvw修改器塌陷一次来保存你之前贴过的图。多次叠加就可以完成你整个模型的贴图过程了。

uvw贴图里主要有以下参数是值得注意的。首先是样式,uvw贴图给出了平面、柱形、球形、收缩包裹、长方体、面这些形式,以下是案例图示:






既然uvw贴图在红警2级别的建模里表现这么出色,那么拆uv又是怎么回事呢?拆uv这个技能对红警2建模师们到底还有没有必要掌握呢?而且,为啥拆uv与uvw贴图名字这么相似呢?
四.简易模型速拆uv
在红警2这种建筑建模需求里,如何速建管道一定是需要学习的重要部分。管道一般是以一个截面为底,身体随一个曲线自由弯曲的多面体,这也让3dsmax内置了一个名叫“放样”的复合对象来帮助建模师们更快的建立管道相关模型。

此时你可以通过拉入一个带有条纹的贴图来方便给这个管道上贴图。只不过管道的两端是没有贴图的,这是因为max为了方便用户给管道上贴图,已经内置了放样贴图的相关规则,用户拉入的贴图将会自动均匀贴在弯曲管道的表面,而两头则被浓缩成了一个单一的点。这个规则可以通过给这个放样多面体添加“uvw展开”修改器来查看。



开启uvw展开修改器里的uv编辑器时,如果你了解过uv贴图你一定会豁然开朗:“原来这东西就是uv啊!”。事实上uvw展开编辑器便是max内置的uv拆解手段。uv的原理我在之前拆解uv的相关文章里已经介绍过,本质上uv贴图就是将一个模型如牛奶盒一样剪开,使得一个3D模型能在平面上找到自己的面对应的贴图坐标。max所有标准几何体内置的贴图规则都可以方便的使用uvw展开编辑器查看。通过查看管道的uv我发现,当我选中管道两端中的某一端的截面时,那个面在uv展开的图上都已经小到看不见了,这就是这个面似乎跟没有贴图一样的原因。

那么怎么修复这个问题呢?观察模型本体我们可以看出,拆解uv中的接缝便是模型上那条绿色的线,根据接缝连成的封闭面可以单独拉出来的性质,我们在模型上选中那两个面,并且在uvw展开修改器中的编辑uv卷栏内点击快速平面贴图按钮,很快这两个面就从一个点变回了两个面。

当然,这个时候它俩还是扭曲的两个面,我想恢复它圆形的样子。在剥选项里选择快速剥(不管是编辑uvw窗口还是uvw展开修改器选项,里面的剥卷栏中的快速剥功能都是一致的。快速剥在那三个球形按钮的最左侧,鼠标在图标上长停留可以看见软件对按钮的备注),于是两端面的圆形又恢复了回来。

最后,我把这两个面单独挪到一边,然后选择管身部分的面,在编辑uvw框内右键,在右键菜单里找到松弛左边的按钮,点击它可以出现松弛工具选框,使用合理的规则将管身进行松弛。

松弛以后,选择所有的面,再次在编辑uvw贴图的菜单里点击紧缩uv右边的方形进行紧缩的相关设置,设置好之后确认,一个管道的uv就被我们拆好了。


这就是拆管道这种简单图形的uv所需要的步骤,虽说这个模型的uv大多都已经被系统安排好了,但拆解这个uv所用到的一些功能,比如剥,松弛,紧缩uv,这些功能也正是max手撕uv的神器,有了它们的帮助,对付任意的自定义模型uv其实也不在话下。并且这种拆解并不需要任何外界工具(比如rRizomUV/Unfold3D等)
再举个拆解自定义物体uv的案例,一个带孔与凹陷的台状物体如何拆解uv。
首先说明,一个能被拆uv的模型其表面一定不存在翻转边、炸开边或是重叠未缝合顶点这种在建模里很不规范的东西,它们的产生与你建模中一些不正确的行为有关,一些具体案例可以查看我写的往期讲述uv相关的专栏(CV11786184、CV4085755)来查看,这里也就不多提了。

先说一下不拆uv的给它上贴图的方式,在这个物体转成可编辑多边形以后,如果想要不同的面有不同的效果,使用者可以将不同的面分别选中,然后逐个去上不同的贴图,每上一份贴图就使用一次uvw贴图修改器来调整不同贴图的表现样式,这与上一节我放的gif图的案例大同小异,我也就不再赘述细节了。

拆uv也十分简单,首先给这个物体上一个uvw展开修改器,直接打开编辑uvw窗口我们会发现这个物体有特别多绿色高亮的边,绿色高亮代表了被拆开的边,而从图可知,这个物体的uv已经被系统自动拆解了一遍,这也导致炸开的绿色边过多。因此拆解这个物体的uv的第一步就是把这些边全部缝上。

怎么缝呢?先切换到选择面选项并选中所有面,点击上文提到过的快速平面贴图按钮,然后再切换到选择边选项,将绿色边一个个使用缝合到目标按钮进行手动缝合

当然,很快我会发现有些边即使是绿色的我也无法将其缝合,我此时暂时跳过它们,将能缝合的边统一缝合到一起,然后再切换到面选项选中所有面,再次点击快速平面贴图,此时所有缝上的面们共同组成了一个投影。将这些面拉到一边以后,再次选中所有面并再次投影,此时所有的边就都被缝上了,回到3D模型我们可以看见,所有的绿边都已经消失不见了。




缝完了系统留下的烂摊子,接下来是剪。对于这个物体来说,那个侧面的空洞需要我们特殊照顾一下将其内部的面单独展开,其他部分我期望将其近似于一个长方体那样展开,考虑到摄像机视角,所以我在背对摄像机的那一边布置接缝。
如何将一个边转换成接缝?你需要选中你所需要转换成接缝的边,然后在编辑uvw窗口的炸开卷栏的左上方找到断开按钮图标,那条边从白色变成高亮绿色后便代表你已经将选中的边成功设置为接缝。

然后你就可以将这个物体想象成牛奶盒了,对于这个物体,我的想法将那个圆柱形孔内的面切成一个单独的长方形并扔出来,然后其他部分像长方体展开规则那样布置接缝。
布置好所有的接缝以后,再次选中面可以发现选中一个面时,那个面所在的区域也会被一并选中,这样我们就可以在编辑uvw窗口里将孔内部分与外壳部分轻松分开。

仔细想想,孔内的贴图需要展平只需要沿着边缘剪开就可以展平了,当然,待剪开的边缘我已经在刚才的切边过程中完成了,此时选中这个部分的面,先点击重新塑造元素卷栏中最右边的按钮“拉直选定项”,然后再点击剥中的快速剥便可快速将此部分变成一个可以直接用的uv。

由于这是一个台体,所以另一个部分的展开注定不会像这个部分那么简单,我们首先对另一个部分进行快速剥操作,然后进入松弛选项。由于这个物体的表面有圆形孔洞,于是我选择由多边形角松弛的方法进行松弛,这样,在进行过剥操作与松弛操作以后,表面部分的uv也被轻松的拆了出来。

当然,这个部分的底边有点歪,本着一个物体的正面贴图尽量是直立放置的原则,我把它小小的旋转以下以让底边平行于uv底边。最后,选中已经拆好的uv的两个部分,右键紧缩uv将其按照妥善的步骤紧缩,拆解uv的工作也就大功告成。

从上述拆解uv的全程可以看出,拆uv的本质就是对快速剥,松弛,断开边与缝合边,拉直选定项与紧缩uv功能的正确使用。在看了这个案例以后,各位也可以自己做一些没有炸边或是没有面翻转的模型(如果你要拆uv,就别用布尔(不是高级布尔)与附加这俩功能,并且在做模型的时候尽量把面都正确分割)然后去尝试怎么拆解他们的uv,我相信通过一些练习大家很快都能掌握拆uv的技巧与窍门。
到此,从寻找贴图到搭建场景,使用3dsmax独特的uvw贴图修改器给物体上贴图再到简单物体的uv拆解,给红警2模型上贴图的几个我以前专栏里没细说的关键步骤在此我就都介绍了一遍。
五.后记
随着一篇又一篇专栏的书写,我自己的个人能力也在随之增加。最初我写第一篇专栏的目的也只是当做一个学习笔记,记录我学习这些知识的过程罢了。写了这么多我也发现,拥有自己的笔记来帮助复习已经学习的东西是多么重要。
最后祝大家在2023年上半年工作学习都能顺利进行,也祝大家能在远离疫情封控那段日子以后,身体还能保持健康。