关卡转换
概括性的地图制作系列 讨论你的想法——帮助我们写你需要的文章和想法 |
---|
弹药 | 生物 | 蚁狮 | 光束和激光 | 线缆和绳子 | 动态的天空与云雾 | 颜色理论 | 战斗 | 联合军 | 门 | 尘土、雾、烟 | 升降机 | 关卡转换 | 环境光效、太阳、天气、室外 | 爆炸 | 火焰 | 植被 | 玻璃和窗户 | 梯子 | 光效 | 优化 | 物理 | 视网膜扫描仪 | 声效和音乐 | 特效 | 地形 | 火车 | 机枪塔 | 水 | 僵尸 |
关卡转换允许玩家从一张地图转移到另一张地图,实质上使两个单独的关卡看起来像一个较大的地图。
为什么要进行关卡转换?
起源引擎尽管可以扩展,但可以处理的数据数量仍然有限.分割地图还可以在关卡设计过程中减少工作量和编译时间(毕竟你不想把你的vvis给气死对吧)
关卡转换的类型
双向转换
双向转换允许玩家在两张地图之间来回移动
单向转换
单向转换阻止玩家在完成地图转换后返回上一张地图,通过任意事件或障碍来阻止玩家回到上一张地图
关卡转换的方法/样式
无缝
- 示例:
- 连接两个房间的门或走廊
需要转移地点的
- 示例:
- 一个连接两个地图的传送门
- 一个角色(普遍理解为玩家)被打昏,之后被拖入进了一个新的区域
游戏中无缝切图的示例
要做到无缝切图, 一个关卡的一部分包含在正在加载的下一关卡中."远程传送"这种的话是例外,玩家被转移到一个全新的世界或环境中.下面是HL2中的例子 d1_trainstation_01,游戏中的第一张地图.
- 在第一张图片中,您可以在门口看到加载下一张地图的trigger_changelevel.
- 在第二张图里,缩小后您可以看到地图实际上在第一张图片中门外的楼梯处结束。大部分关卡位于图片右侧。
- 一旦玩家碰到changelevel,他们就会看到第3张图里的"载入",下一张地图将加载到当前地图上(此处可能可能有错译).
- 现在玩家处于一个全新的地图中,但是从门的另一侧看,上一张图似乎仍在那里。.
- 但是,如果缩小,您可以看到加载了新地图并且几乎完全删除了原来的地图。从上面缩小的截图中不再有上一张图的任何部分,而是左上角的全新区域。
创建无缝切图
首先,你的两张需要进行关卡转换的图必须要有:
- info_landmark
- trigger_changelevel
- trigger_transition
首先,在可见区域中具有完全相同的固体和实体。这将使关卡转换无缝。你也可以在Hammer编辑器使用复制粘贴。
接下来,在两个关卡中,将info_landmark放置在相对于地图的完全相同的位置,然后起一个相同的名字。
然后,在两个关卡中创建trigger_changelevel。可以不起名字。打开属性面板,在Landmark name一栏中输入你的info_landmark的名字,在New map name一栏中填写上一关卡或下一关卡的地图名,具体取决于trigger_changelevel所在的关卡。
最后,在两个关卡中创建一个trigger_transition。(但不必要)这将是在两个关卡之间传送物品的区域。其名称应与info_landmark的名称相同。
需改变场景的切图
创建一个改变场景的切图
有四种不同的方法:
- 模仿上述方法但没有无缝切图。
- 用逻辑触发触发器。
- point_changelevel (仅存在于 中)
- info_changelevel (仅存在于 中)
方法 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
在开始之前,你的两张需要进行关卡转换的图必须要有:
添加 point_changelevel,并创建一个输入,将目标输入设置为ChangeLevel,参数(parameter)设置为地图名称。不需要其他任何东西。
方法 4
在开始之前,你的两张需要进行关卡转换的图必须要有:
首先,在两个关卡各创建一个info_landmark。在两个关卡中将其设置为相同的名称。
最后,创建一个info_changelevel刷在安全屋。将新地图名称设置为下一个地图。将landmark name关键字值设置为地标(landmark)的名称。