渲染教程

关注公众号 jb51net

关闭
媒体动画 > 3DMAX教程 > 渲染教程 >

3DSMAX+Photoshop+UDK引擎制作战争游戏场景

baochao转稿

本教程是向大家介绍3DSMAX结合Photoshop及UDK引擎制作战争游戏场景,内容有点多,但制作过程介绍很详细,作者思路也很清晰。其中3ds Max用于模型制作;Photoshop用于绘制贴图;UDK引擎用拼合场景。教程实用性很强,转发过来,希望对大家有所帮助!

教程从初始设定、制作模型、UV贴图,导入游戏引擎,加入迷雾等物理效果。而制作这个关卡使用到的软件有UDK引擎、Photoshop和3ds Max。制作步骤如下:

一、制作设定

关卡故事背景

我们事先拟好了一个任务,然后按任务进行关卡规划,参考了电影《HELLBOY》:“我们在清晨进行突袭任务,目标是这座城镇的德军指挥所。美军得到消息,在这座镇里正进行着一项能威胁人类历史发展的危险实验。德军在此处,展开着对‘跨越时间’的秘密研究,打算制造出时间机器,并用此去改写历史。最近在这个区域已经发生许多奇异的事件,据说跟这个实验有关。应该是快完成的迹象,所以我们G连必须在它们完成之前,捣毁这个实验室。兴许还会遇到来自其他时空的奇怪生物,这些未知”。

整体场景规划及参考图片

“Hold on a second! 情报员刚把德军指挥部的分析图给了我,那就来看看到底有些什么。”这张图片似一张卫星图片,不能提供我们此范围内建筑的所需具体细节,因此我们开始一些侦察任务,找来一系列辅助的图片,来标出每种建筑物的功能和武器配备。依照参考图,把它们分为:德军指挥所、居所、车库、教堂、医务室、小卖部及餐厅、虎士坦克、防空炮。(图01)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图01

下面是整体氛围参考图片。(图02)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图02

二、模型与贴图制作

制作关卡基础模型

首先,我们按照现实中物体比例,对每个模型进行基础模型的尺寸定位。一般一层高度为3米,有特殊底座的房子第一层略高于3米。还有烟囱、门、窗的高度均已现实中的为基准,做到匹配为佳。对每个模型进行规范单位,定出关卡基础模型图。我们每个人就利用规范过的基础尺寸模型制作中模。这样可以避免每个物件出现大小的差异,对最后拼合在一起时是相当有帮助的。

商店前后对比(图03)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图03

关卡基础模型在3ds Max中的截图(图04)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图04

最后拼合在一起的场景(图05)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图05

制作模型:中模和高模

根据场景分析,我们7个人分配好各自的分配任务后,便进入模型制作阶段。我们之前还没有作次世代建筑的经验,这可说是新尝试。我们定了三天,完成每栋建筑的中模和高模。对于高模,通过分析各自建筑,找尽可能有直接相联系的参考图,加细节来表现建筑的特点。

由参考图分出的七种类别 (六栋建筑和一个机械体),各由七个人来完成,而预计每人制作完成的时间为1个月。对于每个建筑和机械面数的限制:居所、车库、教堂、医务室为5000面。其中主建筑德军指挥所,使分为室外与室内部分,面数限制为40000面。而虎士坦克、小卖部及餐厅的面数限制均为20000面。

对中模和高模的要求,是要把各自建筑独有的细节特点建造出来。举例:商店的橱窗、教堂的大门、,以及指挥所的层间护边。这些的作用在于,可以在贴上法线贴图的低模上用较少的面数来体现出它们的细节。

由于制作的模型较多,我们这里仅示意其中虎士坦克的制作模型作为举例:(图06)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图06

低模与UV

低模需要简练些,起不到结构变化的部分,就要剔出。用最少的面,表现出最好的效果。分UV时,要合理共用,并要考虑接缝的问题。将接缝放于不显眼的地方,如放于边缘处,或可用其他物件遮盖住的地方。为避免重复,可以用改变模型或UV的方式来产生变化。

另外,在团队合作中也可以和别人分享UV来,将省出很多时间。例如,建筑上的瓦可以和别人合用。(图07)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图07

每栋建筑到后期,可以利用各自的墙面,瓦,窗,门,台阶等元素拼接出新的建筑。(图08)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图08

Photoshop贴图部分

贴图绘制阶段是团队合作的最关键时刻。这部分是会延长到最后的,需要花时间去调整及修正。在大体上统一,不能出现大的出入,就好像如果你看到了干净和破旧的建筑在一起,这是无法接受的。所以我们在这一阶段好好的花时间去统一思想,让大伙知道什么样贴图走向才是关卡需要。

制作次世代游戏与普通游戏的在三维美术制作上一个区别是:有无法线贴图,法线贴图能显示更多的细节。所以这一部分我们重点讲讲制作法线的两种方法:

1、高模烘低模。制作高模,是为能用其烘出的Normalsmap,在低模Lowpoly上表现出细节。用虎式坦克来举例,他的法线贴图是在3DS Max下,用低模包裹住高模,烘培出的。

2、利用Photoshop里的Normalmap filter插件转换出法线凹凸贴图的。

这两种方法互有利弊,对于一些破碎的墙面,如果制作出高模,很费时费力。但如果用Photoshop的Normalmap filter插件,就可以很容易做到。而当遇到一些曲线面时,高模烘出的Normalmap会很自然,特别在于对光滑组的体现上,Photoshop的Normalmap filter插件就很难办到,所以此时应该制作出高模来。我们可以在实际制作中根据需求来决定用哪种方法。(图09)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图09

三、UDK引擎部分

搭建关卡

第1步:场景搭建

当所有建筑和机械及小物件都完成时,就需要把各元素拼合到地图上了。

3ds Max下的摆放是进引擎摆放时很好的参考,因为3ds Max中可以修改模型,但在UDK中是不能改动模型的。因此,我们先在3ds Max下按照规划图先编辑出地形,再放好各个建筑与物件,接着一个个分别导出为ASE,再导入到UDK。

在3ds Max中最好让每个物件的坐标都归于坐标中心,方便于UDK的导入。(图10)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图10

第2步:地形制作

我在3ds Max里制作出来路面模型,并在一个地面模型上,设置不同的ID,赋予不同的材质球,这样就能够在一个地面模型上使用多个四方连续的贴图,从而营造出不同的草地、泥地和沙地效果。

可利用ZBrush刷出有自然起伏的地面。在3ds Max里面其实也可以编辑地面的起伏效果,但是没有ZBrush快。(图11)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图11

第3步:丰富场景

初步摆放好以后,我们发现这样摆放并不能很好的表现出我们需要的效果,显得有些空旷。(图12)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图12

必须对其做些改变和调整,并增加一些细节使得场景更加丰富。这时我们参考了其他游戏,借鉴他们对场景的处理和摆放。基本是借鉴了以下三个游戏。(图13)

使命召唤5:借鉴了主楼的建筑风格和样式,以及电线杆、铁线围栏等丰富环境和氛围的小物件。

战火兄弟连:地狱公路,借鉴了街道下雨天的气氛。

荣誉勋章:空降神兵,借鉴了空中飞机的动态效果。

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图13

同时,我们还从这些游戏中直接剥离出一些可用的物件,如雕像,垃圾堆、树木等环境物件。剥离过程如下:

我们主要利用了Umodel和ActorXImport两个工具(读者如果有兴趣,可以直接去网上搜索下载使用),对以前用Unreal引擎制作的游戏进行元素剥离。但需要对它们作出重制改造,以达到我们关卡的需要。(图14)

第一步:用Umodel工具将Unreal引擎制作的游戏中的UPK文件解压,得到PSK格式的模型和TGA格式的贴图。(现在此工具还在不断更新中,支持的游戏也会越来越多。)

第二步:用ActorXImport(需单独下载的3ds Max插件)将PSK格式模型文件导入的3ds Max中,即可获得可编辑的模型。

第三步:得到模型和贴图以后,导入udk丰富我们的环境。但是在使用之前需要进行重制改造,有些贴图的风格可能和我们设定的风格不太吻合。重制改造的重点是对静态模型的ID进行整理及对原有贴图的细节进行深入。

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图14

导出与导入UDK引擎

3ds Max中的预准备工作:需要将制作好的模型在3ds Max里导出格式为ASE。

先选择需要导出的物件,在3ds Max文件指令中选“导出选择”,选项如下图,如果错选某些选项导入udk时将很可能出错。(图15)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图15

下面我们讲讲导入引擎的详细步骤:

第1步:打开

打开udk引擎时,选择内容浏览器,在左下角会有导入选项。(图16)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图16

第2步:导入

模型的导入:UDK里导入ASE时,一般选项不需改变。最好给导入的StaticMesh(静态模型)取一个规范的名字,以及分类组别,方便以后快速查找。很多游戏项目对命名都有一定的规范。相比Unreal 3 Editor来说,其实UDK开始已经加入了分类查找功能,比如搜索StaticMesh,就可以直接获得你想要的类别。(图17)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图17

贴图的导入:Diffuse(颜色贴图),specular(高光贴图)和Normal(法线贴图)在导入时有不同的选项要求。可以这样来记,Diffuse 1 specular 2 Normal 3,分别代表要选定的几处导入选项。Diffuse改1处,specular改2处,Normal 改3处。(图18)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图18

第3步:保存

模型和贴图全部导入后,一定要记得将每个package保存为UPK格式。保存的方式是:在左侧界面中找到你刚才命名的package,右键单击package然后点保存。谨记,如果不保存的话,下次打开时就需要全部重新导入一遍。

第4步:使用

下次打开时,可直接点击左下角的文件夹图标打开UPK文件,然后再打开地图文件就可以直接使用了。注意:先打开这个地图上的所有UPK文件,再打开UDK地图文件,不然地图会读取错误。(图19)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图19

制作材质球

贴图与模型导入后,就是要在引擎里每个物件Package里加入Material材质球。一个ID需要一个材质球,而引擎对单个模型的ID限制是4个。(图20)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图20

新建完成后,双击这个材质球,就会进入材质球编辑器,接着就需要把贴图贴进去了。而最基本的材质球连接是:在内容浏览器下,选中需要导入的贴图。然后到材质球编辑器界面下,按住T键并左键单击灰色区域,就可加贴图到材质球中了。

颜色贴图,高光贴图,法线贴图各自所连的节点。(图21)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图21

打开Static Mesh,在它的属性框中找LODInfo。将材质球赋予模型Static Mesh。(图22)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图22

这样一个完整的package文件就建好了。这个过程可能会很乏味,都是重复同样的步骤。但只要一想想,当他们都摆在一起时,是相当有成就感的!

加入碰撞体

接着说说每个物件中加入碰撞体。可以有自动和手动两种方式,第一是由引擎自动分出,弊端是比较死板。第二种是在MAX中用UCX_文件名的BOX和圆柱模型,塌陷他们后去匹配原来的物件,并一起导出为ASE,缺点是比较费时间。(图23)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图23

第二套UV是为了在引擎里体现更真实的光影,所以物件需在Max下分出第二套UV。其需要的是所有UV全进框内,且不允许任何的重合。大块的部分需要stitch缝合连接在一起,以达到更好的效果。(图24)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图24

同一个地方使用过第二套UV和没使用第二套UV的对比。(图25)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图25

增加特效

整个关卡场景搭建好以后,就进入制作的后期,需要加入引擎可以达到的水,雾,光,火等粒子效果了。下面就来介绍下我们关卡中用到的几种引擎特效。玻璃的镜面反射效果:其中镜面反射贴图来自引擎(T_UN_CubeMaps_??),用到的命令如ADD,Multiply,ReflectionVector可到材质球界面下材质表达式里找到的。(图26)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图26

有无镜面反射的效果对比(图27)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图27

树叶的半透明效果:Mask的选择如图,并右键单击灰色框,接着设置到属性框中,修改两个选择。可能各个框的位置会有些不同。(图28)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图28

喷泉池中的水:先制作出模型来,再给它赋予引擎里的水材质。水材质可以搜索Water,然后找到自己所需的Material。如果你觉得效果不合意,可以去修改材质球里面的数值。还有最好复制这个材质球到你用到Package下。Tips:我们用到是M_UN_Liquid_BSP_BlueWater02这个材质球。(图29)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图29

路灯的亮光:其实就是PointLight(点光)的使用。通过控制它的范围及亮度,并改成白炽灯的颜色,来获得最后路灯的效果。(图30)

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图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整体场景。

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图31

四、关卡整体与细节展示

制作最后效果截图展示(图31)

01德军指挥所,本关卡最主要的building,也是唯一一个制作了内部的j建筑。

02商店和餐厅,为小镇加入生活气息。

03基督教堂,破旧的屋顶,曾遭到飞机的轰炸。

04车库,豪华轿车停靠于此。

05军官居所,已荒废良久。

06医务室,可以在这里找到医疗用品。

07虎士坦克,德军最强大的坦克。

08天空中有轰炸机。

09整体场景。

3DSMAX制作战争游戏场景 脚本之家 3DSMAX渲染教程

图31

教程结束,以上就是3DSMAX+Photoshop+UDK引擎制作战争游戏场景,希望对大家有所帮助!