Portal 2

Portal 2

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

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

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.
简介
正如 GLaDOS 曾经说过的,有时测试必须在测试室的范围之外进行。发生这种情况时,我们希望确保您了解其中的内容以及如何自行制作。因此,跟我一起走出测试室,进入“野外”的旅程。
断路器和工业按钮


在激活 underground 区域的照明灯时,断路器最为突出,但也用于激活油漆泵。这些断路器通常保持“断开”状态,而永不“闭合”(尽管您可以使用 logic_branch 调整 I/O,以便它们切换,就像 Portal Stories: Mel 中非常特殊的一个)。在合作中,其中两个串联使用,一旦完成“打开”操作,它们就会“关闭”。



要在墙上制作一个简单的断路器,您需要:
  • 盒子零件的 prop_static(要使用的模型:models/props_gameplay/circuit_breaker_box.mdl
  • 杠杆部分的 prop_dynamic(要使用的模型:models/props_gameplay/circuit_breaker_lever.mdl),其父级为...
  • 以杆铰链为中心的 func_door_rotating,2×2×10
  • 一个 func_button
  • 对于 FX(可选,但建议使用),一个或两个 ambient_generic(使用一些不错的声音是 World.LightPowerOnSwitchWorld.LightPowerOff01(到05)和 World.a303BigSwitch
  • 对于 FX(可选),两个相同命名的 env_spark
注意除了 prop_staticfunc_button 以外的所有东西都需要一个名称。

func_door_rotating 的设置(重要):



注意:除非断路器(由于未知原因)在地板或天花板上,否则您需要检查 func_door_rotating(取决于方向)的“X axis / X轴”或“Y axis / Y轴”标志,就像翻转面板一样。尽管这不是必需的,但也可能有助于检查 func_button 上的“Don't move / 不要移动”标志。

现在是 I/O。如上所述,有多种实现断路器的方法。让我们展示一下一个简单的断路器的 I/O:



我们一直看到的那些工业按钮怎么样?除了没有 func_door_rotatingenv_spark,并且按钮部分代之以 func_movelinear 之后,它与制作断路器的过程基本相同。以下是零件和组装体:


  • 按钮旋钮和基础部件的两个 prop_dynamic(要使用的模型:models/props_gameplay/push_button_base.mdlmodels/props_gameplay/push_button_knob.mdl)。将旋钮的父级设置为...
  • func_movelinear,2×2×2
  • 一个 func_button,长5个单位,宽8个单位,高11个单位(即尺寸5×8×11)
  • 对于 FX,为 ambient_generic(声音设置为 World.LightPowerOnMd
注意:和以前一样,除了 func_button 以外的所有东西都需要一个名称。

func_movelinearfunc_button 的设置(重要):



这里的“Delay Before Reset”键值与 PeTI 基座按钮上的计时器设置基本相同,唯一的区别是现在您可以选择所需或需要的任何时间长度(而不只是限于3-30秒或无限时间)。

这是按钮的 I/O ——相当简单的东西,因为它只是 func_button,您需要从中发送输出:



为了使这些按钮像一个基座按钮(prop_button)一样,您需要使用 OnPressedOnOut 输出从 func_button 添加额外的输出,就像我在这里所做的一样。

这些按钮在安装到那些黄色的 behind-the-scenes 电梯上时也很有用,例如在以 Underground 为主题的“致命黏性大湖”地图中。使用的模型不同,但是创建它们的过程是相同的(尽管您将需要的东西放在电梯上)。

注意:对于额外效果...
您还可以使用以下设置添加几个 env_sprite(一个表示“on”,一个表示“off”):



对于断路器,当 func_door_rotating 完全断开或完全闭合时,通过 ShowSpriteHideSprite 输入进行切换。对于按钮,在按下或释放按钮时执行此操作(即 OnPressed 和 OnOut 输出)。
Crusher / 破碎机
那致命的坑杀死了你吗?没有?那长钉板怎么样呢?



到目前为止,破碎机相对来说比较简单。您只需要:


  • 两个 trigger_hurt ——前面一个,后面一个
  • 两个 trigger_multiple ——前面一个,后面一个,与每个 trigger_hurt 的名称相同,因为它们用于杀死测试物体(立方体,炮塔等),而 trigger_hurt 用于杀死测试对象。
  • 一个 func_brush(用于确保坚固性,因为破碎机模型不是固体),其父级为...
  • 一个 prop_dynamic(将模型设置为 models/anim_wp/cursher/crusher.mdl
所有触发器应初始禁用。在每个 trigger_multiple 上,您需要首先将“Delay Before Reset”键值设置为“0”,并确保仅选中 NPCs,Physics Objects 和 Physics debris 标志(在“Flags”选项卡上)。

trigger_multiple 的输出(类似于使用致命的黏液):



与面板一样,您需要在以下输出中使用 logic_auto 来确保触发器和 func_brush 实际上跟随破碎机:



为了美学(并纠正破碎机动画中缺少的声音),我们可能还需要一些 ambient_generic。使用一些声音是 World.SlowCrusherCloseStartWorld.MpCoopTbeamMazeCrusherImpact(破碎机模型在解除破碎时具有自己的声音)。(可选)您可能还希望使用 prop_static(要使用的模型:models/props_gameplay/crusher_floorplate.mdl)包括破碎板。确保将其从要放置的墙上移出0.25个单位,或者(最好)为其创建192×192×32的孔。

为了使破碎机保持运行状态,您需要一个具有大约7-8秒的 Refire Interval / 触发间隔和以下 I/O 的 logic_timer



确保您的破碎机有合适的孔,因为它们需要很大的孔。除了用于破碎机臂的448单位(3½ PeTI 体素)之外,您还需要256个单位的空间(2个 PeTI 体素)来粉碎东西。每个破碎机的孔的宽度和高度均为192个单位(1½ PeTI 体素),所有侧面都额外增加了32个单位(除非空间狭窄)。

现在,有些人可能希望控制 Aperture 的破碎机。好吧,希望现在您可以自己找出实现此目标的最佳方法...使用按钮或 trigger_once ——可预测的东西,或者花费额外的时间和逻辑实体使其可预测。

那么,我们在哪里发送输入?好了,您可以简单地通过使用 Toggle 输入来切换计时器。启用计时器后,您可能还需要分别使用 FireTimer 和/或 ResetTimer 输入。所有这些也许最好在 logic_branch 中完成(我为 logic_timer 使用了 Enable/Disable 输入;初始值为1):

Grinder/Shredder / 研磨机/碎纸机
啊,不是掉进泥泞的钉子盘了吗?那好吧,让我们尝试一下...尖锐的刀片之墙!



粉碎机又名切碎机从未真正启动或停用过,它们通常只是在持续运行。你需要:


  • 与破碎机相同类型的 trigger_hurt,但可以覆盖研磨机所在的坑
  • 一个 trigger_multiple,与同类型的破碎机具有相同输出,但适合于覆盖研磨机所在的坑
  • 几个 prop_dynamic,模型设置为 models/props_gameplay/shredder_left_b.mdlmodels/props_gameplay/shredder_right_b.mdl
  • 几个 prop_static,模型设置为 models/props_gameplay/shredder_left_a.mdlmodels/props_gameplay/shredder_right_a.mdl
  • 用于每个 prop_dynamicfunc_rotating,16×16×1024,以每个研磨机模型为中心
注意,不要使用研磨机模型 models\props_gameplay\shredder.mdl 的内置动画,这很重要,因为它具有视觉上的毛刺(动画要循环播放时,它会跳过一点)。这就是为什么我们需要使道具的父级设置为单独的旋转器的原因。

每个 func_rotating 的设置:



是的,甚至“Flags”选项卡上的内容也很重要。否则,您的粉碎机/碎纸机将无法正确旋转。

现在,假设您确实确实出于某种原因而关闭了研磨机(也许是为了免除那些可怜的炮塔)。在这种情况下,这里是通过按钮触发 logic_branch 进行的 I/O 样例(当然,用于切换;初始值为1):



研磨机/切碎机还需要一个凹坑:长1024个单位(10个 PeTI 体素),宽256个(2 PeTI 体素)单位,深至少192个(1½ PeTI 体素)单位。通常,在坑的边缘周围有陡峭的斜面,用于这些致命的东西。
输送带


不,不,我甚至不去那里。VDC Wiki 对我来说做得太好了,不想在此处重新发布内容,因此在本节中,我将介绍您...
现在,抱怨 VDC Wiki 的其余部分与该页面不一样,所以请更新:P
避免错误和更多信息
  • 断路器杆角度不正确
  • 马虎破碎机设计
  • 马虎研磨机设计
  • 马虎的输送带设计
来自 VDC Wiki 的更多信息:
主指南列表
请注意,部分工作仍在进行中。当我为您完成更多指南时,本节将更新!

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

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

上一指南(编译地图)
下一指南(关于 Aperture Science 气动通风管)

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