L4D关卡制作/安全室

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)中文 (zh)
... Icon-Important.png

译者:joyo_a(百度ID)

在上一节中,你创建了一张地图需要的最简单的导航网格。导航区域从“PLAYER_START”到“FINALE”都已被标记。这允许导演计算路线以正确产生感染者。还有求生之路使用的其他类型的路线。每个战役由5张地图组成:

  • 第一关:PLAYER START到CHECKPOINT
  • 第二关:CHECKPOINT到CHECKPOINT
  • 第三关:CHECKPOINT到CHECKPOINT
  • 第四关:CHECKPOINT到CHECKPOINT
  • 第五关:CHECKPOINT到FINALE

一间检查点房间是幸存者进入从一张地图过渡到另一张地图的“安全房间”。

Note.pngNote:战役开始时出生区域也应标记为CHECKPOINT,以便将其指定为“安全区域”。这样导演便不会开始游戏,直到幸存者走出安全区域。

安全室要求

要制作一间安全室,你需要在你的地图中设置一组最小的部分。这包括:

  • 一个安全门——玩家用来进入房间。
  • 一个info_changelevel笔刷实体。
  • 一个叫info_landmark的实体。
  • 在房间内分配有CHECKPOINT属性的导航区域。
  • 转换到的目的地地图。

目的地地图还要求:

  • 一个安全门——玩家用来离开房间。
  • 一个与上一张地图名称相同的info_landmark
  • 房间内标有CHECKPOINT属性的导航区域。

创建tutorial05.vmf

在sdk_content目录中,在Hammer中打开名为“tutorial03_complete.vmf”的地图。默认情况下,它应位于:

C:\Program Files\Valve\Steam\SteamApps\common\left 4 dead\sdk_content\mapsrc\Your First L4D Level Tutorial

File菜单中选择Save As...,然后重命名文件为“tutorial05.vmf”。回到上一级目录,并将其与你的其余的地图保存在你的标准mapsrc目录中:

C:\Program Files\Valve\Steam\SteamApps\common\left 4 dead\sdk_content\mapsrc
Warning.pngWarning:本教程的这一部分已经提供了预先生成的导航网格,因此,为了使地图正常工作,需要按照指定命名你的地图。

创建一个安全门

从对象列表中选择prop_door_rotating_checkpoint。

我们从安全门开始。

在3D镜头视图里,转到你创建的第二间房的上面一层楼区并看向你创建的平台上面的墙。

点击Entity tool Mt-entities.png,然后从Objects下拉菜单中选择“prop_door_rotating_checkpoint”。

在镜头视图中,看向平台与墙壁相交的角落,然后左键单击以放置prop_door_rotating_checkpoint

选择安全门模型。

设置门的模型:

  1. 通过按Alt+ Enter打开Object Properties对话框,或者进入选择模式并双击它。
  2. 点击World Model行并在右侧点击Browse按钮。在Filter中输入"checkpoint",然后选择模型“checkpoint_door_02.mdl”。
  3. 点击OK按钮。
编辑安全门的属性。

现在,更改以下属性:

  • Name:"checkpoint_entrance"
  • Pitch Yaw Roll (Y Z X):"0 270 0"
  • Disable Shadows:"Yes"
  • Spawn Position:"Open counter-clockwise"
镜头视图中的安全门。

点击Apply然后关闭属性窗口。

你现在应该在镜头视图中看到一个安全门模型。

将安全门移动到位。

定位门以便它坐在平台的地板上并且在墙的厚度的中间的墙内。你可能需要调整网格大小才能将其移动到位。

现在我们在墙上有一个我们想为这个门打一个洞的地方。

剪辑工具

选择你需要剪切的墙壁。

我们将使用Clipping Tool来将我们的笔刷拆分成我们需要制作洞口的部分,而不是缩放和复制我们需要切开一个洞的墙刷。

选择安全门坐在里面的墙刷。(注意:你必须选择墙刷

选择Hammer ClippingTool.png 剪辑工具进入剪辑模式(你也可以按 Shift+X)。

剪切门的一侧的墙壁。

顶部视图中,左键单击并拖动到门的左边缘的位置。

放手后的两个点形成一条垂直线如上图所示。

你应该让笔刷通过剪辑工具的辅助节点沿着中间位置就位来分成白色轮廓和红色轮廓。白色轮廓表示将留下的画笔部分,红色轮廓显示将被删除的部分。

按一次 Shift+X。这将翻转具有白色轮廓的一边和具有红色轮廓的一边。

再次按 Shift+X。这将改变剪辑模式以保留分割的两边。

Enter进行拆分。你可以按Esc退出该工具,而不进行任何更改。

现在我们做了一个剪辑,我们需要再做一个剪辑。选择墙壁笔刷(门仍然粘在其中)并再次进入剪切工具

在门的另一边切割墙壁。

使用[减小网格大小以便你可以沿着门的右边的边缘精确剪辑,然后左键单击并拖动以便在该边缘上形成垂直线。

Enter执行拆分。

抬高门上的笔刷。

选择门仍然卡在里面的笔刷并在侧面视图中抬高其底部以便将门排列在门模型的顶部。

我们现在有了我们安全门的洞口。

记住,现在我们已经在我们这个地图里创造了一个洞,我们需要密封它。我们将在安全室里密封这个洞。

将枢纽辅助节点移动到门将旋转的一侧。

现在再次选择安全门,你会发现在镜头视图中它有一个蓝色的球体,在另一个视图中其中间有一个圆圈。

顶部视图中,左键单击并将空心圆拖到笔刷的左边缘,就像在此图中一样。

向下移动枢纽辅助节点以创建旋转轴。

在模型的中心还应该有一个圆/球。将其拖动到顶部视图上的同一个位置,但也可以将其拖动到视图中,以使其在你拖动的第一个视图下。

你所做的是使prop_door_rotating_checkpoint使用这条线作为门旋转的枢轴,就像在真实门上的铰链一样。