求生之路2关卡设计/雷暴效果
全文翻译:求生的兔。
Contents
暴风骤雨战役雷暴实例创建教程
(以下下载均已失效,而在你的目录Left 4 Dead 2\sdk_content\mapsrc\instance下已拥有c4m4_storm_ents.vmf文件了。)
雷暴天气是一个非常酷的效果, 而且事实上它比你想象中的容易制作。教程参考自 这儿。(此处开始可以不用往下看,请直接看准备工作。)然而,我们还得为此先做一些准备工作。这是一个.zip文件,包含了已更新的文件内容,以方便您自己编辑您的雷暴天气。
StormEnts.zip
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
当你下载完storm_ents.zip这个文件时。前往你的 Left 4 Dead 2 \mapsrc\
文件夹。创建一个新的文件夹叫\myinstances\
或者和这个类似的名字(不能是中文)。并且解压 the storm_ents.zip 文件到你创建的文件夹内。这是为了确保你的游戏工具在更新时不会被官方覆盖文件!
准备工作
首先,你的地图需要拥有一个3D Skybox (天空盒子)。当你已经创建或者拥有天空盒子的时候,点击软件中的“map”找到“Map Properties”,并且设置“Map Properties”为sky_l4d_c4m4_hdr
。这是V社暴风骤雨官方的天空贴图(当然你也可以选择你喜欢的)。
创建雷
强烈建议不使用“func_instance”实体而是打开以下所有vmf进行复制里面的实体,不然有少许bug!
我们将使用func_instance实体来设置雷,首先进入你地图的可玩区域,创建一个实体“func_instance”。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
将func_instance实体按照以下内容进行设置属性:
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
- 设置 Fix Up Name 为 "
c4m4_storm_logic
" - 设置 VMF Filename 为 "
instance/c4m4_storm_logic.vmf
"注意:点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_storm_logic.vmf。
- 设置 Entity Name Fix Up 为 "None"
下一步, 创建第二个 func_instance 实体在第一个附件某处,并且按照以下内容进行设置属性:
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
- 设置 Fix Up Name 为 "
c4m4_environment_ents
" - 设置 VMF Filename 为 "
instance/c4m4_environment_ents.vmf
"注意:点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_environment_ents.vmf。
- 设置 Entity Name Fix Up 为 "None"
第三步也是最后一步,将 func_instance 实体设置在sky_camera实体的3dskybox空间(即在远景盒子内,没有需要创建)。 把这个新创建的 func_instance实体放在和sky_camera完全一致的位置上(即重叠2个实体),并且按照以下内容进行设置属性
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
- 设置 Fix Up Name 为 "
c4m4_storm_ents
" - 设置 VMF Filename 为 "
instance/c4m4_storm_ents.vmf
"注意:点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_storm_ents.vmf。
- 设置 Entity Name Fix Up 为 "None"
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
创建暴雨
现在我们只需要添加一些雨天气效果到地图内。方法是,创建一个能够覆盖住整个游戏区域(远景盒子不要)的固体(笔刷),并且将其应用于tools/toolstrigger材质,并且转换这个固体为func_precipitation(转换方式,选中这个固体,ctrl+t变成固实体,并且修改class为func_precipitation)。设置Precipitation Type为"Particle Rain Storm",并且将它的Name设置为 "rain
"。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
下一步,我们将暴雨带来的雾挡在我们的建筑外面。方法是创建一个固体(笔刷),并且将其应用于tools/fogvolume材质。转换为fog_volume实体,然后调整其位置和大小,以覆盖你需要覆盖的建筑区域。如果有多个区域就设置多个此实体(指如上雨水屏蔽一样)将fog_volume实体按照以下内容进行设置属性:
- 设置 Fog Name 为 to "
foginteriorcontroller
" - 设置 Postprocess Name 为 "
fx_settings_interior
"
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
最后,我们只需要添加雨的声音效果了。方法是,回到你放置的前两个func_instance实体位置。在它们的附近创建一个叫env_soundscape_triggerable的实体,并且按照以下内容进行设置属性:
- 设置 Name 为 "
rain_interior
" - 设置 Radius 为 "
0
" - 设置 Soundscape 为 "
rain.interior.med
"
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
再创建第二个 env_soundscape_triggerable 实体并且按照以下内容进行设置属性:
- 设置 Name 为 "
rain_exterior
" - 设置 Radius 为 "
0
" - 设置 Soundscape 为 "
rain.water.med
"
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
现在要做的就是触发这些雨的声音。方法是,进入到你建筑的出口处(门)。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
放置一个能够和门一样大的固体(笔刷)。这个固体需要应用tools/toolstrigger材质。并且转换为trigger_soundscape实体,然后设置Soundscape为"rain_exterior
"。
现在,再放置第二个同样的固体(笔刷)于门的入口处(门前)。同样是应用tools/toolstrigger材质,并且转换为trigger_soundscape实体。设置Soundscape为"rain_interior
"。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
这两个实体的作用是,当玩家进门或者出门的时候。室内与室外会让雨声听起来不一样。然后复制一份内部的雨声固实体(指Soundscape为"rain_interior
"的固实体)将其完全覆盖住你的出生点房间(如果是室外则换成另一个Soundscape为"rain_exterior
"的固实体)。如果你不这么做,那么玩家出生时则听不到雨声直到玩家出去或者进入场景(指你已经为所有的出入口放置了声音触发实体)。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
测试你的雷暴天气
就是这么多!你需要设置一个按钮,来给你的地图效果进行测试。方法是,放置一个按钮,设置它的输出,输出到的目标实体为"relay_storm_start
",输出方式为"Trigger
"。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
第二种测试方式是打开控制台(确保sv_cheats 参数是 "1
") 并且按照一下内容进行输入指令:
ent_fire relay_storm_start trigger
这是一个雷暴效果的测试样本地图(文件链接已失效,我将会在以后做一份我自己的上传。),安全室外的按钮会引发暴风雨,而更远处的按钮只会引发一场尸潮恐慌时间。安全室门边上有个梯子,以至于能够让你到达屋顶。
L4D2_StormSampleMap.zip