关卡转换

From Valve Developer Community
Jump to: navigation, search
English (en)中文 (zh)
... Icon-Important.png
概括性的地图制作系列 讨论你的想法——帮助我们写你需要的文章和想法

弹药 | 生物 | 蚁狮 | 光束和激光 | 线缆和绳子 | 动态的天空与云雾 | 颜色理论 | 战斗 | 联合军 | | 尘土、雾、烟 | 升降机 | 关卡转换 | 环境光效、太阳、天气、室外 | 爆炸 | 火焰 | 植被 | 玻璃和窗户 | 梯子 | 光效 | 优化 | 物理 | 视网膜扫描仪 | 声效和音乐 | 特效 | 地形 | 火车 | 机枪塔 | | 僵尸

关卡转换允许玩家从一张地图转移到另一张地图,实质上使两个单独的关卡看起来像一个较大的地图。

为什么要进行关卡转换?

起源引擎尽管可以扩展,但可以处理的数据数量仍然有限.分割地图还可以在关卡设计过程中减少工作量和编译时间(毕竟你不想把你的vvis给气死对吧)

关卡转换的类型

双向转换

双向转换允许玩家在两张地图之间来回移动

单向转换

单向转换阻止玩家在完成地图转换后返回上一张地图,通过任意事件或障碍来阻止玩家回到上一张地图

关卡转换的方法/样式

无缝

  • 示例:
    • 连接两个房间的门或走廊

需要转移地点的

  • 示例:
    • 一个连接两个地图的传送门
    • 一个角色(普遍理解为玩家)被打昏,之后被拖入进了一个新的区域

游戏中无缝切图的示例

要做到无缝切图, 一个关卡的一部分包含在正在加载的下一关卡中."远程传送"这种的话是例外,玩家被转移到一个全新的世界或环境中.下面是HL2中的例子 d1_trainstation_01,游戏中的第一张地图.
D1 trn sta 01.jpg D1 trn sta 02.jpg D1 trn sta 03.jpg D1 trn sta 04.jpg D1 trn sta 05.jpg

  • 在第一张图片中,您可以在门口看到加载下一张地图的trigger_changelevel.
  • 在第二张图里,缩小后您可以看到地图实际上在第一张图片中门外的楼梯处结束。大部分关卡位于图片右侧。
  • 一旦玩家碰到changelevel,他们就会看到第3张图里的"载入",下一张地图将加载到当前地图上(此处可能可能有错译).
  • 现在玩家处于一个全新的地图中,但是从门的另一侧看,上一张图似乎仍在那里。.
  • 但是,如果缩小,您可以看到加载了新地图并且几乎完全删除了原来的地图。从上面缩小的截图中不再有上一张图的任何部分,而是左上角的全新区域。

创建无缝切图

首先,你的两张需要进行关卡转换的图必须要有:

  • info_landmark
  • trigger_changelevel
  • trigger_transition

首先,在可见区域中具有完全相同的固体和实体。这将使关卡转换无缝。你也可以在Hammer编辑器使用复制粘贴。

接下来,在两个关卡中,将info_landmark放置在相对于地图的完全相同的位置,然后起一个相同的名字。

Warning.pngWarning:如果不这样做,您将在地图更改时被传送到(0,0,0)处。

然后,在两个关卡中创建trigger_changelevel。可以不起名字。打开属性面板,在Landmark name一栏中输入你的info_landmark的名字,在New map name一栏中填写上一关卡或下一关卡的地图名,具体取决于trigger_changelevel所在的关卡。

Warning.pngWarning:在相同的相对区域中,会形成一个循环效果,当你进入下一关卡将立即回到原来的关卡。不要将它们放在相同的相对区域。
Tip.pngTip:将第二张地图中的trigger_changevel设置在第一张地图的后面。这可以防止玩家在生成后立即向后走,然后立即被送回上一张地图。

最后,在两个关卡中创建一个trigger_transition。(但不必要)这将是在两个关卡之间传送物品的区域。其名称应与info_landmark的名称相同。

需改变场景的切图

创建一个改变场景的切图

有四种不同的方法:

方法 1

按照无缝切图的步骤进行操作,但不包含与上一张地图相同的结构,如果需要的话你可以禁用传送到上一个关卡的trigger_changelevel。


方法 2

在开始之前,你的两张需要进行关卡转换的图必须要有:

首先,在第一关创建一个触发(trigger)纹理的小固体。并转为实体trigger_changelevel。在属性面板中,设置new map name为第二张地图,设置landmark name为info_landmark的名字。

然后,创建一个地标(landmark)区域。这可能需要一些尝试和错误来确定它应该放在哪里,以免在更换第二关中的墙时出现问题。

接下来,如果你希望物品能够继续使用,创建一个trigger_changelevel并将其命名与info_landmark相同的名称。这将把包含在该体积内的任何实体都传送到下一关卡。

然后,您可以创建一个指向您的trigger_changelevel的logic_relay。将目标输入设置为ChangeLevel。你可以把它放在玩家无法接触的地方。

在第二个关卡中,添加info_landmark(名称与上一个相同)。

你必须在第二张地图中创建第二个trigger_changevel,但这可能会被禁用,玩家无法访问。将新地图名称设置为第一个地图。将地标名称设置为地标的名称。


方法 3

(仅存在于 Portal 2 中)

在开始之前,你的两张需要进行关卡转换的图必须要有:

添加 point_changelevel,并创建一个输入,将目标输入设置为ChangeLevel,参数(parameter)设置为地图名称。不需要其他任何东西。

方法 4

(仅存在于 Left 4 Dead series 中)

在开始之前,你的两张需要进行关卡转换的图必须要有:

首先,在两个关卡各创建一个info_landmark。在两个关卡中将其设置为相同的名称。

最后,创建一个info_changelevel刷在安全屋。将新地图名称设置为下一个地图。将landmark name关键字值设置为地标(landmark)的名称。

也可以参考以下页面