Stay Connected

A smart wordpress theme for bloggers
次世代全流程建模学习

次世代全流程建模学习

引言

经过练习,次世代流程的建模路线基本走通了。整个流程浅显易懂,但因为涉及多个软件之间交换模型、贴图的行为,所以也存在着许多兼容方面的坑。这篇blog主要通过一个简单案例,来解析次世代流程的步骤和要点。

Part0. 流程回顾

次世代流程主要分为几步:1、搭建中模;2、材质拆分与uv拆分;3、雕刻高模;4、优化低模;5、烘焙法线;6、贴图制作;7、渲染出图;8、后期合成(可选)。

这里面有几个概念还是要明确的。首先如何区分高、中、低模?我们正常情况下直接做出来的硬表面模型,在完成了倒角、卡线等细化操作后,得到的就是“中模”;接下来我们对它进行多次细分,模型面数会翻上百倍,此时用雕刻软件进行细节上的刻画,得到的就是“高模”;最后我们将中模的一些不必要的布线、大部分卡线全部删除,在保证外形的情况下得到布线最精简的模型,就是“低模”。

那么高、中、低模的意义分别是什么呢?考虑到游戏的性能,我们一般只会将低模应用到游戏引擎中。由于低模的结构过于简单,外观很扁平,所以需要用法线贴图里提高它的表面质感。法线贴图从哪里来呢?自然不可能是画的,而是需要我们制作一个面数非常高的模型版本(即高模),从它的身上烘焙一份法线数据出来,再应用给低模,这就是高模的意义。然而高模无法由低模直接细分得到,需要先对模型进行卡线、倒角 做成中模,才能直接细分成高模。这就是高、中、低模的概念和意义,下图是三者的布线对比:

我习惯上喜欢用blender、maya、zbrush、substance painter、Marmoset Toolbag(八猴)这几个软件来走流程,有时遇到怪奇的花纹材质时可能还需要使用substance designer来制作通用纹理,遇到缠绕的布料要用marvelous designer来模拟布料形状。不过sd和md不到万不得已时用不上,毕竟sd纹理可以在网上白嫖,md的物理功能也在blender中有下位替代。

本篇blog为了便于演示,我选择了一个难度较低、流程较明确的案例:CF中的轻型军用手斧,参考图如下:

下面演示一下各个流程。

Part1. 搭建中模

硬表面建模的基本功,所涉及的操作并不复杂,无非就是拽点、挤出线、环切面、内插面这些挤出操作,极偶尔会涉及自由切刀。不过最后会涉及卡线,这里坑比较多。

我们可以从握柄开始做,直接套长方体就可以:

接下来是拐角处,就是拉一个大的长方形,内部多次进行环切并拽点即可。在做完外层后,内插一个内层出来即可:

外面这层一身凸点的柄也是同理,只不过需要更多的环切次数,来还原底部的两个尖端:

接下来是硬表面部分的最大症结,即刀锋中间的这个迷彩层。它的右下部分有一个圆滑的角度,算得上是一个结构难点。这里简单展示一下我的分析布线,并非最优解,大家可以自行探索。

最后是刀锋,结构相对简单一些,先定外形,然后内插,最后再环切来定位关键顶点:

螺丝部分太简单,略了。接下来我们要进行卡线,我的建议是直接打开曲面细分修改器,刚打开修改器时模型会发生严重的塌陷:

我们接下来就要通过卡线来拯救这个塌陷的模型。示例如下,在中间进行一次环切,将切线向左拉,就可以将左侧的线变直:

同理,我们要从不同的位置、不同的方向重复环切,直到将模型的塌陷状态全部修复:

好了,刀锋部分的中模就完成了。同理,其他部分也要给表面细分修改器,然后挨个进行卡线修复,直到整个模型在细分的情况下完全不出现形态崩坏:

中模基本就完成了。这里可能会有人问,迷彩层上面的圆孔还没做啊?事实上这种圆孔我不推荐在中模阶段做,因为这个圆孔是典型的布尔(破坏型建模),会产生很崩坏的布线。即使通过拉顶点的方式将布线勉强修复,一旦上了细分,依然会发生严重的崩坏:

能修吗?能。要多久?至少仨小时。。。所以我很不推荐在中模玩布尔,不妨等到低模完成后再在低模上挖这些洞。

现在中模就做完了吗?并不,此时要检查三件事:

1、多次细分以后,模型是否完全不会塌陷?是否有卡线失败的位置?

2、是否存在超过四边的面?是否在关键部位存在三角面?

3、是否出现法线倒转的面?

只有将这几个坑点全部避开,中模才算正式完工。

Part2. 材质拆分与uv拆分

拆材质比较简单,将手斧的不同部分给不同的材质球即可。下面说说uv拆分。

那么为什么要做高模之前拆uv呢?假如我们先做高模再做uv,高模会提供极其恐怖的面数,此时要手动拆的uv数量就更加恐怖了。如果先在中模做好uv,再放到高模细分,zbrush是可以根据中模的uv来自动计算高模中 细分出来的面的uv的,就很方便。

手斧的uv其实拆起来相当简单,因为它很薄,所以我们有很多种拆分方式,在blender中我总结了3种:

1、标记缝合边式拆分:

我们选中最外层的一圈环线,将它作为展开的剪切缝合线。

为什么选择了最外层的环线呢?因为我们知道,剪切线上一般会发生纹理的突变(因为uv被拆开了会离得很远),而边缘部分是 即使发生突变也不容易被察觉的地方,因此我们可以选择从这里展开:

这是最朴实的做法,当然,很多人为了偷懒,连缝合边都懒得拆,所以接下来的两种方法都特别简单,基本上是一键式的:

2、blender的智能uv拆分

blender的智能uv尚且功力不足,但是处理这种超薄模型还是给力的,设置如下:

然后我们就可以看到 blender通过自动计算折角,来自动选择缝合边并撕开:

整体没有问题,但是个别面的面积太小了,需要手动拉一拉。

3、视角投影式拆分

最暴力的做法,没有之一!这种做法只对超薄的扁平模型有效:

讲究的就是个所见即所得!拆出来的uv很平展,没有断裂,但有一个缺点就是正面和背面的uv会重叠,解决办法是 对正面和背面分别做一次视角投影拆分,然后将两部分从uv图上分离开。

4、Maya的智能uv拆分

Maya至今仍是最强的拆uv的dcc工具,尤其是拆一体式模型十分智能,这点确实比blender要强一个档,大家自行感受:

不得不说,maya的uv拆分真的可以用“美学”一词来概括了orz

不过对于简单的模型,我还是倾向于直接在blender里做,毕竟不涉及模型的导入导出,可以规避很多兼容性的问题。

Part3.雕刻高模

zbrush,启动!先将我们的中模导入,生成多边形网格数据。如果此时提示:你的网格并非都是四边形,那说明你的中模做的还不到位,回去检查是否存在五边面、六边面甚至32边面(也就是圆),将他们手动剖分成四边面或三角面。

第一步我们直接在“几何体编辑”中对它进行细分,最好细分4-5次,此时用笔刷雕刻能够有精细的感觉。如下图所示,细分不够的话会像左图,没法雕出很精细的刻痕,而细分到位了就可以雕出右图的感觉:

接下来简单说几个常用的笔刷。

standard笔刷适合用来做小的凸点和凹点:

move笔刷适合用来做边缘部分的推拉:

clay笔刷时候用来给表面黏着一层平整的雕塑:

damStandard笔刷适合做划痕:

blob笔刷适合做一些大面积的轻微扰动:

认识了这些笔刷后,可以对斧头做一些简单的雕刻了。我的经验一般是:边缘处可以酌情使用move改变走势,金属表面可以做一些damStandard的划痕,非金属物件可以用blob或者standard做一些小的凸点和凹点,对于特别脏的、年久失修的器物可以用clay雕一层土、锈之类的痕迹。感受一下雕刻后和雕刻前的差异:

雕刻过程中可以动态调整细分级数,不要低到雕刻痕迹太粗糙,也不要高到电脑开始卡,一般保持4-5级细分就好了。过程中切忌大改外形、移动旋转模型,会导致后续烘焙法线失败!

4、优化低模

首先我们把中模上的表面细分修改器删除,然后适当将卡好的线融并掉。适当留少量的卡线可以体现出倒角的效果,不会让低模看起来太诡异。之后的低、中、高模布线大概是这个样子:

低模其实可以进一步优化,将不影响外形的布线全部融并,具体优化到什么程度需要看游戏是什么体量的,如果游戏的优化太差了那还是能少点面就少点面吧。。。

5、烘焙法线

这一步主要是使用sp来烘焙法线等信息。我们需要先导入高模,然后在左侧勾选需要烘焙的贴图类型。一般来说,Normal、ID、AO都是必需烘焙的,对之后的材质结果有非常大的影响。至于World space normal几乎没用,剩下的Curvature、Position、厚度其实是推荐烘焙的,因为sp有一些智能材质和智能遮罩,它们会根据模型的厚度信息、位置信息、曲率信息来自动规划各个材质层的分布,提前烘焙好这些信息可以让智能材质物尽其用。

烘焙完以后要检查几件事:

1、法线是否正常?如果出现不正常的法线,模型身上的光照效果出现突变、撕裂,这意味着高模有着不正确的拓扑,追溯到最早应该是中模的拓扑有严重bug;

2、AO是否正常?如果出现不正常的AO,模型身上会出现奇怪的黑色痕迹,这意味着模型的部分面可能存在法线翻转的bug;

3、各个材质层是否都正常?如果出现不正常的材质层效果,比如不同材质之间互相串色,这意味着uv可能存在重叠bug。

此时我们应该看到,我们导入的低模已经拥有了高模的一些雕刻细节,并且受ao影响,模型表面也有了亮暗的调子。

6、贴图制作

这部分就是sp的基本功了,对于手斧这种 金属和非金属材质都很典型的例子,只需要叠几层智能材质就ok了。

我们先来看手柄部分:

手柄部分就是一层脏钢智能材质 套一层灰尘。金属度不要给得太高,然后握把处的脏迹要突出一些(毕竟经常被人握)

刀拐角处的材质比较巧,有现成的智能材质,不过需要预先调节一下纹理大小:

可以再额外调节一下纹理上的黑白印记的分布,不要太集中也不要太稀疏。

刀锋的材质也很简单,只需要一层带锈迹的铁即可,不过需要稍微调一下智能材质里各个涂层的属性,例如脏迹、灰尘、表面起伏细节等,给的不要太高,不然看起来刀锋会很钝:

最后是迷彩,好在sp中配了迷彩的预设,不过颜色都是花花绿绿的。我们可以通过调节智能材质的属性,来设置成黑白色调的迷彩:

这样材质就做的差不多了。其实材质部分可以探讨的内容很多,但是篇幅限制原因,只能简单说下用了哪些智能材质,图层顺序什么样。至于具体要调哪些参数、怎么调,只能根据大家自己的审美来完善了。

接下来我们导出这些贴图:

这样贴图就准备齐全了。

7、渲染出图

回blender的第一件事是把布尔做了,用布尔工具在低模手斧上挖掉那7个洞,挖完洞以后要将面三角化,不然会产生大量的5+边面:

然后我们开始贴材质。一共n套材质,它们的节点大概都是这样子:

就这5张图,base color、ao、roughness、metallic、normal,至于heightmap几乎只能用在高模上,没什么意义,可以丢掉。在这里我们依然可以做一点简单的调整,比如如果粗糙度整体偏大/小了,我们可以加一个运算节点来修改贴图结果。

环境光我使用的是默认的studio光照:

接下来我们开始渲染。渲染有两个选择:1、实时渲染eevee;2、光追渲染cycles。对于这种环境空旷、拓扑结构简单的模型,其实两者的渲染结果不会有太大差异:

能看出哪个是实时渲染,哪个是光追吗?看不出来就对了。

不过blender的渲染功能算不上优秀,最终还是需要导入到Marmoset Toolbag(八猴)中渲染。将模型和贴图导入到八猴中,将贴图配好:

注意,它的贴图顺序和一般渲染器是不一样的,所以要注意看每个贴图的英文,不要贴错位置了。尤其是roughness和metallic很容易贴反。

对于环境光,我们可以自由更换环境贴图,不过八猴默认的就是studio光,还是挺适合这把手斧的,所以我没换,只是调整了下灯光的强度信息:

在这张环境贴图上点击像素,可以在当前位置放置一盏光源。我在大灯上面补了个光源,并将这个光源的强度拉大、将环境贴图整体的曝光降低,相比于直接使用环境贴图(上图)这样可以照出一点层次感(下图):

8、后期合成

对于手斧来说,只有后期,没有合成,所以用不上nuke这类软件。。。直接用ps或者光影魔术手糊一下就完事了。

一般来说就是补一下对比度来加强金属感,同时调整一下亮度和曝光度来控制光影,最后糊个滤镜就完事了:

注意:金属类器件的渲染图 尽量不要动饱和度,即使动也是往低拉。

结语

轻型军用手斧是相对比较简单的次世代流程案例,但是麻雀虽小 五脏俱全,该有的流程它倒是一个都不落,因此我选择通过该案例来作解析。当然,了解流程还只是个起点,后续的硬表面布线、卡线、(布料模拟)、uv拆分、雕刻、烘焙、纹理绘制、材质混叠、渲染打光、后期合成都是需要大量练习的。

You may also Like

Leave a reply

Your email address will not be published. Required fields are marked *

Stay Connected

Instagram Feed

×