✅ 操作成功!

虚幻3引擎

发布时间:2023-06-16 作者:admin 来源:文学

虚幻3引擎

虚幻3引擎

-

2023年3月20日发(作者:飘渺人生)

如何制作一张简单的UT3地图----下-[所谓游戏]

2008-01-22

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

/logs/

本教程上半节见此

文:LiChong

加入模型细节

房间有了,可以往里面加入细节了,在虚幻引擎中,场景中大部分静态

的模型,都使用StaticMesh来制作,这些模型是在三维软件中制作完

成后导入UED中的,结合材质,可以应付场景画面的大部分需要。

打开上半节制作的地图。

打开Generic浏览器,从中打开目录UnrealTournament

3UTGameCookedPCEnvironments下的ASC_Deco_

这个包里面有一些华丽的雕像,随便选一个,然后在3d视图窗口中右键

点地板(你也可以点别的位置,或者在别的视图中操作,在3d视图比较

直观一些),在出现的关联菜单中选择AddActor/AddStaticMesh:...

然后在右键点击的位置上,就出现一个你所选模型的instance(实例),

把它随意放到一个位置上,移动的操作见上半节。

调整一下灯光的位置,然后点BuildAll,你会看见灯光在雕像后面投

下的影子,但默认设置下,影子不够明显。

在地板BSP表面点右键,从关联菜单中选择SurfaceProperties,打开

BSP表面属性窗口

在属性窗口的LightmapResolution栏中,把分辨率设置为4(默认32),

这里数值越小精度越高

然后BuildAll,这时候你可以看到雕像背后出现很清晰的影子:

利用.upk文件里面的模型资源,你可以把场景装饰得非常漂亮。

放置物品

UT这系列游戏,是围绕各种物品展开Gameplay的,所以制作地图的时

候,很重要的一块就是物品的摆放,常用的物品分为武器、弹药、血包、

盔甲、以及各类加强物品。本教程简述一下如何加入这些物品。

打开Generic浏览器,在它窗口的菜单栏下面,可以看到一系列页面,

第一页是Generic,第二页是ActorClasses,点中该页切换到Actor

浏览器。

你也可以选择菜单View/BrowserWindows/ActorClasses来打开

该浏览器中,以目录结构显示出了游戏中各种Actor的类,名字粗体的

是可以放入地图的类,如下图展开,选中

NavigationPoint/PickupFactory下的子类UTWeaponPickupFactory

在3d视图中右键点地板,做如下选择,

然后在地板上,就出现该类的一个Instance,是个武器座,

在武器座上双击,即可打开其属性窗口,或者选中后按F4也可打开,这

两种方法同样适用于场景中大部分Actor。

从属性窗口的UTWeaponPickupFactory右边的下拉列表中选择

UTWeap_ShockRifle

这样,该武器座就可以产生ShockRifle这把武器,你可以按照上一节

讲述的办法在编辑器里面运行地图来观察武器座是否正常,看上去应该

这样:

同样是在那个武器列表里面,你可以随意选择各种武器。

然后来讲如何放置弹药,

打开Actor浏览器,进入

NavigationPoint/PickupFactory/UTItemPickupFactory/UTAmmoPickup

Factory

该类下面的都是各种武器的弹药,从名字上就能看出来,选择

UTAmmo_ShockRifle,在3d视图中,按住A+左键点击地板,就可以在点

击的位置上加入所选类的一个Instance(这个是通用的快捷方式):

然后是盔甲,四种盔甲,都位

于.../PickupFactory/UTPickupFactory/UTItemPickupFactory/UTArmo

rPickupFactory:

同样也是选中某个子类,比如说UTArmorPickup_ShieldBelt,按A+左键

点击加入,

而血包则位于UTHealthPickupFactory这个类下面:

加入一个普通血包,

各种加强物品位于UTPowerupPickupFactory下面:

比如说选择UDamage,加入后,

加强物品在编辑器里面只能看到底座,运行地图后,等一会儿,物品就

会生出来:

上一节我们讲了如何制作一个简单的房间,这里我们进一步增加一些房

间,

在Top视图中,按下W将所有使用StaticMesh的Actor隐藏(此键可

以切换这些Actor的显示),注意到各种物品也被隐藏了,因为它们从

画面角度说用的也是StaticMesh,然后,在Top视图中,按下Ctrl+Alt+

左键按下拖动,用出现的红线框去框选蓝色的Brush,全部选中,框选

的方式让你一次可以选中多个Actor。隐藏的Actor将不被选中,灯光

因为没有隐藏所以被选中了:

点Ctrl+W,将选中的Actor复制了一份,将这份移动到原来房间的一侧

将两个房间相对的两面墙壁的任意一个删除(选中+Del):

选中相对的另一面没有删除的墙壁Brush:

点选UED左侧工具条的GeometryMode按钮:

该按钮打开GeometryTools,可以对BSPBrush进行编辑操作,在打开

的小面板中选择Vertex模式:

在该模式下,你可以编辑Brush顶点,你会看到所选Brush的顶点变得

很大:

用Ctrl+Alt+左键拖动,来框选该Brush一侧的顶点

然后Ctrl+左键拖动,平移所选顶点到和另一侧房间平齐

这时候BuildAll,你会发现两间房间之间充满实体,我们需要在中间

开一个门洞出来,这时候,用挖空的方式会比较方便。

在刚才那个Brush上面点右键,从关联菜单中选择Polygons/ToBrush,

该菜单利用所选的Brush生成一个一样造型的BrushBuilder红框,

在Top视图中,用GeometryTools编辑该BrushBuilder的顶点,让它

看上去像个门洞的样子,

在UED左侧工具条中点击CSG:Subtract按钮,

该按钮利用BrushBuilder来创建一个一样造型的挖空的Brush,

这时候你可能看不到,选择左侧工具条的CameraMode工具,这个是默

认选项,

这时候可以看见房间之间出现一个黄色框,选中之后是这样子:

这个Brush就表示该位置上的实体被挖空,但这时候从侧视图上看,该

Brush顶部和底部分别超出了天花板和地板,重新使用GeometryTools

来编辑顶点,让顶部和底部分别对齐到天花板和地板,如下:

在Brush操作过程中,你可以经常Build一下来观察效果如何,最后完

成后,差不多这样:

但这时候贴图有点混乱,在Generic浏览器中选择ASC_Floor包中的地

板贴图,指定给门洞地板,同样也给天花板进行指定,

这样有了两间房间,便于后面进一步制作,然后,将物品根据你自己的

设想放置到两个房间的合适位置,下图中,武器被放到门洞那里,盔甲

和UDamage分别放到两个房间靠墙,血包复制一个,分别放到靠近门洞

的墙角,雕像被复制成四个,分别放到墙角,

接下来,可以开始设置NPC寻路了

设置NPC寻路

首先放入出生点,出生点是玩家和NPC共用的,它的类位于

NavigationPoint/PlayerStart,

选中该类,在房间地板上按A+左键点击,出现手柄状图标:

出生点是带有箭头的,其朝向表明了出生时玩家或NPC面朝的方向,下

图是Top视图中看到的默认的朝向:

选中后,按住Ctrl+右键拖动,可以旋转一个Actor,用这个方法改变出

生点的朝向,比如:

分别在两间房间加入出生点,并确保不会面朝墙壁之类尴尬的地方。

然后需要加入一些PathNode(路点),路点是UE里面设置NPC寻路最

为基本的工具,路点之间构成的连接,就是NPC在寻路中需要遵循的线

路,路点的类是NavigationPoint/PathNode:

在房间中央地板上加入路点,

然后BuildAll,这时候可能会出现报错窗口,如下:

红叉通常是比较严重的问题,黄色感叹号是需要注意的问题,未必一定

是问题,这里面因为红叉的问题不影响我们所需的地图效果,所以直接

关闭这个窗口即可。

BuildAll基本上包括BuildGeometry,BuildLighting,BuildAI

Pathing,以及地图错误检查,这几部分你都能在BuildAll按钮边上找

到对应的按钮(除了错误检查)。

然后,在3d视图中按下P,显示NPC寻路,你会看到各种物品,出生点,

路点,这些NavigationPoint下面的子类Actor,互相之间产生连接,

构成网格状寻路:

在编辑器中运行地图,或者点击按钮:

该按钮让你也在编辑器中运行地图,但会利用地图里面的出生点来作为

玩家出生点。

然后按Tab,输入Addbotsx,即可加入x个NPC,

你会发现NPC已经可以灵活自如地在地图中移动了,你可以和NPC较量

一下,或者输入命令God观察NPC寻路如何。

制作预览图

在UT3的地图列表中,正式发布的地图需要有预览图,才能让人区分和

识别。要制作预览图,首先需要截图,你可以在编辑器中运行地图,然

后用截图软件截取,也可以运行游戏,如果地图还没Cook(见下一小节),

那么按F10调出Console,打入命令OpenDM-OOXX(地图名,后缀不用)

运行,如果Cook过了,直接从列表中选择即可,运行后,按F9截图,

截图保存在:MyDocumentsMyGamesUnrealTournament

3UTGameScreenShots

然后,用Photoshop之类软件将截图编辑成诸如512x256或1024x512

之类的分辨率(即长边像素是短边的一倍,并且都是2的N次方倍数,N

大于等于3),保存成.tga或者.bmp之类的即可。

在UED的Generic浏览器中,选择菜单File/Import,然后从中点选预

览图,将它导入,在出现的对话窗口中,Package一项你可以从下拉菜

单中找到你所建的地图,或者手动输入地图名,这样该贴图就可以保存

在地图文件中,Group一项随意,Name也是:

导入完成后,你可以在Generic浏览器中看到该贴图,虽然实际的预览

图用的是这个贴图,但贴图在地图场景中并不能直接被引用,从而也就

无法保存,所以需要另外建一个引用此贴图的材质,并在地图中引用这

个材质,这样保存地图的时候就一并保存了该贴图和材质,从而提供了

可供游戏地图列表引用的预览图。

在Generic浏览器中右边预览窗口的空白处点右键,从关联菜单中选择

NewMaterial:

弹出新建材质窗口,Package名仍然使用地图名,而Group和Name可以

随意,但Name注意不要和贴图重名:

点OK后,出现材质编辑窗口,在Generic浏览器中选中之前导入的贴图,

在该窗口空白处点右键,选择菜单NewTextureSample,然后出现一个

节点,由于那张贴图之前被选中了,所以该节点会自动应用此贴图,然

后,点击节点左边最上面的小方块并拖拽到左侧Diffuse项上,然后一

个连接就会自动建立,表示此材质的Diffuse图将使用此贴图:

完成后,在材质编辑窗口上方工具条找到三个绿勾,点击最左边那个,

将材质的编辑操作应用一下:

这时候,回到Generic浏览器,可以看到该材质(绿框是材质,右边红

框是贴图):

选中该材质,然后在地图房间的外面另外制作一个小立方体,并把该材

质应用到其BSP表面上,这样做的目的是为了让地图本身需要调用该材

质,这样保存地图文件的时候,自动就把材质和贴图都保存了:

BuildAll并保存地图。

到这里,基本上一个简单的DM地图已经完成了,之后就是如何发布的问

题。

如何发布

UT3的地图,在UED里制作完成后,需要经过Cook,才能产生可供发布的地图文件(实

际上UED里面直接做好的地图,也可以在游戏里面运行,只是无法在地图列表里面显示,

需要打命令)。而Cook基本上就是为Loading对地图进行优化。

点UED菜单栏下方工具栏的按钮:

然后,有可能会出现如下窗口,因为本地图制作中并没有创建额外的文件包,所以直接选

择“否”即可(如果你建立过诸如StaticMesh包,材质或者贴图包之类的,并且不是和地

图储存在一起,那么这时候需要保存一下)。

然后,就出现如下窗口,并开始Cook,一切正常的话,出现Success字样:

关闭窗口和UED,在电脑目录MyGames/UnrealTournament

3/UTGame/Published/CookedPC/CustomMaps下面,你可以找到Cook好的地图文

件和一个对应的.upk文件(如果之前没有CustomMaps目录,那么在Cook过程中会自

行创建):

然后,你需要一个同名的.ini文件来定义地图的一些信息,新建,用记事

本之类软件即可,输入(酌情修改红色部分即可,注意PreviewImage项目填入的是预览

贴图的):

[DM-OOXXUTUIDataProvider_MapInfo]

MapName=DM-OOXX

FriendlyName=OOXX

PreviewImageMarkup=wShot>

Description=Enjoythisshit...

NumPlayers=2to4playersAuthor:Ass

保存ini,然后运行游戏,你应该可以在地图列表里面看到你的地图了。

然后,通常UTMOD界传统上要给地图加同名readme文件,所以建一个

之类的,在里面描述一下地图相关信息和Credits等即可。另外,也可以准备一张截图,

这样别人不用进游戏就能搞清楚这个是哪张地图了,比如说弄个之类的。

最后,把3,DM-OOXX_LOC_,,,

打包到一起,最好是zip文件,因为各个第三方资源Host站点通常会建

议你用zip格式

这样,就可以发布了!

👁️ 阅读量:0