3DSMAX+Photoshop+UDK引擎制作战争游戏场景
baochao转稿
本教程是向大家介绍3DSMAX结合Photoshop及UDK引擎制作战争游戏场景,内容有点多,但制作过程介绍很详细,作者思路也很清晰。其中3ds Max用于模型制作;Photoshop用于绘制贴图;UDK引擎用拼合场景。教程实用性很强,转发过来,希望对大家有所帮助!
教程从初始设定、制作模型、UV贴图,导入游戏引擎,加入迷雾等物理效果。而制作这个关卡使用到的软件有UDK引擎、Photoshop和3ds Max。制作步骤如下:
一、制作设定
关卡故事背景
我们事先拟好了一个任务,然后按任务进行关卡规划,参考了电影《HELLBOY》:“我们在清晨进行突袭任务,目标是这座城镇的德军指挥所。美军得到消息,在这座镇里正进行着一项能威胁人类历史发展的危险实验。德军在此处,展开着对‘跨越时间’的秘密研究,打算制造出时间机器,并用此去改写历史。最近在这个区域已经发生许多奇异的事件,据说跟这个实验有关。应该是快完成的迹象,所以我们G连必须在它们完成之前,捣毁这个实验室。兴许还会遇到来自其他时空的奇怪生物,这些未知”。
整体场景规划及参考图片
“Hold on a second! 情报员刚把德军指挥部的分析图给了我,那就来看看到底有些什么。”这张图片似一张卫星图片,不能提供我们此范围内建筑的所需具体细节,因此我们开始一些侦察任务,找来一系列辅助的图片,来标出每种建筑物的功能和武器配备。依照参考图,把它们分为:德军指挥所、居所、车库、教堂、医务室、小卖部及餐厅、虎士坦克、防空炮。(图01)
图01
下面是整体氛围参考图片。(图02)
图02
二、模型与贴图制作
制作关卡基础模型
首先,我们按照现实中物体比例,对每个模型进行基础模型的尺寸定位。一般一层高度为3米,有特殊底座的房子第一层略高于3米。还有烟囱、门、窗的高度均已现实中的为基准,做到匹配为佳。对每个模型进行规范单位,定出关卡基础模型图。我们每个人就利用规范过的基础尺寸模型制作中模。这样可以避免每个物件出现大小的差异,对最后拼合在一起时是相当有帮助的。
商店前后对比(图03)
图03
关卡基础模型在3ds Max中的截图(图04)
图04
最后拼合在一起的场景(图05)
图05
制作模型:中模和高模
根据场景分析,我们7个人分配好各自的分配任务后,便进入模型制作阶段。我们之前还没有作次世代建筑的经验,这可说是新尝试。我们定了三天,完成每栋建筑的中模和高模。对于高模,通过分析各自建筑,找尽可能有直接相联系的参考图,加细节来表现建筑的特点。
由参考图分出的七种类别 (六栋建筑和一个机械体),各由七个人来完成,而预计每人制作完成的时间为1个月。对于每个建筑和机械面数的限制:居所、车库、教堂、医务室为5000面。其中主建筑德军指挥所,使分为室外与室内部分,面数限制为40000面。而虎士坦克、小卖部及餐厅的面数限制均为20000面。
对中模和高模的要求,是要把各自建筑独有的细节特点建造出来。举例:商店的橱窗、教堂的大门、,以及指挥所的层间护边。这些的作用在于,可以在贴上法线贴图的低模上用较少的面数来体现出它们的细节。
由于制作的模型较多,我们这里仅示意其中虎士坦克的制作模型作为举例:(图06)
图06
低模与UV
低模需要简练些,起不到结构变化的部分,就要剔出。用最少的面,表现出最好的效果。分UV时,要合理共用,并要考虑接缝的问题。将接缝放于不显眼的地方,如放于边缘处,或可用其他物件遮盖住的地方。为避免重复,可以用改变模型或UV的方式来产生变化。
另外,在团队合作中也可以和别人分享UV来,将省出很多时间。例如,建筑上的瓦可以和别人合用。(图07)
图07
每栋建筑到后期,可以利用各自的墙面,瓦,窗,门,台阶等元素拼接出新的建筑。(图08)
图08
Photoshop贴图部分
贴图绘制阶段是团队合作的最关键时刻。这部分是会延长到最后的,需要花时间去调整及修正。在大体上统一,不能出现大的出入,就好像如果你看到了干净和破旧的建筑在一起,这是无法接受的。所以我们在这一阶段好好的花时间去统一思想,让大伙知道什么样贴图走向才是关卡需要。
制作次世代游戏与普通游戏的在三维美术制作上一个区别是:有无法线贴图,法线贴图能显示更多的细节。所以这一部分我们重点讲讲制作法线的两种方法:
1、高模烘低模。制作高模,是为能用其烘出的Normalsmap,在低模Lowpoly上表现出细节。用虎式坦克来举例,他的法线贴图是在3DS Max下,用低模包裹住高模,烘培出的。
2、利用Photoshop里的Normalmap filter插件转换出法线凹凸贴图的。
这两种方法互有利弊,对于一些破碎的墙面,如果制作出高模,很费时费力。但如果用Photoshop的Normalmap filter插件,就可以很容易做到。而当遇到一些曲线面时,高模烘出的Normalmap会很自然,特别在于对光滑组的体现上,Photoshop的Normalmap filter插件就很难办到,所以此时应该制作出高模来。我们可以在实际制作中根据需求来决定用哪种方法。(图09)
图09
三、UDK引擎部分
搭建关卡
第1步:场景搭建
当所有建筑和机械及小物件都完成时,就需要把各元素拼合到地图上了。
3ds Max下的摆放是进引擎摆放时很好的参考,因为3ds Max中可以修改模型,但在UDK中是不能改动模型的。因此,我们先在3ds Max下按照规划图先编辑出地形,再放好各个建筑与物件,接着一个个分别导出为ASE,再导入到UDK。
在3ds Max中最好让每个物件的坐标都归于坐标中心,方便于UDK的导入。(图10)
图10
第2步:地形制作
我在3ds Max里制作出来路面模型,并在一个地面模型上,设置不同的ID,赋予不同的材质球,这样就能够在一个地面模型上使用多个四方连续的贴图,从而营造出不同的草地、泥地和沙地效果。
可利用ZBrush刷出有自然起伏的地面。在3ds Max里面其实也可以编辑地面的起伏效果,但是没有ZBrush快。(图11)
图11
第3步:丰富场景
初步摆放好以后,我们发现这样摆放并不能很好的表现出我们需要的效果,显得有些空旷。(图12)
图12
必须对其做些改变和调整,并增加一些细节使得场景更加丰富。这时我们参考了其他游戏,借鉴他们对场景的处理和摆放。基本是借鉴了以下三个游戏。(图13)
使命召唤5:借鉴了主楼的建筑风格和样式,以及电线杆、铁线围栏等丰富环境和氛围的小物件。
战火兄弟连:地狱公路,借鉴了街道下雨天的气氛。
荣誉勋章:空降神兵,借鉴了空中飞机的动态效果。
图13
同时,我们还从这些游戏中直接剥离出一些可用的物件,如雕像,垃圾堆、树木等环境物件。剥离过程如下:
我们主要利用了Umodel和ActorXImport两个工具(读者如果有兴趣,可以直接去网上搜索下载使用),对以前用Unreal引擎制作的游戏进行元素剥离。但需要对它们作出重制改造,以达到我们关卡的需要。(图14)
第一步:用Umodel工具将Unreal引擎制作的游戏中的UPK文件解压,得到PSK格式的模型和TGA格式的贴图。(现在此工具还在不断更新中,支持的游戏也会越来越多。)
第二步:用ActorXImport(需单独下载的3ds Max插件)将PSK格式模型文件导入的3ds Max中,即可获得可编辑的模型。
第三步:得到模型和贴图以后,导入udk丰富我们的环境。但是在使用之前需要进行重制改造,有些贴图的风格可能和我们设定的风格不太吻合。重制改造的重点是对静态模型的ID进行整理及对原有贴图的细节进行深入。
图14
导出与导入UDK引擎
3ds Max中的预准备工作:需要将制作好的模型在3ds Max里导出格式为ASE。
先选择需要导出的物件,在3ds Max文件指令中选“导出选择”,选项如下图,如果错选某些选项导入udk时将很可能出错。(图15)
图15
下面我们讲讲导入引擎的详细步骤:
第1步:打开
打开udk引擎时,选择内容浏览器,在左下角会有导入选项。(图16)
图16
第2步:导入
模型的导入:UDK里导入ASE时,一般选项不需改变。最好给导入的StaticMesh(静态模型)取一个规范的名字,以及分类组别,方便以后快速查找。很多游戏项目对命名都有一定的规范。相比Unreal 3 Editor来说,其实UDK开始已经加入了分类查找功能,比如搜索StaticMesh,就可以直接获得你想要的类别。(图17)
图17
贴图的导入:Diffuse(颜色贴图),specular(高光贴图)和Normal(法线贴图)在导入时有不同的选项要求。可以这样来记,Diffuse 1 specular 2 Normal 3,分别代表要选定的几处导入选项。Diffuse改1处,specular改2处,Normal 改3处。(图18)
图18
第3步:保存
模型和贴图全部导入后,一定要记得将每个package保存为UPK格式。保存的方式是:在左侧界面中找到你刚才命名的package,右键单击package然后点保存。谨记,如果不保存的话,下次打开时就需要全部重新导入一遍。
第4步:使用
下次打开时,可直接点击左下角的文件夹图标打开UPK文件,然后再打开地图文件就可以直接使用了。注意:先打开这个地图上的所有UPK文件,再打开UDK地图文件,不然地图会读取错误。(图19)
图19
制作材质球
贴图与模型导入后,就是要在引擎里每个物件Package里加入Material材质球。一个ID需要一个材质球,而引擎对单个模型的ID限制是4个。(图20)
图20
新建完成后,双击这个材质球,就会进入材质球编辑器,接着就需要把贴图贴进去了。而最基本的材质球连接是:在内容浏览器下,选中需要导入的贴图。然后到材质球编辑器界面下,按住T键并左键单击灰色区域,就可加贴图到材质球中了。
颜色贴图,高光贴图,法线贴图各自所连的节点。(图21)
图21
打开Static Mesh,在它的属性框中找LODInfo。将材质球赋予模型Static Mesh。(图22)
图22
这样一个完整的package文件就建好了。这个过程可能会很乏味,都是重复同样的步骤。但只要一想想,当他们都摆在一起时,是相当有成就感的!
加入碰撞体
接着说说每个物件中加入碰撞体。可以有自动和手动两种方式,第一是由引擎自动分出,弊端是比较死板。第二种是在MAX中用UCX_文件名的BOX和圆柱模型,塌陷他们后去匹配原来的物件,并一起导出为ASE,缺点是比较费时间。(图23)
图23
第二套UV是为了在引擎里体现更真实的光影,所以物件需在Max下分出第二套UV。其需要的是所有UV全进框内,且不允许任何的重合。大块的部分需要stitch缝合连接在一起,以达到更好的效果。(图24)
图24
同一个地方使用过第二套UV和没使用第二套UV的对比。(图25)
图25
增加特效
整个关卡场景搭建好以后,就进入制作的后期,需要加入引擎可以达到的水,雾,光,火等粒子效果了。下面就来介绍下我们关卡中用到的几种引擎特效。玻璃的镜面反射效果:其中镜面反射贴图来自引擎(T_UN_CubeMaps_??),用到的命令如ADD,Multiply,ReflectionVector可到材质球界面下材质表达式里找到的。(图26)
图26
有无镜面反射的效果对比(图27)
图27
树叶的半透明效果:Mask的选择如图,并右键单击灰色框,接着设置到属性框中,修改两个选择。可能各个框的位置会有些不同。(图28)
图28
喷泉池中的水:先制作出模型来,再给它赋予引擎里的水材质。水材质可以搜索Water,然后找到自己所需的Material。如果你觉得效果不合意,可以去修改材质球里面的数值。还有最好复制这个材质球到你用到Package下。Tips:我们用到是M_UN_Liquid_BSP_BlueWater02这个材质球。(图29)
图29
路灯的亮光:其实就是PointLight(点光)的使用。通过控制它的范围及亮度,并改成白炽灯的颜色,来获得最后路灯的效果。(图30)
图30
天空球:搜索SKY分类为StaticMeshes,就可以找到引擎自带的三种天空球了。Tips:尽量不要太放缩它了,要有让人看着有高度的感觉。
四周的雾气:先打开GenericBrowser,在Actor Classes选项卡下的info里有HeightFog,选中它。接着在地图中单击右键,选择ADD HeightFog Here,就加入雾气到地图中了。按F4进入其属性界面,在Density中可以修改它辐射范围,强度及颜色。
在引擎里多个物件的可以像3ds Max下令其成一个组,这样就很容易的去选取和移动它了。步骤为:文件菜单→VIEW→BROWSER WINDOWS→Group Editor;Group→Add→给他起个名字,以后双击这个组就可以选择这个组下所有物件了。
环境光:而整体上的光,我们用到了point light和DominantPointLight,效果已经是相当不错了,达到我们对关卡是在清晨的要求。粒子效果调整完毕后,把关卡地图存为UDK。记住一定要时时保存备份文件。
四、关卡整体与细节展示
制作最后效果截图展示(图31)
01德军指挥所,本关卡最主要的building,也是唯一一个制作了内部的j建筑。
02商店和餐厅,为小镇加入生活气息。
03基督教堂,破旧的屋顶,曾遭到飞机的轰炸。
04车库,豪华轿车停靠于此。
05军官居所,已荒废良久。
06医务室,可以在这里找到医疗用品。
07虎士坦克,德军最强大的坦克。
08天空中有轰炸机。
09整体场景。
图31
四、关卡整体与细节展示
制作最后效果截图展示(图31)
01德军指挥所,本关卡最主要的building,也是唯一一个制作了内部的j建筑。
02商店和餐厅,为小镇加入生活气息。
03基督教堂,破旧的屋顶,曾遭到飞机的轰炸。
04车库,豪华轿车停靠于此。
05军官居所,已荒废良久。
06医务室,可以在这里找到医疗用品。
07虎士坦克,德军最强大的坦克。
08天空中有轰炸机。
09整体场景。
图31
教程结束,以上就是3DSMAX+Photoshop+UDK引擎制作战争游戏场景,希望对大家有所帮助!