建模完成后,我们接下来要展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里生成的,这样看起来更真实。
这个场景 的最终渲染效果回想一下,整个场景里大多用的都是一种方法,只在具体的一些物体上有一些细微的差别。每个物体都要有细节的变化来吸引玩家。但是最主要的还是场景的最优化