Portal 2

Portal 2

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

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

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.
简介
“重要的仪器排气口将提供...”
〜GLaDOS

这是有关 Aperture 用于凝胶和立方体的重要设备通风孔的更高级指南,因此可以绕过而不会失去连续性,就像某些测试室有时以相同的方式绕过一样。话虽如此,它们是相当重要的设备,因此,我至少会向您展示一些开始的地方。
使用 Valve 的实例
如果您很懒惰并且真的没有时间创建自己的方块放置器实例,则可以使用 Valve 在他们的地图中使用的实例之一。它们位于 maps\instances\gameplay 目录中:
  • cube_dropper_shared.vmf:这是方块掉落器的核心实例,其中包含使其正常工作所需的所有逻辑物体。
  • cube_dropper_monster_box.vmf:用于掉落怪物方块而不是普通的方块。可能有故障。
  • Reflectionocube_dropper_*.vmf:用于重定向方块而不是普通方块。
  • sphere_dropper_*.vmf:用于无边安全方块,而不是普通方块。

注意,上面还有“dirty / 肮脏”的版本(球体除外),用于 decayed 主题图和 reconstructing 主题图。
另外,请注意,Valve 的某些实例是为特殊的一次性游戏场景制作的,或者是开发阶段遗留下来的实例,并且可能有故障。

要控制它们:
  • 要通过触摸按钮掉落方块,请触发在实例内部的 $trigger_to_drop_box@cube_dropper 实体。
  • 要启用自动重生,请使用 logic_auto 并将其设置为启用在实例内部的 @cube_dropper_autorespawn 实体。
  • 如果要让方块初始掉落,则还需要使用 logic_auto(或在入口旁边设置 trigger_once)。简单地将其设置为一次性掉落一个方块即可。

如果需要,我还建议调整这些实例以适合您的需求。只要确保将其保存在单独的文件中即可。
从零开始的 Science:制作自己的方块掉落器
我本人花费了相当多的时间,想知道要制作一个完美的方块掉落器需要多少个裸实体,我想我对这个数字已经得出了相当明确的结论:7。其余只是细节。核心是:



  • 一个 prop_dynamic,它将是掉落器模型
  • 一个 point_template
  • 一个 env_entity_maker,在每次迷路时不断生成方块
  • 一个 prop_weighted_cubeprop_monster_box,因为我们所有人都喜欢我们的同伴方块!
  • 一个 logic_auto
  • 一个 trigger_multiple,设置为仅过滤方块(使用 filter_activator_class 来完成这项工作)
    (译者注:纹理为 tools/toolstrigger,大小为96x96x156)

point_templatelogic_auto 外的所有内容都需要一个名称(译者注:仍然建议给 point_template 起名)。首先,在 env_entity_maker 中,将其“Point_template To Spawn / 要生成的 point_template”键值设置为你的 point_template,并在 point_template 中的“Template 1”下设置方块的名称。

对于“细节”部分,有:
  • 按钮或其他激活器,除非您的方块会自动重生
  • 修剪刷(如果您的掉落器靠近地板,则很有用)
    (译者注:纹理为 tools/toolsinvisible,大小为96x96x8的正方形块,再剪去4个角,每个角的直角边都是32个单位长,绑到实体 func_brush
  • 照明以匹配掉落器皮肤变化(请参见 Valve 的重定向方块实例以了解实现它的好方法)

要进行此设置,您需要相应地放置所有实体:



接下来,您需要设置 I/O:



上图中有几点需要注意:
  • “dropper01”是 prop_dynamic 的名字,它显示掉落器的动态模型。
  • “dropper_clip01”是(可选的)修剪刷(func_brush)。
  • “cube_spawner01”是 env_entity_maker
  • “!activator”指碰到 trigger / 触发器 的任何物体(在这里是那个方块)。
  • “!self”指它自己的实体本身。
  • 所有的 Delay 或者其中缺少的都很重要。
(译者注:AddOutput 这个输入的作用是给目标实体添加一个自定义输出,它需要一个参数,参数内容表明了自定义输出的具体内容,它的参数格式为
<输出名称><空格><目标实体名称>:<目标输入>:<输入参数>:<延时>:<最多输出次数> 例如: OnUser1 !self:Dissolve::0:1 表示给实体(在这里是那个方块)添加一个输出。 输出名为 OnUser1 目标是 !self(它自己) 输入为 Dissolve(溶解,就是分解方块) 参数为 空的(什么都不写) 延时为 0(单位为秒) 输出的最多次数为 1(-1代表不限次数)
通过触发 FireUser1 这个输入就会触发 OnUser1 这个输出,从而触发 Dissolve,达到分解方块的目的,而 FireUser1 是在哪被触发的呢?在 prop_button 的输出那。也就是说,按下按钮并不是直接掉落一个新的方块,而是先分解掉已经到手的方块,通过该方块被分解的输出去触发 trigger,再掉落一个新方块,值得注意的是,这是启用自动重生功能的触发方式,若禁用自动重生,触发方式有些不一样,但大同小异,请读者自己思考思考即可)

...现在您有了一个,可以感到自豪的方块掉落器。
(译者注:需要在 trigger_multiple 的属性框中,选择 Flags 选项卡,确保勾选 Physics Objects,同时取消勾选所有其他的)

若要模拟“自动掉落第一个立方体”的行为,请使用一个 trigger_once(放置在游戏室起点附近或当玩家进入含有掉落器的房间时的某个位置)代替第一次按下按钮。

要 启用/禁用 自动重生,只需 添加/删除 来自方块的 output / 输出(译者注:还需要将按钮输出到 trigger 的 Enable 输入的 Only Once 设置为 No)。

所有方块掉落器都需要警惕的一件事是,如果您没有在输入设备上使用普通的基座按钮(prop_button)。在这种情况下,您可以使用附加的 logic_relay 将输入控制为3秒的间隔(假设自动重生已禁用),以防止垃圾邮件发送者(译者注:应该是指那些狂按按钮卡 bug 的玩家)破坏所有内容:

预放置方块的掉落器
为此,您需要具有相同类型的方块和方块掉落器(请参见上文...)。

如果您没有启用自动重生功能,并且有一个用于激活掉落器的按钮:
1)创建方块并为其命名。
2)创建您的按钮并将其设置为在按下时掉落一个立方体。
3)为该按钮设置一个附加输出:按下时 fizzle(溶解、分解)掉预先放置的方块。

如果您启用了自动重生功能,并且掉落器没有按钮:
1)创建您的方块并将其设置为掉落一个方块。
2)就这样!

这样做的好处是,现在您可以(例如)将一个立方体放在高处的壁架上,而将掉落器放在房间的中间,这样玩家就不必再经历繁琐的重拾立方体的工作了 。当玩家进入一个区域时,您还可以使用它使立方体离玩家更近,而使掉落器离玩家更远。
开放性掉落器
与我们看到过无数次的门控立方体掉落器相比,这些容器更容易制造。

为此,您需要:



  • 一些 prop_static,用于输送方块的气动分流阀(通风管道)
  • (可选)使用一些 trigger_push 将方块移出其生成位置并移入测试区域
  • 一个带有 filter_activator_class(设置为 prop_weighted_cube)的 trigger_multiple
  • 一个 logic_relay
  • 一个 prop_weighted_cube(或 prop_monster_box),一个 point_template 和一个 env_entity_maker

命名除 prop / 道具和 trigger / 触发器之外的所有东西,然后像以前一样,在 env_entity_maker 中,将“Point_template To Spawn”键值设置为您的 point_template,然后在 point_template 的“ Template 1”下设置方块的名称。



如果您没有启用自动重生功能,并且有一个用于掉落器的按钮(译者注:仍然要注意 trigger 的 Flags):



如果您启用了自动重生功能:

掉落器与 prop_paint_bomb
有趣的是,并非总是以相同的方式分配所有凝胶。有时是流动的,有时则是巨大的凝胶球。我们将很快看到如何创建前者,但是后者需要另一个实体:prop_paint_bomb。无论哪种情况,都可以设置要使用的凝胶类型。

尽管开放式掉落器并不是真正用于立方体,但它们却用于那些大型“paint bombs / 涂料炸弹”,因它们具有被弹射板弹起的能力而被可爱地利用(译者注:难道你还不知道弹射板可以弹射凝胶球吗?)。创建过程几乎与带有自动重生的开放式掉落器相同,但是由于掉落器可以不断地落下胶弹,因此如果您有输入设备,则需要使用 logic_relay 来控制胶流。详细信息如下:

你需要:



  • 一些 prop_static,用于输送凝胶的管道模型
  • 一个 logic_relay
  • 一个 prop_paint_bomb,一个 point_template 和一个 env_entity_maker
  • 根据您的输入设备,第二个 logic_relay

命名除 props / 道具 以外的所有东西,然后像以前一样,在 env_entity_maker 中,将其“Point_template To Spawn”键值设置为您的 point_template,并在 point_template 中的“ Template 1”下设置 prop_paint_bomb 的名称。



设置与开放式滴管相同。但是,I/O 有所不同。

如前所述,如果您没有输入设备,只是想让凝胶继续流动,那么您甚至不需要 logic_relay。您需要做的就是设置 prop_paint_bomb(通过 OnExploded,而不是 OnFizzled 输出),在半秒钟后生成一个新的(使用 env_entity_makerForceSpawn 输入)。

如果您有一个基座按钮(可能上面有一个滴答计时器):



与方块掉落器一样,当涉及任何其他输入设备时,I/O 也会有所不同。在这种情况下,您将需要第二个 logic_relay 以及所有这些 I/O:



这将防止垃圾邮件发送者(译者注:应该是指那些狂按按钮卡 bug 的玩家)对您的凝胶掉落器造成严重破坏。
避免错误和更多信息
  • 除了在方块或凝胶掉落器中使用太多实体外,我真的想不出很多错误。
  • 忘记调试掉落器可能是一个错误,但总的来说...
  • 在 Workshop 的 Hammer 地图中,掉落器并不总是很常见,因此对于本指南,我似乎找不到很多错误。
  • 那很好,不是吗?

来自 VDC Wiki 的更多信息:
主指南列表
请注意,部分工作仍在进行中。当我为您完成更多指南时,本节将更新!

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

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

上一指南(关于指示灯和复选标记 / 计时器)
下一指南(关于面板和平台)

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