Portal 2 Guide

慌乱的 Hammer for Portal 2

慌乱的 Hammer

Overview

刚接触 Hammer?想知道如何使用 Hammer 创建 Portal 2 地图?阅读本指南。

这是一个翻译副本 / This is a translated copy

原指南 / Original guide:[link]
本指南中出现的 “我” 均指原作者。/ All “I” in this guide mean the original author.

本指南存在许多翻译不当的地方,欢迎提出指正。/ There are many improper translations in this guide, please correct me.

慌乱的 Hammer

因此,您已经确定,即使使用 BEEMOD 或 BEE2 或任何其他 mod,游戏内置编辑器也太局限或太丑陋(当然,没有理由不能两者兼而有之)。您已经决定获得 Portal 2 Authoring Tools 并使用 Hammer 来构建 test chambers,但是您对如何执行任何操作一无所知。好吧,请放心,该指南应该可以解决您的问题……并希望还可以防止已经有很多空的,无聊的和看上去像垃圾的 Hammer 制作的 test。本指南将教您如何从头开始制作 test,就像 Cave Johnson 和他的祖先所推荐的一样。也就是说,如果您要通过游戏内置编辑器对地图进行大修,我有两个建议:

1)从 Step 3 开始遵循此处的概述,并确保没有人怀疑您从 PeTI / 游戏内置编辑器对 test chamber 进行了大修!放弃它的迹象是:

  • 音乐:应将其删除。
  • 出现128×128体素系统。
  • 带有干净按钮底座、楼梯等的随机污渍外观的纹理应用。
  • 还有其他丑陋且不一致的地方。

2)请勿使用游戏内置编辑器开始!

我已经用粗体突出显示了其他一些要点。

!!! NEW !!!

这里开始,在我的较新系列中可以找到更多详细信息!

Step 0:熟悉Hammer

打开 Hammer 并开始一个新地图(File → New 或 Ctrl + N)。除非更改了默认设置,否则应该看到四个屏幕:左上角的3D视图和其他位置的三个2D视图(“顶”或 xy 视图,“前”或 yz 视图,“侧”或 xz 视图)。为了获得最清晰的结果:

  • 启用网格并启用 “Snap to Grid / 对齐网格”,并且
  • 将3D视图设置为 “3D Textured / 3D纹理” 或更好的。

阅读在线帮助文档(或诸如本指南),然后在遇到困难时再次阅读它们。它们确实可以帮助您弄清楚该程序,并且还为您在找到某个不了解但却很有用的实体时提供了很好的参考。一些快速提示:

  • 顶部的 [ tl ] 和 [ < tl > ] 按钮用于 texture lock / 纹理锁定 和 scaling texture lock / 缩放纹理锁定。经常使用它们以确保纹理对齐。
  • 左侧的多纹理按钮(就是那个红蓝绿的立方体)是 face-edit tool / 面部编辑工具。大量使用它可使您的笔刷具有多种纹理,并用于优化……哦,以及纹理对齐。
  • 在 Hammer 中的某个对象上单击鼠标右键时,您可以使用 transform / 变换工具(另一个常用功能)来 move / 移动,rotate / 旋转该对象,依此类推。
  • 单击右键 → Tie to Entity / 绑定到实体 是创建 brush entities / 画笔实体的方式(例如触发器,检测器,func_portal_bumperfunc_detail)。

一旦您对工具栏(特别是左侧工具栏)和菜单(包括右键单击菜单)中的功能有信心,就可以继续进行下一步了。

Step 1:设计一个 test

一切都从一个刷子开始…然后六个…然后更多。首先,选择一个主题,因为这将有助于构造过程更加顺畅。Underground 主题非常特殊,需要自己设计。在那里,您应该从一个巨大的 Nodraw 框和其中一个 Science 球形空间开始(使用 prop_static 并将其设置为 geodome 模型之一)。如果听起来工作太多,则可以使用

你的 Steam 安装目录SteamsteamappscommonPortal 2sdk_contentmapsinstancesunderground

文件夹中的预制实例(不过,您可能仍需要 Nodraw 框)。所有其他主题都可以通过从四个墙壁,一个地板和一个天花板开始(尚无 panels / 面板!)。

确定主题后,请设计 test:建议您首先创建空间,然后添加测试元素。如何设计好的 test 的详细信息不在本指南的范围内,因此,如果需要帮助,请查看此处提供的其他指南。在下图中,您可以看到我为其中一项 test 创建的外部空间。

这是里面的样子:

标准测试元素的实体:

  • prop_button:基座按钮。可以像 puzzlemaker 中的一样自定义时间,不同的是您现在可以让它超过30秒。
  • prop_floor_buttonprop_floor_ball_buttonprop_floor_cube_button):标准的 Aperture Science 重型超碰撞超级按钮。
  • prop_under_(floor_)button:与上面相同,但适用于 underground 主题。
  • prop_weighted_cube:Aperture Science 重量方块。也可以自定义为同伴或反射方块以及球形方块(无边安全方块)或 underground 方块。您甚至可以调整立方体的 “paint power / 涂料能力”,以便将其预先涂上 排斥(弹跳)或 推进(加速)凝胶。
  • →掉落器,预制实例位于 ..Portal 2sdk_contentmaps instancesgameplay 中。也可以从头开始制作一个,有关更多操作方法的信息,请参见此指南
  • prop_monster_box:在这里您可以找到您的老朋友 Frankenturret(又称 Frankencube / 怪物方块)。也有它们的掉落器实例,如果您不想从头开始制作它们(尽管它们可能有问题)。
  • npc_portal_turret_floor:炮塔,具有比游戏内置编辑器更丰富的可自定义选项。除非您有一个故事情节地图,否则请谨慎使用
  • env_portal_laser:Portal 2 激光。
  • prop_laser_catcherprop_laser_relay:激光接收器和激光中继器。要使接收器看起来像在 Valve 的单人游戏地图以及游戏内置编辑器制作的地图中看到的那样,您必须使用特殊的模型:modelspropslaser_catcher_center.mdl。
  • prop_wall_projector:强光桥。
  • prop_tractor_beam:牵引光束。将关键值 “Linear Force / 线性力” 设置为250表示前进速度,-250为后退速度。其他值不是正常的(但是在适当的情况下,完全可以调)。
  • info_paint_sprayer:用这个小家伙做凝胶而不需担心管子!要使凝胶起作用,您需要:
    1)转到 “Map / 地图” 菜单下的 “Map Properties / 地图属性”,并将键值 “Paint in Map / 在地图里绘制” 设置为 “Yes / 是”。
    2)创建一些灯光实体(例如lightlight_spot),以便您可以看到凝胶。

其他的标准测试元素:

  • 弹射板,trigger_catapult(带有 info_target 和附带的 overlay)与其附带的 prop_dynamic 一起使用。..Portal 2sdk_contentmapsinstancesgameplay 目录中有预制实例。
  • 致命的黏液,请创建两个画笔:杀死玩家的 trigger_hurt 和水的画笔(在 naturetoxicslime_… 中查找纹理)。
  • 激光力场,您也需要两个类似的笔刷,只需要替换掉水纹理,使用 func_brush 实体中的 textureeffectslaserplane 纹理即可。请确保正确缩放激光场纹理!!您还需要侧面模型(prop_staticprop_dynamic,取决于您是否要激活它)。将它们设置为 modelspropsfizzler.mdlmodelspropsfizzler_dynamic.mdl,并将 skin / 皮肤 设置为2。
  • Fizzler,请使用其中一种 Fizzler 纹理(effectsfizzler…)创建画笔,然后给它设置一个 trigger_portal_cleanser由于玩家任何时候都可能会朝着 Fizzler 射击,所以每个 Fizzler 只能使用一个笔刷!!再说一次,您将需要如上所述的侧面模型,但 skin / 皮肤 设置为0或1。
  • 翻转面板,使用的 func_door_rotating
  • 其他面板,func_brush 是面板模型(prop_dynamic)的父级。如果搜索正确的面板模型的时间过多,则 ..Portal 2sdk_contentmapsinstancesgameplay 目录中有预制的实例。
  • 移动平台等,目前就用 func_movelinear(如果移动平台的运动更为复杂,则可以使用 func_tracktrain 和一些 path_track 实体)。请不要滥用这些。Portal 2 并非设计为平台/跑酷游戏!
  • 玻璃和光栅(在 metal 目录中)具有自己的纹理。
  • info_placement_helper 可以使 portal “定位” 到某个位置,甚至定向!谁曾在墙上看到过侧面的 portal?

提示

  • 使用 overlay 工具和 signage 目录中的纹理创建一些标牌,以标记哪些物品是连接到哪些物品的。您可以通过将激活器的输出添加到要激活的元素来连接测试元素。确保要激活的元素上有名称。
  • 创建一些标牌,以使测试对象知道做什么。
  • 现在保持纹理对齐,这样您以后就不必浪费时间了。

在测试地图之前,请确保您非常接近这三样东西(见上图):

  • 一个 info_player_start 和一点空间来让玩家开始进入游戏。
  • 一个 weapon_portalgun;您可以根据需要将其调整为仅发射蓝色或仅发射橙色。
  • 一个 env_soundscape。我无法告诉您多少次制图者忽略了在其地图上添加优质的音景。尽早添加一个将对您的地图有所帮助。您可以将音景设置为任何您想要的。我通常先从 room02.start 开始,然后在美术设计阶段进行更改。

当你完成后,请使用任何一种你想要的编译模式进行测试(建议使用快速编译;有关我使用的内容,请参见左侧图像)。

记住,这是 test 的最丑陋的阶段。不用担心,一旦调整了规模并调试了任何明显的意外过关方式,您就可以继续,但不要紧。(顺便说一句,除非您想向测试对象展示技巧,否则大部分解决方案都应该没问题,但是所有方法都应该被用到。)

这里也是问自己的地方:“我可以在哪里困住自己?” 如果可以找到位置,请找出一种让玩家逃脱并返回 test 的方法。玩家永远永远都不能被困住!!曾经!我对此强调不够。

Step 2:整理你的 test

在这里,可以通过添加指示灯并在墙壁上留出空间来使 test 看起来更漂亮:

  • 激光,激光接收器和激光中继器
  • 牵引光束
  • Fizzlers 和激光场
  • 弹射板
  • 面板(所有类型)
  • 平台
  • 彩蛋

创建标准 indicator lights / 指示灯:

  • 使用纹理 signage/indicator_lights/indicator_lights_floorsignage/indicator_lights/indicator_lights_corner_floor。使用 overlay tool / 覆盖工具 应用它们,并相应地拉伸它们。要使纹理在多个笔刷上显示,请进入 info_overlay 的 properties / 属性,然后选择要应用纹理的表面。indicator lights / 指示灯通常需要多个 overlay / 覆盖层。您需要全部选中它们,并将它们命名为相同名称,以便它们可以作为一个组。
  • 后面的纹理用于拐角以及激活器。
  • 要创建一个勾选标记/大大的X或勾,请使用 prop_indicator_panel(也可以用作计时器)。建议使用 border prop / 边框道具(可选项)。Checks / 复选框 可以分配一组指示灯。Checks / 复选框 主要用于出口或凹进元素。
  • 如果不使用 checks,则使用 env_texturetoggle。它的放置不必很精确,但是可以像放置 prop_indicator_panel 一样放置它:在要激活(停用)的元素附近。见下图。
  • I/O:使用 prop_indicator_panel,该过程是自动的:选中和取消选中。另一方面,使用 env_texturetoggle 时,您需要做一点点额外的工作:将 SetTextureIndex 设置为1表示橙色光,设置为0表示蓝色光。
  • Timers / 计时器用于其附近的元素,具有临时操作(或临时关闭)功能。落下方块和凝胶通常不需要计时器。

提示

  • 现在您使用 Hammer,可以使用任意路径创建指示灯。尽量使蚁线尽可能短。
  • 尽可能使用蚁线代替标示牌。标示牌只能被使用于:
    • 如果测试元素非常明显,例如当玩家面对掉落器时掉落方块,或
    • 如果相连的测试元素之间距离太远而不能用指示灯连接(我建议避免相连的测试元素相距太远)。
  • 使用 tools / toolsplayerclip 纹理和 func_clip_vphysics 可以将玩家和所有测试物品保持在您雕刻出的空间之外。
  • 再次强调,保持所有物体纹理对齐。

这是我完成此步骤后的 test:

Step 3:艺术设计

许多使用 Hammer 的新手 test 设计者都很懒惰,但是要绘制出一张好地图,需要时间。您在 Hammer 中工作的主要原因是使 test 看起来漂亮,所以请不要跳过此步骤!!!在 Hammer 中制作 test 就是设计艺术品。我已经看到了太多没有细节或仅仅是用 puzzlemaker 简单制作的地图。无论哪种方式,下的功夫都不够。

解决这个问题后,让我们回到您的 test 中:它可以正常工作,具有功能性和合理性,但是地图看起来仍然很平淡。我将指导您完成一个基本过程,以帮助您保持思路一致。

美术设计完成后,使用 expert compile mode / 专家编译模式 编译地图。不要被这个名字骗了! “expert / 专家” 部分仅指专家使用的模式; 这并不意味着您必须成为一名专业的地图制作者才能使用它。使用这种模式,您的地图不仅会100%更好看,而且这也是游戏内置编辑器使用的模式。如屏幕截图所示,该模式为 Full compile -both -final (slow!)。忽略 “slow / 慢” 的部分;我的地图很小,编译和运行地图只用了几分钟,只有大型地图或电脑速度较慢时,它才很慢。如果您使用任何自定义的材料,模型,脚本或声音,建议您暂时将它们保存在各自的目录中。

在美术设计阶段完成之后,您需要使用诸如 BSPZip,Pakrat 或 VIDE 之类的程序将它们嵌入 BSP 中,然后从目录中暂时移除文件以检查嵌入的文件是否正常。完成后,您的地图就可以发布了。

Step 3a:道具和细节

clean 主题是该部分中最简单的主题,其次是 reconstructing 主题,然后是 decayed 主题和 Wheatley 主题。Behind-the-scenes / 幕后(bts)区域是其中一些最详细的区域,但也许困难的是 underground cave 主题。这些区域不仅相当详细,而且还要求您了解并且可以处理 surface displacements / 表面位移。对于初学者,我建议坚持使用一个 clean 或 reconstructing 主题。

摆脱基本形状
由于矩形很无聊,因此请尝试使用一些另类的形状来细节化地图(例如,如果您正在处理的主题不是 clean 主题,请旋转一些画笔使其脱离普通状态)。另外,请使用不同的纹理进行变化。如果不破坏您的解决方案,您可以添加更多可打传送门的表面。如果一个笔刷或一组笔刷最终不够详细,请右键单击该组(笔刷),然后选择“Tie to Entity / 绑定到实体”选项,然后按 Enter。您的画笔现在应该是 func_detail,旨在节省内存和处理能力。

要创建自定义块形状,请首先确保已启用 Object Bar / 对象栏(如果未启用,则转到 View / 视图 → Screen Elements / 屏幕元素 并勾选 Object Bar / 对象栏)。现在您使用 block tool / 块工具,您就可以创建常见的弯曲形状,例如 arches / 拱形,cylinders / 圆柱,spheres / 球形和 toruses / 圆环形。您还可以创建 wedges / 楔形和金字塔(“spike / 尖峰”形状)。

诸如书桌,椅子,办公/工业机械,工厂,电缆箱和一些电缆的道具是由 prop_static 实体创建的,或者如果有动画,则由 prop_dynamic 实体创建的。在 Rattman 的巢穴中,prop_physics(_override) 也用于诸如水壶,咖啡杯和空罐头之类的物体上。这是大量的细节工作,因此请花一些时间在此上。

创建一个 prop / 道具
1)选择 Entity tool / 实体工具,然后按 [Enter] 在地图中创建一个新实体。
2)使用 Selection tool / 选择工具,单击右键并选择 Properties / 属性。
3)在“Class / 类”菜单(在“Class info / 类信息”选项卡下)中,选择 prop_staticprop_dynamicprop_physics(_override)
4)选择一个 World Model / 世界模型(可能还有一个皮肤和动画),然后在地图中有了新的桌子,真空管,植物,裸露的框架,咖啡杯等。

选择世界模型时,请尝试在 model browser / 模型浏览器 中查找:

  • anim_wp:主要是与面板有关的东西。在这里,您可以找到某些 bts 区域中的面板背面以及以 Wheatley 为主题的测试。您还可以在此处的框架子目录中找到用于 decayed/reconstructing 主题的方形天花板横梁。
  • prop_cables:用于电缆箱和其他电缆。您还可以使用一些 keyframe_ropemove_rope 实体来创建电缆。
  • props_backstage:用于 decayed 主题的 test 和 bts 区域中看到的管道
  • props_bts:适用于狭窄通道(catwalks)和真空管等
  • props_destruction:用于碎片
  • props_foliage:用于植物
  • props_lab:适用于与测试室相关的各种项目,例如灯光和玻璃墙边框
  • props_lights:主要在 underground 主题区域中使用的各种照明
  • props_office:适用于各种与办公室相关的道具,包括墙体边框
  • props_test_chamber:用于各种玻璃边框
  • props_underground:不言而喻;用于 underground 主题区域。这也是 testing sphere models / 测试球形模型所在的位置。

为了保持真实,玩家或物体可以穿过的任何道具都需要使用 player_clip 笔刷或 func_clip_vphysics(类似草丛等植被的道具除外)来阻止玩家或物体穿过它们。

提示:对于 underground 凝胶管,更改颜色只会更改箭头的颜色。将其更改为蓝色来设为排斥凝胶,橙色为推进凝胶,灰色为反射凝胶和青色为水/清洁凝胶(将其保留为白色以用于转换凝胶)。

Step 3b:光线与声音

现在您已经获得了道具,让我们看一下灯光。最基础的我们有:

  • light:这不应该是地图中唯一的光线实体。如果是这样,那么您的地图将会很无聊,坦率地说,非常难看。
  • light_spot:此实体用于创建光的焦点区域,就像聚光灯一样。
  • beam_spotlight:创建超聚焦的光束。用于诸如 underground 主题中的单个灯之类的光。
  • env_projected 纹理:创建可以投射阴影的灯光;还可以做成很棒的手电筒。不幸的是,这些家伙中只有一个可以在地图上被激活。另外,您还需要 global_ents 实例才能使其正常工作,因为它包含一个 point_clientcommand 实体,该实体的命令为 r_flashlightbrightness 1(默认值为0.25),以便解决此问题。
  • light_environment:与 skyboxes / 天空盒结合使用(主要是 decayed 和 early reconstructing 的主题)。我建议将“Pitch / 音调”关键值设置为-90°左右,以便您看到效果。

注意:许多这些灯光实体可以更改其颜色和外观。如果您想让测试对象摆脱标准 Aperture 实验室的灰色单调环境的困扰,请尝试一些丰富多彩的东西。

对于声音,请使用 ambient_generic,然后查看/聆听要播放的游戏声音。一个已知的 bug 是 vo 目录中的声音不能预览。查看此页面[theportalwiki.com],以找出哪个声音文件对应于哪条线(来自播音员,洞穴,GLaDOS,有缺陷的炮塔或任何个性球形空间)。如果您对脚本有所了解,请跳过 ambient_generics,而使用名为 @gladosgeneric_actor。您可能需要一个自定义脚本。

对于 soundscapes / 音景,可以使用 playsoundscape 控制台命令预览它们。以下是一些常见的独立音景组:

建议用于 decayed 或 early reconstructing 主题的 test:

  • 以 TestChamber_Destruction 开头:在 Act 1 中使用,用于 decayed 主题。
  • TestChamber_Destruction.WindEerie_01:轻轻吹动的风,在 Act 1 中使用。
  • TestChamber_BTS.Drone:在唤醒 GLaDOS 之前和与 Wheatley 退出之后使用。
  • 以 Testchamber_Industrial 开头:在第1幕的开始和结尾使用,在集装箱行驶过程中以及在焚化炉的地图中使用。
  • TestChamber_Vegetation.Intro_01 _…
  • TestChamber_Vegetation.Insects_01 / 02/03
  • TestChamber_Vegetation.Elevator_01
  • TestChamber_Vegetation.Standard

建议用于 clean,reconstructing 或 Wheatley 主题的 test:

  • 以 Testchamber.Industrial 开头:各种 clean 主题的音景,在之后的 reconstructing 主题中听起来也不错。
  • Testchamber_med_01 和 Testchamber_med_01a:与上述相同。
  • 以 Testchamber.liquid 开头:用在有毒的水(致命粘液)的附近。
  • TestChamber.clean_liquid_01 和 TestChamber.clean_liquid_02:与上述相同。
  • 以 Turretchamber 开头:在第二幕中使用,测试13-18。您无需在 test 中使用炮塔即可使用这些音景。
  • 以 room01-room06 开头:在合作地图中使用,这些音景已附加其地图名称。这些音景在单人游戏地图中听起来也不错。

建议用于 bts 区域:

  • 以 sab 开头(sabotage / 破坏):在第5章中使用。
  • 从大结局开始:在第9章中使用。

建议用于 underground 主题区域:

  • 以 ug 开头:在 Act 3 中使用。
  • 以 ug_sphere 开头:专门用于测试 spheres。

杂项:

  • 以 portal 开头:Portal 原始的音景。并非某些音景中的所有声音都存在。
  • 以 portal_testchmb 开头:这些音景最初是上下文相关的,可以在测试室内使用。最好与 clean 主题的 test 一起使用。
  • 以 portal_escape 开头:在测试后期使用。这些音景大多已过时,但是如果您想使用它们,我建议在 bts 区域中使用它们。
  • 此页上的内容除外,除非另有说明。

这些是公共的音景,不能单独使用:

  • TestChamber_BTS.Comb
  • TestChamber_BTS.Crystal
  • TestChamber_BTS.Generator
  • Testchamber_Destruction.DestructionBeauty
  • Testchamber_Destruction.Grain_Click
  • TestChamber_Destruction.MetalGroan_01
  • TestChamber_Destruction.MetalPipe_01
  • TestChamber_Destruction.WaterDrip_01
  • TestChamber_Industrial.BowedMetal_01
  • TestChamber_Industrial.ScrapedMetal_01
  • TestChamber_Industrial.WarehouseImpact_01
  • TestChamber_Industrial.WarehouseImpact_02
  • TestChamber_Industrial.WarehouseImpact_03
  • TestChamber_Industrial.WarehouseWronk_01
  • TestChamber_Industrial.WarehouseWronk_02
  • 以 TestChamber_Vegetation 开头的大多数音景(除了上面提到的)
  • 以 util 或 warehouse 开头的
  • utility.metal.imp.lo

声音提示

  • 对于 ambient_generic 实体,请确保音量始终在10以下!我推荐(大致):
    • ~7用于配音线,包括 GLaDOS 和播音员的叮叮声音
    • ~5用于音乐
    • ~4用于背景声音
    • ~9-10用于爆炸和破坏,但仅用于爆炸和破坏。
  • 请勿使用 environment_generics 代替音景,即使是一小部分也不要!
  • 音乐是可选的,音景是必不可少的。

Step 3c:添加官方入口和出口

如果您没有自定义故事情节,则将需要一个入口电梯和一个出口电梯。有现成的实例。在

..Portal 2sdk_contentmapsinstancesturbine_elevator

中查找各种电梯实例。确保出口连接到 global_pti_ents 实例,否则该关卡将无法正常结束!如果是自定义故事情节,请确保您具有一些输出(触发或其他方式)连到这个实例。也建议使用 env_fade 实体。

Step 3:大功告成

重申一下,您应该使用“expert / 专家”编译模式(同样,Full compile -both -final (slow!)),然后使用各种设置(高处的阴影,低处的阴影,良好的抗锯齿,无抗锯齿等),并检查它是否仍然看起来良好,尤其是在较低画质的设置下(请牢记补偿)。如果没有问题,您可以继续执行下个步骤。完成此步骤后,您可以在下面看到我的地图:

Step 4:还有什么? (脚本,文本等)

您已经努力工作,并在地图上花了很多时间和精力,并且肯定会因此获得不错的评价。这里是一些最后的润色:

  • 优化
    • 使用 Nodraw 对面向真空的所有物体进行纹理处理(下图为执行此操作后的 test)。然后检查 test 的内部,确保没有 Nodraw (在游戏过程中,它看上去很怪异而且很丑陋)。如果有时间,也可以重做画笔之间的不可见纹理。
    • 对于 Wheatley 主题的 test 的较大区域,创建一些 func_visclusters 并使用 “lod” 模型可以节省处理能力。
    • 在门口使用 func_areaportalwindows。它们实际可以轻松地绑定到 prop_testchamber_door
  • 创建一些 game_text 实体来介绍您的 chamber,并在玩家离开 test 时对其表示感谢。
  • 如果您是高级制图者,请使用自定义脚本或非标准实体(例如 HMW 用其 Sendificator 进行的)进行最终展示。

Step 5(最终步骤):准备发布

要准备发布 test,您应该执行以下操作:

  • 创建至少一个高质量的 test 屏幕截图。即使您使用的是低端系统,也可以做到这一点,因为它仅适用于一些镜头。您需要:
    • 在控制台中输入 crosshair 0
    • 在控制台中输入 r_drawviewmodel 0
    • 使用 noclip 找好位置
    • 按 F12 截屏。屏幕截图将位于 C:Program Files(x86)Steamuserdata<某些号码>760remote620screenshots 中。
  • 将所有自定义内容嵌入到地图中。重申一下,您需要使用诸如 BSPZip,Pakrat 或 VIDE 之类的程序将它们嵌入到 BSP 中,然后它们会暂时从目录中删除文件,以检查嵌入的文件是否正常运行。完成后,您的地图就可以发布了。

发布你的地图
您需要使用 Portal 2 publishing tool,它位于 C:Program Files (x86)Steam
SteamAppscommonPortal 2binp2map_publish.exe
。单击“Add / 添加”,然后填写所有内容,除了说明(除非它确实很短)。当您在 Steam workshop 中查看地图时,可以编辑说明并添加其他屏幕截图,如果需要,还可以添加一两个视频解决方案。

这是我所说的(我的地图中)一些高质量的屏幕截图。
封面:

和第二张截图:

您可以在此处订阅已完成的地图。

游戏测试阶段

这是我最新的地图之一。首先游玩并观察地图的质量…

[link]

…现在查看有关以下这些值得注意的事实:

  • 该地图是由 Puzzlemaker 开发的!最初看起来并不像,但我需要一个快速的工具来帮助我构思一个难题。当我觉得这个谜题足够好时,我使用 puzzlemaker_export <地图名> 控制台命令将其导出。要点是:设计谜题时,使用任何使您感到舒适的工具。
  • 这张地图花费了大约70多个小时的时间。我分阶段进行了此操作:首先调整地板,然后调整拼图元素,然后调整主房间中的墙壁,然后调整另一个房间中的墙壁,然后调整天花板,然后设置入口和出口区域,最后 ,调整外部区域。在开发的前几个阶段,我摆脱了体素系统,并使用 nodraw 纹理对所有内容进行纹理化。始终考虑下一步该怎么做以及如何去做是很重要的。花费时间熟悉 Hammer 地图也很重要,因为它们本来就是艺术品。
  • 当我觉得该地图已经准备好时,我对其进行了编译,修复了出现的所有问题(红色文本;通常是某种泄漏),然后再次尝试。我希望完美,但却恰恰相反!我知道会遇到问题,并且我在身边放了记事本,因此可以列出所有需要修复的小错误。该地图经过20多次编译,从修复了许多易于修复的错误到调试了较难修复的错误。这说明了什么?不要期望您的地图在第一次编译时就完美无缺!
  • 当我修复这些棘手的错误时,我构建了大约5个左右的“测试图”,以查看各种功能的工作方式以及是否可以解决问题。由于地图很大,每次编译大约需要5-6分钟,因此效果更好。但是,这些地图都没有上传,因为它们不值得上传。如果要创建这样的“测试图”,请只留给自己!创建“测试图”不会给您带来太多荣誉。只需从中学习并继续前进即可。
  • 在发布地图之前,我发现仍有一些意外的解决方案需要修复,因此我在上层房间中添加了彩色字段来修复该问题。
  • 最后,我使用 Pakrat 将自定义内容嵌入到地图中,从而使用户无需额外下载任何内容并将其放置在正确的文件夹中,也不必抱怨“missing <insert file name nere>”。

我之所以这样说,是因为这样的地图太多了:

  • 制图者对 Hammer 缺乏经验,或者不清楚幕后工作原理。基于“preview.vmf”文件的地图并不少见,而且很烦人,因为它们会不断重复。尽管进入和退出实例中都有一个选项可以禁用该连续循环,但是我建议改为使用 puzzlemaker_export <mapname> 控制台命令。更好的是:像我一样创建自己的入口和出口系统。
  • 即使有 TeamSpen 的 BEE2 插件一样花哨的东西,也没有脱离 Puzzlemaker 的体素系统。我意识到了这一点,并改变了世界的几何形状,使这张地图是“锤子制造”的,而不是“从 Puzzlemaker 导出”的。
  • 不使用官方的完全编译模式(更不用说任何更好的自定义模式了)。
  • 不嵌入自定义材料。仅仅因为它可以在您自己的计算机上运行并不意味着它能够在其他人的计算机上运行。
  • 看起来它仅被编译过一次,并且从未在脱机状态下进行过错误测试(之前可能只有少数朋友/游戏测试者能看到它)。
  • 正如我上面所说的那些“测试图”之一。这也包括那些缺少细节的地图。
  • 使用怪异,不一致的艺术风格(例如,随机使用纹理)。除非您有真正好的想法,否则请坚持使用主游戏中已经出现的基本主题。
  • 本质上缺乏以下一种或多种类别:难题(通常太容易了,但是可能需要的技能与游戏风格不符),声音(尤其是音景),视觉效果(例如 highly detailed props),灯光和功能(例如,某物品是否按预期运行?)。

要明白如何以 Hammer 制图者的方式前进,这是我最近的难题之一:

[link]

这个不需要太多的侧边/测试地图。我之所以能够较早地发现错误,是因为我已经获得了 Hammer 基于 Source 3D 画布的经验。

结论

现在,您已经完成了成为 Portal 2 Hammer 制图者的过程。我们在 Aperture Laboratores 祝您好运,并希望您对 test 设计和美术设计感到开心。

让我知道您是否还有其他值得补充的提示,请记住,这不是创建高级 Hammer test 的详细指南,仅是基础知识。如果您想了解更多细节,请在这里查看我的新系列

SteamSolo.com