Portal 2

Portal 2

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

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

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.
简介(和轻微警告)
您现在已经到达了我指南的高级部分。希望您现在对 Hammer 以及它可以做什么感到很舒服。现在,您应该完全了解这个功能强大的工具,如果您不了解,那么现在是继续阅读我之前的指南来反思您的缺点的好时机。
大入口...


...到任何普通的测试室或巨型球体都是从电梯开始的。它还以电梯结束。



进入良好电梯入口的大部分原因只是细节,主要是 prop_staticfunc_detail,还有偶尔的 prop_dynamic 动画(例如,玩家头顶上方的风扇)。我强烈建议您在尝试自己的设计之前先检查一下 Valve 的地图和实例,看看它们是如何做的(以 _base 结尾的实例可以用于深入研究)。但是对于电梯的核心部分,您需要:
  • prop_dynamic,它将是电梯模型。根据您的主题,它可以是 models\elevator\elevator_b.mdlmodels\elevator\elevator_escape.mdlmodels\props_underground\elevator_a.mdl(需要其他几个模型和一些其他东西;这些模型应该在附近)。
  • func_tracktrain(画笔实体;为此使用 nodraw),为主题设置了相应的声音。如果不在巨型球体中,则速度(“Max Speed”键值)通常为300(尽管 Valve 有时会使用较慢的速度)。否则,使用速度为120。
  • 一些 path_track 控制电梯的速度。func_tracktrain 将沿着通过这些实体的键值链接而创建的路径移动。
  • 一些 trigger_onnce 可以使事情进展,更改灯光和视频等。
  • 位于电梯内的 info_player_start
  • 一个weapon_portalgun 如果您希望/需要您的玩家带着传送枪开始。
  • env_soundscape(重新阅读指南3以了解原因)
组装图应该真正简单直观:



1)调整 func_tracktrain 的形状,使其仅覆盖电梯的顶部和底部(prop_dynamic)。为此,您需要两个笔刷。

2)定位您的 path_track,使其跟随电梯井道。

3)在电梯内部,放置其余实体。

4)相应地为 prop_dynamic 设置 I/O 和动画。因为这是我在本系列中的第一个“高级”指南,所以您将自己动手做这个。只需记住使用 Model Browser / 模型浏览器来查找电梯的动画,例如开门和关门(您还将找到 pre-arrival / 到达前和 pre-departure / 离开前的动画)。


以下是事件的一般流程,可帮助指导您的 I/O 设置:

1)当玩家在电梯中生成时,让它移动并调整灯光。如果不在巨型球体中,请打开电梯视频。

2)当玩家到达时,一旦停止,再次调整灯光并进行动画处理以打开电梯(如果不在巨型球体中,则将其包含在内)。

3)如果不在巨型球体中,则每当玩家进出电梯时切换音景(使用 env_soundscape 或可触发的变体)。

4)如果不在巨型球体中,请关闭视频,调节照明并再次切换音景。

您可以随时尝试添加语音线路(使用 ambient_genericlogic_choreographed_scene)。

如果不在巨型球体内,通常使用的音景为:
  • EntryExitElevator.Interior 用于电梯的内部,
  • EntryExitElevator.Exterior 用于电梯的外部(如果使用 clean 或 late reconstructing 主题),以及
  • EntryExitElevator.IndustrialStairs 用于楼梯和实验室前室区域。
否则,您可以从通常的巨型球体声景开始(ug_sphere_water_01 是一个不错的开始)。

在电梯室之后,如果您的谜题没有发生在巨型球体内部,那么通常会有一个带有测试室标志的前室(例如,在许多 GLaDOS 的测试室和每个 PeTI 地图中)。对于标志,最好使用实例 instance/p2editor/info_sign_sp_clean.vmf。该实例将正确显示名称和(希望在 Valve 修复后)您所处实验室的编号,以及带有哪些测试元素的危险/信息标志。
实验室出口
首先,无论您有什么主题,作为 Aperture Science 的安全措施之一(以及作为防作弊装置),我们都需要在玩家到达电梯之前使用 Fizzler。请重新阅读指南11的详细信息,因为该 Fizzler 没什么特别的——它甚至有一个实例(在 instances\gameplay 目录中)。它始终保持打开并激活状态。当玩家经过这个 Fizzler 时,测试室的出口门(如果有的话)也在它们后面关闭。

如果您在巨型球体中工作,让玩家随心所欲非常简单:只需逆转电梯进入的过程即可。否则,您将需要像以前一样做更多的事情。您将需要相同的内容,但是当然没有 info_player_startweapon_portalgun

同时,在其他电梯房间中,您也要逆转电梯进入的过程,但是请记住,随着玩家进入,他们需要一个触发器来打开而不是关闭电梯视频(我认为您仍在玩游戏时他们不应该关闭,但是如果您想在玩家离开时关闭,请继续)。
电梯视频


您可能想知道如何实现这些。真的很容易:您只需要使用 vgui_movie_display 实体,并将其设置为在触发时播放视频(使用通过 trigger_once 使用启用输入)。您可以通过设置“Movie Filename”键值来选择视频(请在 VDC Wiki 上找到要使用的视频文件列表)。 Portal 2 视频文件使用 Bink Video(.bik)文件格式,并且自定义 .bik 无法嵌入到 workshop 的任何地图中。

对于被这些视频包围的圆形电梯间,您将需要几个这样的实体,每个实体具有不同的 U(水平)和 V(垂直)最小值和最大值。由于每个实体将具有一组不同的 U 和 V 值,因此必须分别命名(是的,每个个体——不能组合)。首先,您需要通过 logic_auto 在每个 vgui_movie_display 上使用 SetUseCustomUVs 输入。然后,您需要使用 SetUMaxSetVMax 输入以及一些用于组织的 logic_relay

每个电梯视频的背景都只是一个带有纹理的 Worldbrush,其表面上是 elevator/elevator_screen(或残破的变体)之类的纹理。接下来,对于每个屏幕,实体都位于画笔的左下角和0.25个单位之外(否则存在看起来很奇怪的“Z-fighting”效果)。最后,对于每个 vgui_movie_display,将 width 和 height 设置为每个面板的宽度和高度(幸运的是,如果面板的尺寸都相同,则可以一步完成)。



尽管该实体位于原处,但这并不能完全反映其使用的 UV 比例。U = 0 一直在左边,而 U = 1 一直在右边,V = 0 在顶部,而 V = 1 在底部。重新调整视频显示的每个 vgui_movie_display 时,请记住这一点。同样的 UV 缩放比例也可以用于重新缩放 overlay / 覆盖层(但是在这里我们使用键值而不是输入)。

在一些 Valve 的电梯室中,要从中拆分的 U 值为 1/23 的倍数。要拆分的 V 值甚至更简单:0.0、0.5和1.0。Valve 最终决定编写一个脚本 video_splitter.nut(使用记事本打开),以处理视频分割,因为它很复杂,并且还能够方便地创建各种视频分割效果。但是,这并不意味着您需要知道如何编写脚本来使电梯视频正常工作。

通常创建一个 trigger_once,让玩家开始离开电梯室以关闭视频和一些灯光。相同的 trigger 还会打开测试室或包含测试室标志的前室的门。
开始和结束 Behind-the-Scenes 关卡


这些通常没有电梯。取而代之的是,这些房间只有一个很小的房间,只有四个实体(除了通常的细节工作之外):
  • info_player_start
  • weapon_portalgun 如果您想/需要您的玩家带着传送枪开始
  • env_soundscape(重新阅读指南3,以了解原因)
  • env_fade 用于淡出淡入效果(黑色渐隐)
根据您的主题,您还将使用 Aperture Science 1600兆瓦重型工厂安全门(prop_dynamic,模型设置为 models/props/vert_door/vert_door_animated.mdl)或玩家打开的栅栏门(prop_dynamic,模型设置为 models/props_underground/underground_door_dynamic.mdl)。理想情况下,在玩家的另一侧或后侧应该有另一扇门以求合理(毕竟是过渡走廊,对吗?)。

确保给能被打开的门雕刻或构造出一个洞! 对于栅栏门,您只需要一个高112单位,宽56单位的洞(建议将墙壁的厚度薄到2-16单位)。您也可以在栅栏门上使用框架。对于安全门,您需要为其雕出一些特殊的框架(常规尺寸为192单位宽,256单位高和32单位厚):



最后,如果门不能被打开,则不需要打洞。

要打开和关闭门,只需使用 logic_auto(当测试对象首次开始时)和一些 trigger_once(当退出时)来为门设置动画(检查 Model Browser / 模型浏览器或 prop_dynamic 的“Model / 模型”选项卡以获取动画列表)。
结束 Workshop 地图的正确方法
有些人不知道如何正确结束地图。似乎此页面错过了他们的视线。是的,您确实需要允许玩家在地图中投票; 我不在乎您是否要阻止玩家投反对票。

因此,要正确结束地图:

1)创建一个 func_instance 并将“VMF Filename”键值设置为“instances/p2editor/global_pti_ents.vmf”。给它起个名字。
2)在您希望玩家结束地图的地方创建一个 trigger_once
3)发送输出(有或没有延迟)以触发实例执行其操作。
4)获得赞成票和宽慰的感谢之词,如果您以前没有这样做过。
5)???
6)获益
避免错误和更多信息

  • 哦,等等...我真的无法想到目前有任何重大错误。
  • 很高兴知道,是吗?现在,我通常会停止列出这些,但是请不要继续发布未完成的地图。

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

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

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

上一指南(优化地图)
下一指南(编译地图)

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