Portal 2

Portal 2

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

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

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.
介绍
上篇指南向您介绍了如何制作基本房间。房间的确制造起来并不难,所以让我们对它们做更多的事情:玻璃,光栅和照明。这些指南将使用一个基本的 clean 主题。还有其他一些,但这是一组不同的指南,尚未发布。
Glass / 玻璃 和 Grating / 格栅
在 Portal 2 中,玻璃(或格栅)不仅是房间之间的纹理平板。它有一个框架,Hammer 新手并没有很好地理解它。幸运的是,有几种不同大小的框架模型可用于游戏。这意味着您实际上并不需要创建自己的框架。配方:



成分:一个(或更多) prop_static,一个已命名的 info_lighting,两个 env_cubemaps,一个 worldbrush(如有需要,func_detail 也是可以的)。

1)使用 Entity creation tool / 实体创建工具 创建一个 prop_static 和其他点实体(译者注:要做到这点,您要先在左侧工具栏选择对应的工具,然后在 2D 视口中点击某个位置,再按下 Enter 键即可,如果鼠标不在 2D 视口内,那么将无法成功创建)。

2)作为创建实体的示例:进入“Properties / 属性”(我通过在 2D 视口的实体上单击鼠标右键。译者注:或者在 3D 视口左键双击它也是可以的,不管哪种方式,前提是你必须先切换到选择工具并选中它),并将“ Class / 类”字段设置为 prop_static

3)将“World Model / 世界模型”键值设置为以下之一:
  • models\props_test_chamber\frame_64x128.mdl
  • models\props_test_chamber\frame_128x128.mdl
  • models\props_test_chamber\frame_192x128.mdl
  • models\props_test_chamber\frame_256x128.mdl
  • models\props_test_chamber\frame_256x256.mdl
(译者注:在“Properties / 属性”窗口中选中“World Model / 世界模型”键值后,右侧会出现一个“Browse... / 浏览...”按钮,点它就可以打开“Model Browser / 模型浏览器”。)

接下来,将“Lighting Origin”键值设置为 info_lighting 的名称(译者注:在此之前,确保该 info_lighting 具有一个名称,具体操作为:在 info_lighting 的“Properties / 属性”对话框中,给“Name / 名称”键值设置一个你想要的名称,如 abc、light01 等,然后点击“应用”按钮,字体由红色变为黑色即可)。

4)就这样。别碰别的。甚至别看其他任何东西,只是……好吧,显然,您需要查看其他所有内容才能找到“World Model / 世界模型”键值,但是一旦您查看了其他内容却不是“World Model / 世界模型”,再看其他东西,再看下一个,好吗?但是不要碰其他任何东西,也不要看任何东西……好吧,看看其他东西,但是不要……你了解(我希望无论如何都如此)。





5)对于更大的玻璃/光栅尺寸(上图一),请并排放置几帧。如果障碍物绕拐角弯曲(上图二),或者所需的窗口小于64个单位,则同一目录中存在拐角模型和单个框架模型:
  • models\props_test_chamber\corner_post_32.mdl
  • models\props_test_chamber\corner_post_64.mdl
  • models\props_test_chamber\corner_post_128.mdl
  • models\props_test_chamber\frame_corner.mdl (24×24)
  • models\props_test_chamber\frame_4.mdl
  • models\props_test_chamber\frame_16.mdl
  • models\props_test_chamber\frame_20.mdl
  • models\props_test_chamber\frame_32.mdl
  • models\props_test_chamber\frame_64.mdl
  • models\props_test_chamber\frame_128.mdl
框架中的所有框架模型应共享相同的 info_lighting(即,所有框架模型的“Lighting Origin”键值应使用相同名称)。





6)OK,现在是玻璃/光栅面板。创建一个使用 tools/toolsnodraw 纹理的 brush(上图一)。它的厚度应为2个单位,每个接触框架的边缘均应减少2个单位。例如,一个128×128的框架应具有一个124×124×2的面板,并处于该框架正中间(上图二)。



7)在面板的每个宽面上,应用玻璃或光栅纹理(译者注:点击左侧工具栏中的“Texture application mode / 纹理应用模式”,点击“Browse / 浏览”,在弹出窗口的下方“Filter / 过滤”处输入“glasswindow”就可以筛选出相应纹理,选择其中一个并双击它。然后鼠标移到 3D 视口中,右键 点击某个表面即可应用该纹理)。一些好的纹理:
  • glass/glasswindow_frosted
  • glass/glasswindow_frosted_002
  • glass/glasswindow_frosted_002b
  • glass/glasswindow_frosted_shiny
  • glass/glasswindow007a(也适用于旋转45°)
  • glass/glasswindow007a_less_shiny(也适用于旋转45°)
  • metal/metalgrate018(也适用于旋转45°)
  • metal/metalgrate018c(也适用于旋转45°)



8)最后,将两个 env_cubemap 放在玻璃板的两边,不要碰到但要相近。对 info_lighting 执行相同的操作。这三个实体将确保您的玻璃面板正常发光。



对于 Refracting glass / 折射玻璃,而不是 worldbrush,请对每个框架使用两个 prop_static(每侧一个),并将“World Model / 世界模型”设置为以下其中一个:
  • models\props_lab\glass_observation_1.mdl (128×128)
  • models\props_lab\glass_observation_2.mdl (64×128)
  • models\props_lab\glass_observation_3.mdl (256×128)

请确保将玻璃模型上的“Disable shadows / 禁用阴影”键值设置为“Yes / 是”,否则您的玻璃将不允许光线通过(导致您的房间比预期的要暗)!尽管提防,甚至没有激光可以穿过这些玻璃。这是因为折射玻璃是专为观察室设计的,旨在保护 Aperture 的员工,某些疯狂的测试对象可能试图用激光杀死他们。另外,请勿使用任何折射玻璃纹理,因为它们根本不会让光线通过。



要创建一个能使牵引光束或强光桥穿过去的格栅:

1)将格栅面板设为 func_brush(Ctrl+T 或“Tie to Entity / 绑到实体”),然后将“Solidity / 固体性”键值设置为“Never Solid / 非固体”。

2)创建/复制笔刷,并使用 tools/toolstrigger 纹理对其进行纹理处理。将 Class / 类 更改为 func_clip_vphysics

3)创建/复制笔刷,并使用 tools/toolsplayerclip 纹理对其进行纹理化。将其设置为 worldbrush(Ctrl+Shift+W 或“Move to World / 移至世界”)。

4)确保所有3个笔刷都位于完全相同的位置。格栅对于玩家,立方体和炮塔应该是坚固的,但允许其他任何物体通过。还要注意,格栅没有正常的格栅脚步声。

同样的过程也将允许玩家的 ping 在合作模式下通过玻璃。
带孔的玻璃。不是弹孔...


成分:两个 prop_static,一个已命名的 info_lighting,两个 env_cubemap,一个用于修剪的 worldbrush。

1)创建一个128×128或256×256的玻璃面板。有关如何执行的信息,请参见以上部分,但跳过最后两个步骤

2)其中一个 prop_static 作为外框,将另一个 prop_static 设置为:
  • models\props_test_chamber\frame_hole_small.mdl(用于128×128面板)
  • models\props_test_chamber\frame_hole_large.mdl(用于256×256面板)
将两个 prop_static 的“Lighting Origin”键值都设置为 info_lighting 的名称。

3)将孔框放在面板的中央,与边框的高度相同。



4)现在,使用 Clipping tool / 剪切工具 剪出一个楔形,其大小为面板大小的1/8。

5a)从中心上方的78个单位处,到中心上方55个单位,侧方55个单位处进行剪切(大孔)。

5b)从中心上方的21个单位处,到中心上方15个单位,侧方15个单位处进行剪切(小孔)。

6)复制画笔并将其水平翻转。匹配边缘/顶点。

7)在翻转的块的宽面上检查纹理对齐:使用“Face Edit tool / 面部编辑”工具在两边都勾选“world / 世界”。

8)复制两个对象,然后旋转90°,再次匹配边缘/顶点。

9)复制四个对象,然后旋转180°,再次匹配边缘/顶点。

10)把对象进行组合,然后在宽阔的表面上应用玻璃纹理。再次检查“World / 世界”(即使已经选中,这是必需的)以确保纹理对齐。

11)将玻璃笔刷组变成 func_detail



小玻璃孔背后的想法是允许传送门射击,而没有其他东西。大玻璃孔背后的想法是仅允许牵引光束沿一个方向承载东西,而不允许沿另一个方向移动。之所以要剪掉一个八边形的孔,是因为雕刻会产生混乱的结果。幸运的是,只需要8个笔刷,每个笔刷都部分地埋在框架内,因此该孔看起来仍然是圆形的。
条形灯
在大多数情况下,最好是创建或使用条形灯的实例,而不是每次都从头开始制作它们。条形灯 VMF 的核心列表:
  • instances\lights\light_panel_32x128_cool_med.vmf
  • instances\lights\light_panel_32x128_neutral_med.vmf
  • instances\lights\light_panel_32x128_warm_med.vmf
  • instances\lights\light_panel_32x256_cool_med.vmf
  • instances\lights\light_panel_32x256_neutral_med.vmf
  • instances\lights\light_panel_32x256_warm_med.vmf
  • instances\lights\light_panel_32x512_cool_med.vmf
  • instances\lights\light_panel_32x512_warm_med.vmf
  • instances\p2editor\light_strip.vmf(来自 PeTI)
  • instances\p2editor\light_strip_warm.vmf(来自安装了 BEEMOD 的 PeTI)
列表中的最后两个不需要孔。其他实例看起来更好看,但每个条形灯需要一个32×128的孔。

对于较大的条形灯(如在 Wheatley 的第三个房间中看到的,地图名称:sp_a4_tb_wall_button):



1)在想要放置条形灯的墙壁/地板/天花板上切一个32×256或32×512的孔。

2)创建两个画笔,均为6×32×256或6×32×512。使用 nodraw 对一个进行纹理处理,然后使用 skip(tools/toolsskip)对另一个进行纹理处理。然后把 skip 笔刷的正面涂上 hint(tools/toolshint)纹理(这有助于编译过程)。

3)复制 nodraw 画笔并将其大小调整为1×18×242或1×18×498,并使其居中于原始 nodraw 画笔。使用以下纹理之一对正面进行纹理处理:
  • lights/light_panel_cool
  • lights/light_panel_neutral
  • lights/light_panel_warm
4)创建一个与 nodraw 画笔相同高度和宽度的2×2框架(2×2指横截面),并使用 invisible(tools/toolsinvisible)纹理对其进行纹理化。将其转换为 func_portal_bumper。(译者注:推荐制作方法:先创建一个2×32×256或2×32×512的 brush,然后切换到选择工具,选中该 brush 并在 2D 视口中右键它,再选择 Make Hollow / 镂空,再在弹出的对话框中输入2,表示保留2个单位厚度,点击 OK 按钮即可。)

5)创建一个 prop_static 并将其 world model 设置为 models/props_lab/glass_lightcover_med.mdl(高256个单位)或 models/props_lab/glass_lightcover_large.mdl(高512个单位),并将“Disable Shadows”设置为“Yes”(因此,灯光在后面可以穿透出来)。Skin / 皮肤 0表示 cool / 冷色,1表示 warm / 暖色,2表示 neutral / 中和色。设置它以匹配纹理的灯光样式。(译者注:Model Browser / 模型浏览器 窗口界面分为4个部分,位于右下方的部分中有个 Skins 选项卡,在这里也可以更换模型皮肤。)



6)按照上面的屏幕截图对齐所有内容并保存。现在,您可以将其作为自己的地图中的实例。

如 VDC Wiki 上所述,您可以通过更改灯光纹理的“Texture Scale / 纹理缩放”(X和Y两者)来编辑灯条的亮度——越高越暗,因此双向0.25的缩放比双向2.00的亮度要高得多。(译者注:打开 Face Edit Sheet / 面部编辑页,在 3D 视口中点击 light 笔刷的 light 纹理,就是第3步的那个,在 Face Edit Sheet 窗口就可以看到两个 X 和两个 Y,左边那列 XY 就是纹理缩放,通常是0.25。)
观察室
一直监视着...

在大多数情况下,最好是创建或使用观察室的实例,而不是每次都从头开始创建它们。观察室 VMF(针对各种主题...)的核心列表位于 instance\labs 目录中。

但是,如果这些都不适合您的地图,则可以编辑实例并将其另存为新实例。另一种选择是从头开始。为此,您需要一些 nodraw 画笔,一些 prop_static 和一个 lightlight_spot。可选的是,您可以使用 env_projectedtexture,但请注意,尽管它们投射了漂亮的阴影,但一次只能启用一个 env_projectedtexture



1)创建观察室房间。典型尺寸为128×128、192×128和256×128以及128个单位深。64×128观察室实际上是128×128观察室,窗口比128×128室小。

2)使用 concrete/ observationwall_001b(下部)和 concrete/ observationwall_001a(上部)之类的纹理处理墙壁,使用瓷砖纹理(例如 tile/observation_tilefloor001atile/observation_tilefloor003a 等)对地板进行纹理处理,并在天花板上使用 tile/observation_tileceiling001atile/observation_tileceiling001b

3)对于观察室的前部(即面向测试室的一侧),您将需要两个 prop_static:框架和玻璃。
对于框架,要使用的模型是:
  • models\props_lab\window_64.mdl
  • models\props_lab\window_64_a.mdl
  • models\props_lab\window_128.mdl
  • models\props_lab\window_128_a.mdl
  • models\props_lab\window_192.mdl
  • models\props_lab\window_192_a.mdl
  • models\props_lab\window_256.mdl
  • models\props_lab\window_256_a.mdl
注意,常规模型有一条水平光束穿过它们,而“_a”模型则没有光束。

对于玻璃,使用这些模型:
  • models\props_lab\glass_observation_1.mdl(128×128)
  • models\props_lab\glass_observation_2.mdl(64×128,也可以用192×128)
  • models\props_lab\glass_observation_3.mdl(256×128)
注意:请勿使用折射玻璃纹理! 它们在 Portal 2 中不像在 Portal 中那样工作——它们是100%不透明且具有阻塞性。相反,您必须使用模型并将“Disable Shadows / 禁用阴影”设置为“Yes / 是”,这样光线才能通过(非常重要!)。



4)(可选)您可以添加更多 prop_static,以使观察室显得不那么空旷。如果愿意,您甚至可以添加弯曲的图形(models\info_character\info_character_bendy.mdl;用作 prop_dynamic)。一些好的模型:
  • models\props\lab_chair\lab_chair.mdl(必须是 prop_physics 才能在地图中显示)
  • models\props\lab_desk01\lab_desk01.mdl
  • models\props\lab_desk02\lab_desk02.mdl
  • models\props\lab_desk03\lab_desk03.mdl
  • models\props\lab_desk04\lab_desk04.mdl
  • models\props\lab_desk05\lab_desk05.mdl
  • models\props\lab_monitor_pose01\lab_monitor_pose01.mdl(我建议在这里检查皮肤)
  • models\props\lab_monitor_pose01\lab_monitor_pose03.mdl(我建议在这里检查皮肤)
  • models\props\pc_case02\pc_case02.mdl(必须是 prop_physics 才能在地图中显示)
  • models\props\pc_case_open\pc_case_open.mdl(必须是 prop_physics 才能在地图中显示)
  • models\props\radio_reference.mdl(可选地,您可以为此做一些声音/音乐...)
  • models\props\security_camera.mdl(注意,在测试室中用作 npc_security_camera
  • models\props\security_camera_prop_reference.mdl(Portal-style 安全摄像机)
  • models\props\terror\hamradio.mdl(用于 Super 8 预告片,但似乎非常适合 Portal 2 宇宙)
  • models\props_office\...(许多 用于观察室和一些其他 behind-the-scenes 区域(如 Rattman 的洞穴)的好模型)

如果有需要,您还可以将覆盖层应用于门。



5)最后,添加您的 lightlight_spot 并将它们放置在相同的位置:房间中央或附近。调整设置,直到使用“完全编译”模式照明正确为止。
由于良好的照明因室而异,因此我不建议在观察室实例内部保存照明。

调整灯光实体的设置时,无需进行太多调整。仅将“Constant / 常数”的值设置为较大的值,将“Linear / 线性”的值设置为0,将“Quadratic / 正交”的值设置为1即可。颜色是一回事,但随之而来的是表示强度的第四个数值。该数目不限于255。实际上,典型的观察室可能具有低强度的 light(大约50-200)和高强度的 light_spot(大约500-2000)。
避免错误和更多信息

  • 不在玻璃和光栅上使用框架。即使是用刷子制成的框架总比没有框架要好!
  • 没有对齐玻璃(甚至可能是光栅)上的纹理。
  • 对照明知识不足。请阅读我关于完全编译的另一指南,以了解有关如何创建更完整的照明效果的信息。您应该尝试使地图更亮的最后一件事就是添加更多灯光!没有完全编译,您的地图仍然看起来很糟糕。
  • 不使用 合理 的光源。通常,仅将灯光实体粘贴到地图中是不够的。您还至少需要一个 prop_static 来增加光线从某个地方来的感觉。
  • 在地上或附近使用观察室。观察室最好放置在高处,可以将光线向下投射。它也为 Aperture 的员工(即您)提供了轻巧的保护。

来自 VDC Wiki 的更多信息:
有用的灯光实体(可能是您唯一需要的实体):
还有几个链接,这些链接提供了有关用于微调玻璃和光栅的实体的信息:
  • func_clip_vphysics:如果正确完成的话,对物理对象是坚固的,没有其他的东西。
  • func_portal_bumper:在玻璃与可打传送门表面接触的边缘周围使用。现在,您可以纠正仍然是 PeTI 中一个长期存在的 bug!
TopHATTwaffle 的非常特别的照明指南
https://steamproxy.net/sharedfiles/filedetails/?id=158903426
主指南列表
请注意,部分工作仍在进行中。当我为您完成更多指南时,本节将更新!

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

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

上一指南(游览 Hammer 和一个基础房间;关于外部 Nodraw 的一点内容。)
下一指南(关于 Portal 2 中的声音。)

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