Portal 2

Portal 2

Not enough ratings
p0rtalmaster 的 Hammer 指南系列 18/19
By idontknow and 1 collaborators
您好,欢迎阅读我的迷你指南系列的第18/19部分,旨在帮助您了解 Portal 2 创作工具最大的组成部分:Hammer。

要获得该系列的超快速版本,请查看我的另一篇指南,《慌乱的 Hammer》
   
Award
Favorite
Favorited
Unfavorite
这是一个翻译副本 / This is a translated copy
原指南 / Original guide:
http://steamproxy.net/sharedfiles/filedetails/?id=689810737
本指南中出现的 “我” 均指原作者。/ All "I" in this guide mean the original author.

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.
简介
该系列即将结束。

本指南重点介绍需要多个测试对象的测试方面。通常,由于较高的合作成功率(准确地说,大约6秒),这些测试对象将是机器人。Valve 为我们创建了实例,这些实例可以在 maps\instances\coop 文件夹中找到(如果需要,可以研究它们),但是要从头开始做 Science,请继续阅读...
那么,什么使合作地图如此特别?
老实说,真的没什么。按钮仍将是按钮,立方体或凝胶滴管,激光或强光桥仍将是通常的测试元素。在谜题创建方面,与单人游戏模式有一些不同的方面,例如:
  • 两个测试对象都应参与解决难题。
  • 所有4个传送门都应参与解决难题。
  • 合作难题有多种类型,例如分开,角色交换或“信任难题”。
  • 最重要的是,这对所有人都应该很有趣 —— 一个测试对象不应该垄断这个难题。
为了防止意外的解决方案(也称为漏洞利用),与单人游戏地图相比,玻璃,格栅和 Fizzler 在合作地图中更为突出。方块和球形按钮在合作地图中也更为突出,因为一个玩家可以站在地板上的按钮上,让另一名玩家做事。

重要说明:为了将自定义合作图作为合作地图读取,文件名必须以“mp_coop_”开头。
开始合作地图


如果您知道如何创建自定义方块掉落器,那么比开始创建合作图要容易。您将使用 info_coop_spawn 代替顶部的 env_entity_makerpoint_templateprop_weighted_cube。在 Hammer 中,它看起来与 info_player_start 相同,但它专门用于生成 Aperture Science 的测试机器人 ATLAS(蓝色)或 P-Body(橙色)。

注意:尽管您已经为玩家定义了一个生成点,但是您仍然需要在地图中使用 info_player_start 来避免编译问题。

区分机器人掉落器和方块掉落器的一些好处:
  • 掉落器模型的皮肤始终固定在蓝色或橙色上,与立方体掉落器不同,它永远不会改变。
  • 出于明显的原因,有比通常用立方体掉落器多的 clip 笔刷(您不希望机器人被卡在壁架上,现在可以吗?)。
  • 每次机器人将要退出掉落器时,其逻辑和美学都会略有不同:
    • 掉落器应立即打开,因此有一个 trigger_playerteam 可以检测机器人何时在掉落器中。机器人在 trigger 中时,掉落器都会打开;机器人离开 trigger 时,掉落器会关闭。
    • 每次打开掉落器时都会播放一种声音:ambient_generic,声音设置为 World.RatMazeDownStopAir
    • 还有一个设置为 coop_spawntube_steaminfo_particle_system,它也在掉落器打开时启动,而在掉落器关闭时停止。
重生室还包含测试室标志。传统上,当机器人进入房间时,此功能会打开;当两个机器人都离开房间时,此功能会关闭。

如果所有这些听起来对您来说都太具有挑战性或太多了,那么您还可以在重生室中用到几个实例。
合作模式的出口门


是的,这些是带有照相机的特殊门,您可以在其中嘲讽宇宙中任何备用的 GLaDOS。除了打开门所需的常规物品(例如按钮或激光接收器)之外,两个玩家都需要在门前才能打开它。

虽然可以使用触发器,几个 logic_branchlogic_branch_listener 来完成任务,但首选使用的逻辑实体是 logic_coop_manager。本质上,它可以完成两个 logic_branchlogic_branch_listener 的工作,但是它是专为合作图设计的。它仅管理两组值,因此您可以跟踪某物的“蓝色”状态和某物的“橙色”状态,比较两者,然后根据这些状态发送输出。



现在,让我们将其放在合作门的上下文中。假设您的门没有任何其他输入,则需要:
  • 一个 trigger_playerteam
  • logic_coop_manager(初始状态均为 False)
  • 用于测试室门的东西(如果您忘记了这一点,请重新阅读指南04)——与单人游戏不同,它不会关闭(但如果您确实愿意,可以将其关闭)。
  • npc_security_camera,“Autostart”标志未选中
  • logic_auto
  • 4个用于组织的 logic_relay
  • 两个 env_sprite,以相机为父级(这些闪光灯会开/关闪烁以表明机器人在相机附近)
  • 两种环境声音,声音分别设置为 Portal.button_downPortal.button_up(这些声音在 prop_button 中使用,并且会随着精灵的闪烁而播放)
  • 两个带有 env_texturetoggle 的叠加层(纹理设置为 signage/signage_coop_teamdoor_orangesignage/signage_coop_teamdoor_blue)将在精灵闪烁时切换纹理——某种程度上类似于指示灯选中标记。
    • 注意 func_brush 实体可以代替此处的叠加层使用。
  • 建议将 prop_static 的模型设置为 models/props/sign_frame02/sign_frame02.mdl。在这种情况下,覆盖层将安装在小的细节笔刷上,而不是与墙壁齐平。
除了相机和 logic_auto 以外的所有东西都需要一个名称。首先:env_sprite 的设置:



现在是 I/O。logic_auto 将把输出发送到精灵,专门将它们的父级设为相机,就像面板顶部以其手臂模型为父级一样:



对于 trigger_playerteam



对于每个 logic_relay



对于 logic_coop_manager



...就是这样。如果您设置了用于打开/解锁门的按钮或激光接收器,则可以通过 math_counter 将所有输入集中到门上。
自动存档点:Airlock


来自开发者评论(致谢 Garret Rickey):
Originally posted by Garret Rickey:
引入 Airlock 的主要目的是让玩家专注于各个谜题。在我们的一些早期调查中,一些区域包含了需要整体解决的难题,而其他区域则需要单独解决。但是我们发现,如果玩家可以在他们之间自由移动,他们在逻辑上就认为单个难题是一个大难题的一部分。这是不好的结果。为了清楚起见,我们创建了这些类似气闸的重生室,它们充当谜题之间的检查点。一旦两个玩家都进入了气闸,我们就会锁掉退路。

一旦知道如何创建合作门和重生室,气闸就非常容易创建。由于不能方便地保存合作游戏,因此它们的意思是替换单人游戏模式中的自动保存。基本创建过程:

1)创建一个类似门的机制。经典模型使用4个面板(2个地板,2个天花板),这些面板在前面打开并在后面关闭(更多研究细节可以在实例 maps\instances\coop\coop_flipglass_door.vmf 中找到,但要小心使用过多的逻辑实体)。其他主题可以使用其他门,例如重型安全门。

2)为生成室创建东西,但请确保将 info_coop_spawn 的名称与原始生成室中的名称不相同。

3)当两个机器人都进入气闸时,我们不仅要完成所有“打开合作门”的工作,而且还要切换生成点。因此,您需要向 info_coop_spawn 附加输出:



4)不要忘记在气闸中或气闸附近的某个地方(最好是前后)放置 Fizzler。请记住,这些设备与最初旨在防止测试对象在测试区域之间走私测试物品的设备相同。

因此,现在您可以使用它来自动分离难题。
结束合作地图
...没什么花哨的。实际上,您所需要做的就是使两个机器人都达到“最终状态”,然后将输出发送到 global_pti_ents 实例,就像在单人游戏中一样。

“但是那些拆卸机呢?”您可能想知道。好吧,我有一些好消息和一些坏消息。好消息是,您现在应该已经可以理解其组成的所有内容。坏消息:几乎所有细节:声音/音乐,精心放置的动态道具,env_fade 和两个 point_viewcontrol。如果您想了解拆卸机的实际工作方式,我建议研究其中包含的实例。这包括 underground 主题的实例,在这些实例中,机器人只是掉下去而不是被拆卸掉。
孤身一人?
没有合作伙伴来测试您的合作作品吗?您可以通过控制台尝试一些技巧:
  • 使用 ss_map 控制台命令以分屏模式加载合作地图。有一个菜单选项可控制如何分割屏幕。
  • 要使用一组控件控制第二个玩家,请使用 in_forceuser 命令(最好绑定到某键——为此,我使用 R 键)。这是一个作弊命令,因此您需要首先将 sv_cheats 设置为1。
如果您确实有合作伙伴可以进行测试,尽你所能使用和滥用,那么他们不仅会指出解决您地图中的问题,而且可能会涉及到更深层次的自己根本无法轻松测试的技术问题和故障(通常与网络使用情况有关)。

译者注:这里推荐单人测试合作图的更为简单的方法(来自这篇指南):
在游戏内置编辑器中创建一张新地图,将它切换成双人地图,然后运行该双人图,打开控制台,输入命令 changelevel <mapname> 即可,其中 <mapname> 为你在 Hammer 中编译的合作地图名称,默认 R 键切换玩家。
更多信息
来自 VDC Wiki 的更多信息:
主指南列表
请注意,部分工作仍在进行中。当我为您完成更多指南时,本节将更新!

您当前正在查看该系列的第18/19部分。

| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

上一指南(关于 auto-portals 与旋转传送枪)
下一指南(惊喜)

请随时在下面留下一个合理的问题或评论。我或合格的实验室助理(您会知道,因为他们在 workshop 中制作了所有好的地图)都会做出回应。 如果您的问题或评论不合理,我建议您再次阅读我的指南,直到您100%理解它们。 这里不需要或将不需要进一步的信息,使用 Hammer,您将成为出色的实验室设计员!