导言:在下面的这个教程中,来自EA的场景设计师杨安为我们详细讲解了他在工作中创建一个游戏场景一般使用的完整工作流程,主要包括建模、烘焙、导入引擎、绘制贴图、引擎整合、灯光、雾效等内容。
在开始创作前,我首先参考了大量的资料,以及自己玩过的类似游戏所收集的一些画面,使用到的软件有我比较喜欢用的 maya建模, 3ds max烘焙贴图, photoshop绘制贴图等,最终将文件导入UDK引擎打灯光,也就是Unreal免费版的化身。
先看一下在UDK引擎里面截图的效果。(图1) 图1
第一部分:模型制作阶段 1、首先确定场景的类型和风格特点,规划好几个大的模块,因为机械类的场景规格大体都一样,能重复使用的尽量重复使用,这样我们也能节约贴图资源,如果想场景有更多的变化,我们可以变化组合不同的模块,或使用灯光来调节让它变化更丰富些。
创建低模。先用色块分出同样的模型,在做的时候就得计划贴图的精度和需要的张数,根据物体的细节看其他物体能否共用,这样就不必去花时间去做重复工作。(图2) 图2
2、低模备份。再复制一套新的模型,根据单个模块逐个继续细化,具体到每个轮廓,根据物体的不同加不一样宽度的倒角,使其有些结构的变化疏密结合,一定记住在倒角前模型的布线必须是水平的等分的,这是做高模必须的,布线好坏会直接影响到模型的效果。(图3) 图3
3、继续细化模型。为了让模型的倒角更圆滑,达到高模的版本,我们得继续加结构线,卡线尽量卡到模型结构面的关键部位,想倒角锐一点线就卡的窄一点,布线尽量的均匀,避免出现三角面和五边面,如果你前一步做好了,后面的工作就很方便了。(图4) 图4
4、加一些细小的结构,比如钉钉帽帽的细节。在Maya里按3高质量显示,这样可以边做边看高模效果,效果不好地即时修改,电脑性能不好的朋友最好是局部高质量显示,只是看看而已别全显。(图5) 图5
往下,依次逐个完成每个物件的结构。(图6、7、8) 图6
图7 图8
5、最好是前期就导个角色进来做参考,这样比例更好把握。把整个场景的模块都拼到一起看看效果,渲染一张Occlousion通常需要花费大量时间,不过为了效果花些时间也是值得的。(图9) 图9
6、低模几乎就不用做了,根据玩家视觉保留模型细节,我们直接拿最早还未倒角的版本直接分UV,前提是你在做模型第二阶段前,你得备份好另一套模型用来做低模,避免加了很多线后再回头去减面,养成一个经常备份的好习惯。(图10) 图10
7、分UV尤其是比较规则的物体,那么我们的UV等应该分的规规矩矩,UV边界之间保持合理的间距,根据物体的方向来放置UV,一切是为了下一步画贴图更加顺手,同种类型和质感相同的材质尽量分到同一张UV里面,因为在游戏引擎里会根据不同的材质属性设置不同的物理参数,当然具体项目和开发引擎的不同做法和要求也会不一样。
第二部分:绘制烘焙贴图 个人比较喜欢用3ds Max烘焙贴图,因此后面的阶段几乎都在3ds Max里面完成了,把做好的高模和低模用OBJ格式导出,开始烘焙贴图。
1、检查低模的UV。把重复的UV在烘焙前移到UV编辑框以外,给低模打光滑组,根据不同的切面分不一样的光滑组。可以给他设置一个自动调节角度,不满意可以手动再在分。
2、先打开渲染设置栏,按照图标设置打开光线追踪,打开这些选项能够提高烘焙贴图的质量。(图11) 图11
3、只显示要烘焙的高低模。选择低模按0弹出烘焙设置栏,设置贴图输出路径,拾取高模,再调节低模Cage把高模全部包裹住,添加Light map 和Normal map,设置好烘焙贴图的尺寸后点Render。为了避免烘焙贴图时出错,可以先烘焙个小样预览一下,再烘焙高尺寸的。(图12) 图12
烘焙好的Light map 和Normal map效果。(图13) 图13
第三部分:将贴图和模型导入引擎 我们把烘好的贴图和模型导入到Unreal里面进行察看,在3ds Max里面给模型附上一个材质ID,然后导出模型文件。(图14) 图14
这是我在引擎里面的预览效果,由于时间关系,Unreal材质球具体怎么用,我在这里也不多讲了,大家可以去下一些免费的教材,每个模块的功能都有详细的讲解。
第四部分:绘制贴图 写实类的贴图都比较简单,找一些好的贴图素材叠加,具体的一些结构我们都用高模烘焙出来了,把我们烘焙好的Normal拿到Crazybump里生成一张Diffuse贴图。这张图可以将法线图的细节突出出来,起到跟AO相似的作用。
1、我们先分好图层。先分好几大类,每个类别的组里面很多不同的图层,由于都使用了不同的叠加方式和属性,我们在文件还没有完全通过前,保留好这些图层便于以后修改调整。(图15) 图15
2、先在基本图层上分好每块区域的贴图大感觉的颜色,每块单独建立一个图层,便于我们调节每块的颜色,这里我饱和度都给的比较低,我们后面还要继续叠加材质会继续调节颜色。(图16) 图16
3、我们可以边画边在引擎里面预览贴图的效果,观察贴图的细节,不好的地方能即时调整。毕竟我们的最终效果是在引擎里面实现,是要以游戏的形式输出。(图17) 图17
4、根据烘好的贴图在结构边缘手动地绘制一些高光,添加一些微妙的细节没,在一些感觉容易磨擦的结构上画一些细小的刮痕。(图18)
图18
5、叠加金属材质,和一些接缝地方的脏迹。经常接触面会有些油漆的剥落和磨损,可以自己做一个剥落笔刷,因为我们画金属贴图的时候会经常用到这些笔刷,画剥落的图层要单独保留,不满意的地方可以加一个蒙版擦去。(图19) 图19
6、Diffuse贴图完成后,由于之前我们画了一些贴图细节和剥落痕迹,要在法线贴图里面也把这些细节表现出来,以使Normal效果丰富。把画好的贴图打开,用NVIDIA的转Normal map的插件转一张带贴图细节的Normal map,以叠加的方式叠在以前的图层上。(图20)
图20
7、直接复制diffuse贴图到高光层,调节下亮度,加强明暗对比度,加入一些丰富的颜色,让高光产生更多的变化,也可以叠加一些变化比较丰富的材质,最后手动的再画一些细节上去。(图21、22) 图21
图22
第五部分:引擎整合 我的整个场景都是以单个模块组成的,前期在做低模阶段就设置好了尺寸,便于在引擎里面能够无缝的拼接每一个模块,东西虽少但是可以随意的变换组合。(图23)
图23
第六部分:设置灯光 以玩家的视角去看整个场景的感觉,确定整个场景的灯光氛围。Unreal里面灯光能够实显示,可以很随意的调节灯光效果。(图24)
图24
第七部分:添加雾效 由于通道里面到处布满了排气的管道,地面的小孔也会冒上来一些雾气,那么给场景添加雾效,调节参数到满意为止。
下面为最终的局部效果图。(图25)
图25
|