次世代场景纹理再现老农场

2015-10-14 16:04:04来源:作者:人点击

来源:CG王国

Creating Next-Gen Environment Textures using Total Textures作者:Daniel Vijoi, Lead Texture Artist - AMC Studio

这个教程适合中水平建模和贴图的读者,我在这里不会一步一步的介绍整个制作过程,这里只介绍次时代游戏开发中的特色部分。而这些部分的制作方法不是固定的,在我们的制作组里采用了很多种方法,这里我们将介绍总的制作方法。

我的灵感来源于典型的美国农场,加入了一些英式的风格来增强建筑和环境的个性。就算场景整个来说是比较写实的,但是细节来说,比如比例,物体的位置,颜色等都有一点夸张,来让游戏看起来更有透视感。这当然取决于游戏的类型,因为玩家在游戏里的位置在此是很重要的。制作多少细节是由玩家与物体的距离,还有玩家是否经常看这个物体所决定的。这些要求常常解释为多边形和贴图数量的限制。 、

这里使用的软件是MAYA和Photoshop。

分为以下5步:

收集材质和参照图概念设计建模和UV贴图展开和UV绘制贴图1.收集材质和参照图

这步里我收集了参考照片和农场上的物体的图片,仔细的挑选,注意要保持风格的一致,让他们看起来是同一个年代的,相互呼应。这里我要做一个屋子,一个小水塔和一个货车。通常,像水塔和货车这样的物体都叫做道具。

颜色和细节在之后都会做一些修改来让各个元素看起来更协调。

2.概念设计

有了这些参考图片,我画了一些场景里要用到的细节的速写,还加了一些多余的细节,这部分细节在之后的制作里可能因为技术限制而被取消。

这些草图是之后更为详细的概念设计的基本,之后会加入颜色,材质,反射还有更有立体感 和建筑感 的经、喇叭。详细的概念设计会使用到SketchUp这样的软件,但在这个教程里,概念设计只是用做基本物体方位和比例的参照。

3.建模和UV

用其中一张概念设计图,我估计了一下房屋的维度,做出了大体的形状。之后,会一步一步加入细节。

同时,我要注意不要做太细小的或者是用太多多边形完成的细节。因为这些都是可以靠贴图来完成的。依据游戏引擎来判断细节是用多边形来完成还是用贴图来完成。确保结果是最佳的,最好是让同一个人来做建模和贴图。在游戏工业里,加快执行速度是很重要的。建模里出现的任何看不到的,多余的细节都必须移除。网格大多都得是四边形,只有在四边形不能用的地方才能使用三角形。

以下介绍一下一些典型的可以用多边形完成的细节:

下图是我建模窗户和优化屋顶的过程:

别外,以优化几块斜靠在墙上的厚木板为例。在之后会通过贴图加入一些细节,这些细节包括缺砖的墙面和厚木板的形状。

以上两个例子是为了强调几何体在贴图之后还需优化这一事实。比如,如果我们在贴图前做了缺砖的细节,贴图时会遇到一些麻烦,反之,就方便多了。

正如你所见,几何体是低精度的,因为很多的小细节,像砖,屋顶的瓦片,木板等都是可以在贴图的时候用法线贴图来完成的。所以在这里,只有大体的形状会用几何体来表现,因为几边形的数量限制是1300个三角形。水塔要用将近1000个三角形,因为它的圆形需要很多的三角形来表现。如果做细节,这个车需要2500个多边形。不过,玩家不能去开车,所以不用为车做内里,这样,车也不用做太多的设定,比如车门不用做成可开合的。

通常车对玩家来说都是一个可以藏身的地方,水塔则可以眺望远方或者点火。这些操作细节在建模时都必须考虑到,因为有的东西是可以用的,所以场景里要为这些东西留一些空间,这样才能让玩家够到这些物品,而不至于被卡住。次代游戏意味着玩家可以去,可以近距离看到大部分的物体,这样就要求贴图的分辨率要很高,并且和旁边的物体的分辨率保持一致。

从建模一开始,我们就要让模型保持在最终的多边形数的限制以内,因为一些细节在之后还会添加进去,或者需要加一些边来帮助完成贴图。

游戏艺术家通常遇到的一个问题是两个选择:是要用低精度建模后再按需求增加多边形数,还是一开始就用高精度模型,最后再按限定来减少多边形数目。每个艺术家会根据自己的喜好选择不同的方法。通常,游戏建模中,轮廓没有房屋的比例来得重要。一个复杂的轮廓会让人错以为物体有很高的分辨率。

正如之前提到的,我会加一些细节在房屋的轮廓上,比如缺瓦的屋顶,木块,碎片,突出或者是陷入的砖块,破碎的楼梯等等,这些细节让房屋看起来更自然,所以它们会放在玩家能够轻松到达的地方。

在展开UV之前,我们要确保几何体很干净,场景已经组织好了,这个场景是通过命名和给物体分层来组织的,同样的,用Outliner我们可以把场景中不必要的节点删除。

确保删除无误后,我们用以下的步骤来整理场景。 File->Optimize scene size 和Edit>Delete all by type->History来确保物体的法线都是正确的,你可以用Backface Culling来看法线的方向是否正确。

(点击原图看大图)

接下来,这里有一些常犯的建模错误:

建模完成后,我们接下来要展UV了,这步不是UV最终的展开情况,我们只是将UV全展开。比如说,如果项目要求128像素/米,那么一个4m x 4m 的区域就需要512x512的贴图,而一个2m x 4m的区域就要求256 x 512的像素。场景里的砖墙有2米高,所以就高度而言,它需要一个256像素的贴图,当然厚度也需要额外计算。作一面长砖墙,会用去我们很多的贴图空间,如果我们要保持分辨率的原则。

下图是房屋和水塔的UV展开图。用棋盘材质图,我们能看到所有的多边形是不是有同样的分辨率。这些UV在贴图的时候会作很大变动,来让我们找到最好的贴图方式。

(点击原图看大图)

4.布局,材质和UV

虽然我们说是UV布局,但布局事实上是指在photoshop中的画纸上怎么摆放所有的细节。最简单的方法完成这个是在一张纸上试着摆放不同大小的区域来找到一个最好的布局,而尽可能用最小的贴图大小。正确与否的衡量方法是看是不是保持了正确的大小关系。所以几何体表面积越大,它的贴图占用的空间应该越大。在这里,主要的部分有砖墙,屋顶和小棚的墙,像门窗那样的细节也会被包括进来。

正如你所见,房屋和道具不是用专门的,像角色使用的那样的UV空间。所以这样的UV是通过以下3步合成的:

1.展开UV(建模完成后就可以做了)

2.材质布局(在photoshop或者是纸上完成)

3.贴图(在maya中完成)。这是在材质完成后,当UV已经准备好可以用于生成材质后。

在左边,这量个蓝墙的材质,在顶和底部都有点脏。为了让它的用途更大,材质在垂直方向上有压缩,这样只用比较小的空间就能完成墙面的材质。右边的图显示的是水平布局,还有圆形的布局。这些布局都必须和相应的几何体匹配。

下面是两个物体的材质贴图。

回到主要的场景方面,我试着去优化材质的数目和大小,同时保持足够大的空间来添加细节。

手绘的布局方法如下图所示:

(点击原图看大图)

第一部分是房屋的主要材质,有1024x1024那么大,这包括了长砖墙,木墙和门窗,楼梯等等。屋顶的瓦是用另外的一个512x1024的材质图,下面的左边那张图是512x512的水塔的材质图。256x256的alpha贴图会用在钢架和楼梯的制作上。这个贴图能帮我省很多多边形。材质方面,车还需要1024x512。

如你所见,草图不够精确,它只是让设计者知道元素的摆放,所以这里没有余下的空间。假如有需要更多的材质,比如一些物体最后需要放大,因为分辨率提高,这当然做的时候要小心,因为这样会让分辨率不一致。这是一个我画的格子,每个大小都是128像素,来让工作更简单。

漫反射贴图

因为这是一个写实的建筑,材质必须仔细的选择。它们必须有很多的细节,不能模糊,不能有人工修饰的成分。最重要的是加入一些有趣的细节,而颜色可以在photoshop中调整。

有一些细节夸张点看上去更好,虽然我们做的是真实感很强的贴图,但是让物体和建筑有一些独特的风格是很好的。建筑应该通过色彩,风格等来诠释。源图必须调整一下,不至于看上去色彩单一,过时的老旧建筑。材质必须做得真实,可信来弥补几何体的不足。

独立的细节必须有很大的区别,并很好的放置在材质图上来避免明显的重复并更容易让人理解。

在Photoshop中有一点要避免的是:层混合模式。要尽量使用正常,不过,在不影响最终效果的前提下,覆盖等其他方式也是可以用的。

层 这类的元素不应该滥用。用得太多了会不好管理,特别是没有给它们命名和正确分组的情况下。最好的是用尽量少的层,只留下那些特殊的细节,比如颜色,立体感特征。有一些层能帮助生成其他的层,比如法线能方便的生成高光图。

下面是墙壁材质的例子:

Height map 高度贴图

为了生成好的法线图,我们首先要做等高图。生成的方法是用凹凸通过nVidia Photshop插件来转换成法线贴图。法线图首先要仔细研究漫反射材质,因为它看上去只要将图降低饱和度后在nVidia 滤镜里跑一下,就可以生成了,但是这样得不到想要的效果。等高图必须在层里先用一个灰度来确定细节,然后再把细节加进去产,这样的步骤才能保证最终的效果。

从左上的图你能看到等高图里慢慢加入了细节。右边的图是具体的细节加入的情况。每一层高度都能转换成一个法线贴图,然后叠加模式选为叠加。需要强调的层就复制一下,这样效果就更明显了。当然,你也可以调节层的透明度来控制。

高度图生成的过程是很重要的,因为好的高度图的生成能大大减少法线贴图的工作量。

Normal map法线贴图

下图是改进法线贴图的步骤。一些地方要强调,只要复制有这些地方的层,并叠加。更明显的细节是不能直接用滤镜来生成的。

更好的转换结果可以用CrazyBump来完成,它会计算材质的深度来生成法线贴图。它还能通过材质的大小和细节来分别对待不同的材质。通常,这个软件适用于较大的细节。另一个用途是它生从图片中提取出平行光源。结果能生成环境图,等高图,凹凸图等等。这些也能用来增强材质的效果。

另外,这是nVidia Normal Map Filter 在此教程里的参数设置:

Specular map 高光贴图

高光图只要是指示有多少光从表面反射回来的。木材,砖,水泥等的反射度很低,而像玻璃,金属等就有较高的反射度。为了正确的生成法线图,高光图必须很小心的研究。一些3D引擎只要用灰度的图就行,一些则要彩色的。

下图是最终的高光图的一部分。亮的地方是窗户,暗的地方是污点。接下来,金属的表面有一个较高的反射值,不过,其上的污点部分刚反之,像门把,钉子,铰链等地方都要这样来处理。最暗的地方是砖,水泥和木材。当然,如果木材是油漆过的,反射度就会高些,一些湿的砖或者抛光过的砖也会高些。还有一个原则是旧的东西比新的东西反射值低,因为受到污点,灰尘什么的影响。

一般,高光图会比漫反射图的对比度更高。

贴图的过程要求设计者在每次材质保存后,在3D视图中仔细的检查,在完成所有的材质后再来调整材质的亮度和颜色也是可选的。一个原因是在法线贴图和调光贴图完成后,物体的视觉效果会有很大的改变。

5.绘制贴图

因为之前的布局,在材质图上已经没有多余的空间可以利用了。同时,UV镜像也要尽量避免,因为这会产生蝴蝶效应。

同样的,缩放UV时也要注意保持比例,以避免分辨率的不同。

这些问题的效果在下图中都有所展示:

下图是UV的主要贴图,如你所见,所有的地方都用上了。

在整个建筑贴图后,还有一些空间来添加一些像变形,损坏的瓦片那样的细节。这样估能让几何体材质细节更容易生成。

水塔也是用同样的方法完成的,我试着保持一样的材质来保证分辨率。相同的材质用在了屋顶和蓄水池的底部。除此之外,我的架子上还用了256x256 alpha贴图。

总之,技巧因建筑的不同而不同,但是方法变化都不太大,主要的最优化,不管是几何体,UV还是贴图方面,这些都必须在不改变物体外形的基础上完成。

接下来,我们要用不同的方法来完成货车了,因为交通工具的制作方法是不一样的。这就意味着在建模完成后,UV就得在材质完成前先做好。

上图的上半部分是货车一开始的造型,下面是报废后的造型。这样做的好处是我们可以根据情节使用不同的模型。

下图是完成后的UV,展开了,放到合适的大小以便使用更大的材质空间。

(点击原图看大图)

生成这类交通工具的UV必须仔细参考图片,来决定哪些地方要特殊的UV空间,因为有的部分不能镜像或叠加,不然会看出人工的痕迹。仔细参照图片看要加入哪些细节。布局决定了大部分的材质都得镜像,但是一些特殊的地方,像坐仓,缓冲器,散热器等都不能镜像得到。下面是镜像后得到的细节图:红色的部分有着同样数目的UV。

车的侧面也能镜像,因为在同一时刻它们不会被同时看到。镜像得到的一些区域需要特别注意,比如车罩和车床。镜像区域的蝴蝶效应能通过添加少量的对比细节来减少。

如你所见,车罩部分缺少灰尘等其他细节来让镜像看起来没那么明显。同样的,后部也有同样的问题。

同时,值得注意的是材质没有照明。引擎会根据几何体形和法线图的细节来添加灯光和阴影。划痕等细节在与法线贴图结合后看起来效果会好很多。

在漫反射图上添加阴影也会影响到引擎的细节,让物体看起来有些失真,所以最好不要用。

下图里,你会看到最终的法线图的生成,与房屋用的是一样的方法。金属制品是在CrazyBump里生成的,这样看起来更真实。

这个场景 的最终渲染效果:

回想一下,整个场景里大多用的都是一种方法,只在具体的一些物体上有一些细微的差别。每个物体都要有细节的变化来吸引玩家。但是最主要的还是场景的最优化。

  本文仅为提供更多信息,不代表火星时代同意其观点或描述,如需转载请注明出处。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台