creating next-gen environment textures using total textures
作者:daniel vijoi, lead texture artist - amc studio
这个教程适合中水平建模和贴图的读者,我在这里不会一步一步的介绍整个制作过程,这里只介绍次时代游戏开发中的特色部分。而这些部分的制作方法不是固定的,在我们的制作组里采用了很多种方法,这里我们将介绍总的制作方法。
我的灵感来源于典型的美国农场,加入了一些英式的风格来增强建筑和环境的个性。就算场景整个来说是比较写实的,但是细节来说,比如比例,物体的位置,颜色等都有一点夸张,来让游戏看起来更有透视感。这当然取决于游戏的类型,因为玩家在游戏里的位置在此是很重要的。制作多少细节是由玩家与物体的距离,还有玩家是否经常看这个物体所决定的。这些要求常常解释为多边形和贴图数量的限制。 、
[next]这里使用的软件是maya和photoshop。
分为以下5步:
收集材质和参照图
概念设计
建模和uv
贴图展开和uv
绘制贴图
1.收集材质和参照图
这步里我收集了参考照片和农场上的物体的图片,仔细的挑选,注意要保持风格的一致,让他们看起来是同一个年代的,相互呼应。这里我要做一个屋子,一个小水塔和一个货车。通常,像水塔和货车这样的物体都叫做道具。
颜色和细节在之后都会做一些修改来让各个元素看起来更协调。
2.概念设计
有了这些参考图片,我画了一些场景里要用到的细节的速写,还加了一些多余的细节,这部分细节在之后的制作里可能因为技术限制而被取消。
这些草图是之后更为详细的概念设计的基本,之后会加入颜色,材质,反射还有更有立体感 和建筑感 的经、喇叭。详细的概念设计会使用到sketchup这样的软件,但在这个教程里,概念设计只是用做基本物体方位和比例的参照。
[next]3.建模和uv
用其中一张概念设计图,我估计了一下房屋的维度,做出了大体的形状。之后,会一步一步加入细节。
同时,我要注意不要做太细小的或者是用太多多边形完成的细节。因为这些都是可以靠贴图来完成的。依据游戏引擎来判断细节是用多边形来完成还是用贴图来完成。确保结果是最佳的,最好是让同一个人来做建模和贴图。在游戏工业里,加快执行速度是很重要的。建模里出现的任何看不到的,多余的细节都必须移除。网格大多都得是四边形,只有在四边形不能用的地方才能使用三角形。
以下介绍一下一些典型的可以用多边形完成的细节:
图是我建模窗户和优化屋顶的过程:
别外,以优化几块斜靠在墙上的厚木板为例。在之后会通过贴图加入一些细节,这些细节包括缺砖的墙面和厚木板的形状。
[next]以上两个例子是为了强调几何体在贴图之后还需优化这一事实。比如,如果我们在贴图前做了缺砖的细节,贴图时会遇到一些麻烦,反之,就方便多了。
正如你所见,几何体是低精度的,因为很多的小细节,像砖,屋顶的瓦片,木板等都是可以在贴图的时候用法线贴图来完成的。所以在这里,只有大体的形状会用几何体来表现,因为几边形的数量限制是1300个三角形。水塔要用将近1000个三角形,因为它的圆形需要很多的三角形来表现。如果做细节,这个车需要2500个多边形。不过,玩家不能去开车,所以不用为车做内里,这样,车也不用做太多的设定,比如车门不用做成可开合的。
通常车对玩家来说都是一个可以藏身的地方,水塔则可以眺望远方或者点火。这些操作细节在建模时都必须考虑到,因为有的东西是可以用的,所以场景里要为这些东西留一些空间,这样才能让玩家够到这些物品,而不至于被卡住。次代游戏意味着玩家可以去,可以近距离看到大部分的物体,这样就要求贴图的分辨率要很高,并且和旁边的物体的分辨率保持一致。
[next]从建模一开始,我们就要让模型保持在最终的多边形数的限制以内,因为一些细节在之后还会添加进去,或者需要加一些边来帮助完成贴图。
游戏艺术家通常遇到的一个问题是两个选择:是要用低精度建模后再按需求增加多边形数,还是一开始就用高精度模型,最后再按限定来减少多边形数目。每个艺术家会根据自己的喜好选择不同的方法。通常,游戏建模中,轮廓没有房屋的比例来得重要。一个复杂的轮廓会让人错以为物体有很高的分辨率。
正如之前提到的,我会加一些细节在房屋的轮廓上,比如缺瓦的屋顶,木块,碎片,突出或者是陷入的砖块,破碎的楼梯等等,这些细节让房屋看起来更自然,所以它们会放在玩家能够轻松到达的地方。
在展开uv之前,我们要确保几何体很干净,场景已经组织好了,这个场景是通过命名和给物体分层来组织的,同样的,用outliner我们可以把场景中不必要的节点删除。
[next]确保删除无误后,我们用以下的步骤来整理场景。 file->optimize scene size 和edit>delete all by type->history来确保物体的法线都是正确的,你可以用backface culling来看法线的方向是否正确。
下图是房屋和水塔的uv展开图。用棋盘材质图,我们能看到所有的多边形是不是有同样的分辨率。这些uv在贴图的时候会作很大变动,来让我们找到最好的贴图方式。
4.布局,材质和uv
虽然我们说是uv布局,但布局事实上是指在photoshop中的画纸上怎么摆放所有的细节。最简单的方法完成这个是在一张纸上试着摆放不同大小的区域来找到一个最好的布局,而尽可能用最小的贴图大小。正确与否的衡量方法是看是不是保持了正确的大小关系。所以几何体表面积越大,它的贴图占用的空间应该越大。在这里,主要的部分有砖墙,屋顶和小棚的墙,像门窗那样的细节也会被包括进来。
[next]正如你所见,房屋和道具不是用专门的,像角色使用的那样的uv空间。所以这样的uv是通过以下3步合成的:
1.展开uv(建模完成后就可以做了)
2.材质布局(在photoshop或者是纸上完成)
3.贴图(在maya中完成)。这是在材质完成后,当uv已经准备好可以用于生成材质后。
在左边,这量个蓝墙的材质,在顶和底部都有点脏。为了让它的用途更大,材质在垂直方向上有压缩,这样只用比较小的空间就能完成墙面的材质。右边的图显示的是水平布局,还有圆形的布局。这些布局都必须和相应的几何体匹配。
下面是两个物体的材质贴图。
回到主要的场景方面,我试着去优化材质的数目和大小,同时保持足够大的空间来添加细节。
第一部分是房屋的主要材质,有1024x1024那么大,这包括了长砖墙,木墙和门窗,楼梯等等。屋顶的瓦是用另外的一个512x1024的材质图,下面的左边那张图是512x512的水塔的材质图。256x256的alpha贴图会用在钢架和楼梯的制作上。这个贴图能帮我省很多多边形。材质方面,车还需要1024x512。
[next]如你所见,车罩部分缺少灰尘等其他细节来让镜像看起来没那么明显。同样的,后部也有同样的问题。
同时,值得注意的是材质没有照明。引擎会根据几何体形和法线图的细节来添加灯光和阴影。划痕等细节在与法线贴图结合后看起来效果会好很多。
在漫反射图上添加阴影也会影响到引擎的细节,让物体看起来有些失真,所以最好不要用。
下图里,你会看到最终的法线图的生成,与房屋用的是一样的方法。金属制品是在crazybump里生成的,这样看起来更真实。
这个场景 的最终渲染效果:
回想一下,整个场景里大多用的都是一种方法,只在具体的一些物体上有一些细微的差别。每个物体都要有细节的变化来吸引玩家。但是最主要的还是场景的最优化。
评论