L4D关卡制作/安全室(第二部分)
译者:joyo_a(百度ID)
创建一间安全室
现在,我们来创建安全室。使用你在第一个教程中使用的笔刷复制的技术,在这些尺寸的安全门的另一侧创建一个房间:
- 256个单位宽
- 384个单位长
- 128个单位高
func_detail
笔刷,否则你的地图将“泄漏(leak )”到外面。所有的外墙、地板和天花板都需要是普通的世界(非实体)笔刷。此外,请记住将一个灯光复制到这个新房间,以便它将被点亮。
现在,我们需要一个笔刷实体叫info_changelevel
。
点击Texture栏上的Browse按钮来显示纹理浏览器。
在Filter下拉框中输入“trigger”。
选择纹理“tools\toolstrigger
”
双击纹理,使其成为当前纹理。
在笔刷仍然选中的情况下,选择Tools > Tie to Entity(或者按CTRL+T)。
这将显示对象属性对话框。
在Class下拉菜单中,选择“info_changelevel
”并点击Apply。
点击New Map Name行,然后在右边的字段中添加文字“tutorial05_part2
”。
点击Apply,然后关闭对话框。
info_changelevel
是一个固实体,它将在其里面的玩家和prop_physics
实体转换到目标地图(在New Map Name字段中给出)。点击 Entity Tool,然后从Objects下拉菜单中选择“info_landmark
”。
将它放在新房间的中间。确保你将实体捕捉到图中所示的中间。
打开info_landmark
的Object Properties(Alt+↵ Enter)。
更改Name为“landmark_tutorial
”。点击Apply然后关闭对话框。
info_landmark
是一个实体,它分别存在于玩家开始的地图和玩家转换到的地图。info_landmark
必须在两者的地图中的几何世界的周围有个确切的相对位置。因此,你可以在目标地图中移动info_landmark
,但是你也必须移动其周围的几何体以使转换能够工作。一个常见的错误是假设位置是相对于网格,其实它只是相对于周围的几何体。因此,你的地图不需要准确地在上一张地图停留的网格上开始。返回并单击你刚刚创建的info_changelevel
笔刷,然后打开Object Properties(你需要在镜头视图中移动才能看到笔刷上的触发纹理来选择它)。
单击Landmark Name行,然后你会看到右侧的滴管图标,旁边是Mark和Mark+Add按钮。点击滴管图标。
在对话框仍然存在的情况下,你可以在镜头视图中导航以查看info_landmark
。如果你在滴管打开的情况下点击info_landmark
,它将获取info_landmark
的名称并将其名称放在Landmark Name字段中。
创建出口
只是为了让下一个安全区域在我们设置的将要转换到的地图,我们将放置另一个在下一张地图里作为出口的安全门。
复制你作为这张地图的安全入口放置的安全门并将其放在安全室的右侧墙壁。旋转它,以便通过该墙离开。
在我们切出洞之前,让我们把它的属性编辑为出口门。
点击World Model行,然后在右侧点击Browse按钮。找到模型“checkpoint_door_01_static.mdl
”并点击OK按钮。
更改Class为prop_static
,因为门不一定像真正的门一般起作用。
点击Apply并关闭对话框。
就像我们在第一个安全门所做的一样,使用剪辑工具为这个安全门切出一个孔,使其看起来像这个图。
注意门旁的连接的墙应该是48个单位的长度!
现在,我们有了自己的安全室,但是这个门外面还有一个漏洞。我们需要密封它。
复制固定好的门的墙壁,并将其移动到门后面,使其完全关闭这个门产生的洞。
在Texture栏里点击Browse按钮,然后在Filter下拉字段中输入“tools
”。
找到纹理“tools/toolsblack
”并双击它以关闭浏览器并使其成为当前纹理。
点击应用当前纹理图标让笔刷变黑。这样,玩家将无法在安全门口看到窗外。
通过Ctrl+S保存你的地图。
你现在已经创建了一个安全室,它将导向另一张叫“tutorial05_part2
”地图。现在,我们需要制作那张地图以便我们可以测试其转换。
创建目的地地图
首先,确保你已经通过选择File > Save或者按Ctrl+S将你的工作保存在tutorial05.vmf上。
接着,我们将根据当前的地图制作目标地图。
执行File > Save As...,然后更改文件名为“tutorial05_part2.vmf
”。
在起点房间里选择info_survivor_position
。
将他移动到安全室的中间。
滚动(鼠标滑轮)以便你可以在顶部视图中看到你的整个地图。
选择你在第一个教程中创建的走廊。你可以左键单击并拖过走廊的中心,然后按↵ Enter以选择那边的所有画笔。
移动走廊使其排列在地图右下方的安全门的外面。你可以使用箭头键或通过左键单击并将其拖动到你想要的画笔所在的位置来移动画笔。
然后,向上移动走廊,使地板与安全室的地板相匹配。
现在,让我们清除我们不需要的第一张地图的部分。
选择第一个房间然后按Delete键。
选择第二个房间但不要包含与安全室共享的墙。如果你选多了,只需按住Ctrl,然后单击任何对象即可取消选择。当你完成后,按Delete键。
现在,我们需要移动我们用来密封第一张地图的黑色笔刷以便密封这张地图。
选择黑色笔刷。
移动它并塑造它覆盖安全室的另一个门口。
从走廊上复制墙壁、天花板和地板刷以便在终点处建立一个新的房间。
你需要为预生成的导航文件提供这些确切的尺寸:
- 宽度:512
- 长度:480
在房间的中间添加一个light
实体。你可以在安全室中复制light实体并将其移动。
转到安全室,然后点击从上一张地图进入房间的门。
按Alt+↵ Enter打开属性。
点击World Model行,然后点击Browse按钮。
选择模型"checkpoint_door_02_static.mdl
"
点击OK。
修改Class为“prop_static
”,因为这个门将不再需要打开或关闭。
点击Apply使更改出现。
选择安全室中的另一扇门——即将引导出来的那扇门。
按Alt+↵ Enter以打开属性。
点击World Model行,然后点击Browse按钮。
选择模型“checkpoint_door_01.mdl
”
点击OK。
修改Class为“prop_door_rotating_checkpoint
”
点击Apply按钮以更新属性。
更改以下字段:
- Name:“checkpoint_exit”
- Body:“1”
- Disable Shadows:“Yes”
现在,点击Flags选项卡并选中“Use closes”框。
再次点击Apply并关闭属性框。
保持门被选中。
在顶部视图中,将门模型的原点移到与墙壁接触的底部。
这将使门在该轴上旋转。
在镜头视图中,移动到门内并返回到安全室,选择你从上一张地图剩下的info_changelevel
。
按Delete键删除它。
编译地图
tutorial05_part2
按F9打开Run Map,但这一次点击“Don't run the game after compiling”复选框。然后按OK。这将编译地图,但之后不会运行游戏。
tutorial05
当地图完成编译,再次打开“tutorial05.vmf
”。
按F9并取消选中“Don't run the game after compiling”复选框,然后按OK。这将在tutorial05地图中启动,并允许我们测试转换到tutorial05_part2地图。