Zh/L4D2 Level Design/Hard Rain: Difference between revisions
(Blanked the page) |
1416006136 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{otherlang2 | |||
|title=求生之路2关卡设计/雷暴效果 | |||
|noborder=true | |||
|en=L4D2_Level_Design/Hard_Rain | |||
}} | |||
{{L4D2 level intro menu:zh-cn}} | |||
<big>全文翻译:求生的兔。</big> | |||
= 暴风骤雨战役雷暴实例创建教程 = | |||
(以下下载均已失效,而在你的目录Left 4 Dead 2\sdk_content\mapsrc\instance下已拥有'''c4m4_storm_ents.vmf'''文件了。) | |||
雷暴天气是一个非常酷的效果, 而且事实上它比你想象中的容易制作。教程参考自 [http://www.fpsbanana.com/tuts/9901 这儿]。(此处开始可以不用往下看,请直接看准备工作。)然而,我们还得为此先做一些准备工作。这是一个.zip文件,包含了已更新的文件内容,以方便您自己编辑您的雷暴天气。 | |||
<br> | |||
[https://sites.google.com/site/megafontswebsite/StormEnts.zip StormEnts.zip] | |||
<br> | |||
{{注意|在.zip中的这个文件 '''c4m4_storm_ents.vmf'''已经被我从官方源文件中反编译提取的内容所取代。 如果你使用老版本的 '''c4m4_storm_ents.vmf'''这个文件处理你的地图, 那么天空盒子会显得非常棘手,难以处理。请使用更新版本的'''c4m4_storm_ents.vmf'''文件,已经修复了这个问题。 如果你也喜欢反编译的官方地图内容,[http://nuclearvelocity.com/barracuda/downloads/left4dead2/mapsrc/l4d2mapsrc_v7.7z 请点击这儿下载。]}} | |||
当你下载完storm_ents.zip这个文件时。前往你的 Left 4 Dead 2 <code>\mapsrc\</code> 文件夹。创建一个新的文件夹叫<code>\myinstances\</code> 或者和这个类似的名字(不能是中文)。并且解压 the storm_ents.zip 文件到你创建的文件夹内。这是为了确保你的游戏工具在更新时不会被官方覆盖文件! | |||
== 准备工作 == | |||
首先,你的地图需要拥有一个[[3D Skybox]](天空盒子)。当你已经创建或者拥有天空盒子的时候,点击软件中的“map”找到“'''Map Properties'''”,并且设置“'''Map Properties'''”为<code>sky_l4d_c4m4_hdr</code>。这是V社暴风骤雨官方的天空贴图(当然你也可以选择你喜欢的)。 | |||
== 创建雷 == | |||
强烈建议不使用“'''func_instance'''”实体而是打开以下所有vmf进行复制里面的实体,不然有少许bug! | |||
[[File:放置后可以看见实体都在很下面了,需要手动调整.png|thumb]] | |||
[[File:将其移动到skybox内(指远景盒子).png|thumb]] | |||
[[File:这样重叠.png|thumb]] | |||
我们将使用'''func_instance'''实体来设置雷,首先进入你地图的可玩区域,创建一个实体“'''func_instance'''”。 | |||
{{注意|本次需要3个'''func_instance'''实体。}} | |||
将'''func_instance'''实体按照以下内容进行设置属性: | |||
{{注意|这是设置雷电的逻辑效果和声音。}} | |||
* 设置 '''Fix Up Name''' 为 "<code>c4m4_storm_logic</code>" | |||
* 设置 '''VMF Filename''' 为 "<code>instance/c4m4_storm_logic.vmf</code>" {{注意|点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_storm_logic.vmf。}} | |||
* 设置 '''Entity Name Fix Up''' 为 "None" | |||
下一步, 创建第二个 '''func_instance''' 实体在第一个附件某处,并且按照以下内容进行设置属性: | |||
{{注意|这是设置环境实体,如果你地图已经有了,请删除相关或者使用你认为你设置好的环境,这些环境实体属于C4M4的环境效果。}} | |||
* 设置 '''Fix Up Name''' 为 "<code>c4m4_environment_ents</code>" | |||
* 设置 '''VMF Filename''' 为 "<code>instance/c4m4_environment_ents.vmf</code>" {{注意|点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_environment_ents.vmf。}} | |||
* 设置 '''Entity Name Fix Up''' 为 "None" | |||
第三步也是最后一步,将 '''func_instance''' 实体设置在'''sky_camera'''实体的3dskybox空间(即在远景盒子内,没有需要创建)。 把这个新创建的 '''func_instance'''实体放在和'''sky_camera'''完全一致的位置上(即重叠2个实体),并且按照以下内容进行设置属性 | |||
{{注意|这是设置雷电的粒子效果。}} | |||
* 设置 '''Fix Up Name''' 为 "<code>c4m4_storm_ents</code>" | |||
* 设置 '''VMF Filename''' 为 "<code>instance/c4m4_storm_ents.vmf</code>" {{注意|点击这个选项边上的“browse”,选择默认跳出文件夹内的instance/c4m4_storm_ents.vmf。}} | |||
* 设置 '''Entity Name Fix Up''' 为 "None" | |||
{{注意|他的默认范围非常大,需要手动调整实体,所以你可以看看右边的图片。}} | |||
{{注意|如果编译出现could not open instance file提示的话,将这些'''func_instance'''全部删除,并且打开对应的vmf,从vmf复制全部实体到你的游戏地图内,这也许是个Bug。}} | |||
== 创建暴雨 == | |||
现在我们只需要添加一些雨天气效果到地图内。方法是,创建一个能够覆盖住整个游戏区域(远景盒子不要)的固体(笔刷),并且将其应用于'''tools/toolstrigger'''材质,并且转换这个固体为'''func_precipitation'''(转换方式,选中这个固体,ctrl+t变成固实体,并且修改class为'''func_precipitation''')。设置'''Precipitation Type'''为"Particle Rain Storm",并且将它的'''Name'''设置为 "<code>rain</code>"。 | |||
{{注意|其他参数例如密度和速度由你自己考虑测试,如果你的雨水在游戏内没有效果显示,你可能需要将这个固实体'''func_precipitation'''增高一些。在steam开发者论坛上有人建议高度为1024个单位(前提是能覆盖住你的地图,如果你地图比这个还高,也许还需要更高。),但是我并不知道'''func_precipitation''实际需要多高。}} | |||
{{注意|'''func_precipiation'''会自动检测建筑物,以至于让室内不会下雨,当然凡是也有意外,有些时候(特指你的室内转换成了func_detail之类的固实体),那么这个转换的室内很有可能会下雨,使用实体'''func_precipitation_blocker'''来覆盖住你不需要下雨的地方。方法是,创建一个固体(笔刷),并且同样应用上'''tools/toolstrigger'''材质,然后转换为'''func_precipitation_blocker'''固实体,并且根据需要调整位置和大小,可以多放,比如某2个区域你都不想下雨,但是离得有点远,你并不想将这2个区域所连接的地方取消下雨,那么就放置2个这个固实体来覆盖他们。}} | |||
下一步,我们将暴雨带来的雾挡在我们的建筑外面。方法是创建一个固体(笔刷),并且将其应用于'''tools/fogvolume'''材质。转换为'''fog_volume'''实体,然后调整其位置和大小,以覆盖你需要覆盖的建筑区域。如果有多个区域就设置多个此实体(指如上雨水屏蔽一样)将'''fog_volume'''实体按照以下内容进行设置属性: | |||
* 设置 '''Fog Name''' 为 to "<code>foginteriorcontroller</code>" | |||
* 设置 '''Postprocess Name''' 为 "<code>fx_settings_interior</code>" | |||
{{注意|如果你这样设置,属性栏可能会显示红色字体,不用担心它是无效的,它是直接调用游戏源码内的参数,所以就这样设置就行。}} | |||
最后,我们只需要添加雨的声音效果了。方法是,回到你放置的前两个'''func_instance'''实体位置。在它们的附近创建一个叫'''env_soundscape_triggerable'''的实体,并且按照以下内容进行设置属性: | |||
* 设置 '''Name''' 为 "<code>rain_interior</code>" | |||
* 设置 '''Radius''' 为 "<code>0</code>" | |||
* 设置 '''Soundscape''' 为 "<code>rain.interior.med</code>" | |||
{{注意|如果你想查看不同的音效,可以点击这里参考音效列表:[[List_of_L4D_2_Soundscapes#soundscapes_campaign4|List of L4D2 Soundscapes]]}} | |||
再创建第二个 '''env_soundscape_triggerable''' 实体并且按照以下内容进行设置属性: | |||
* 设置 '''Name''' 为 "<code>rain_exterior</code>" | |||
* 设置 '''Radius''' 为 "<code>0</code>" | |||
* 设置 '''Soundscape''' 为 "<code>rain.water.med</code>" | |||
{{注意|如果你想查看不同的音效,可以点击这里参考音效列表:[[List_of_L4D_2_Soundscapes#soundscapes_campaign4|List of L4D2 Soundscapes]]}} | |||
现在要做的就是触发这些雨的声音。方法是,进入到你建筑的出口处(门)。 | |||
{{注意|你需要在每一个建筑的门出口处都这么做。}} | |||
放置一个能够和门一样大的固体(笔刷)。这个固体需要应用'''tools/toolstrigger'''材质。并且转换为'''trigger_soundscape'''实体,然后设置'''Soundscape'''为"<code>rain_exterior</code>"。 | |||
<br><br> | |||
现在,再放置第二个同样的固体(笔刷)于门的入口处(门前)。同样是应用'''tools/toolstrigger'''材质,并且转换为'''trigger_soundscape'''实体。设置'''Soundscape'''为"<code>rain_interior</code>"。 | |||
{{注意|你也需要在每一个建筑的门入口处都这么做。}} | |||
<br><br> | |||
这两个实体的作用是,当玩家进门或者出门的时候。室内与室外会让雨声听起来不一样。然后复制一份内部的雨声固实体(指'''Soundscape'''为"<code>rain_interior</code>"的固实体)将其完全覆盖住你的出生点房间(如果是室外则换成另一个'''Soundscape'''为"<code>rain_exterior</code>"的固实体)。如果你不这么做,那么玩家出生时则听不到雨声直到玩家出去或者进入场景(指你已经为所有的出入口放置了声音触发实体)。 | |||
{{注意|假设你的房间为一个或者多个主入口指大门,里面有许多小房间,你并不需要为小房间设置声音变化,你只需要为主入口设置,当然某些破败的场景,比如墙体倒塌,房间暴露于室外,你可能需要灵活运用!}} | |||
== 测试你的雷暴天气 == | |||
就是这么多!你需要设置一个按钮,来给你的地图效果进行测试。方法是,放置一个按钮,设置它的输出,输出到的目标实体为"<code>relay_storm_start</code>",输出方式为"<code>Trigger</code>"。 | |||
{{注意|可能目标为红色字体不用担心,它会生效的。}} | |||
{{注意|这个是测试雷暴的按钮,这个按钮可以让你按下一次按钮出现一次雷暴,如果你不想设置这个按钮,你在地图上游玩时,它也会周期性的进行雷暴效果。}} | |||
<br> | |||
第二种测试方式是打开控制台(确保'''sv_cheats''' 参数是 "<code>1</code>") 并且按照一下内容进行输入指令: | |||
<code> | |||
ent_fire relay_storm_start trigger | |||
</code> | |||
<br><br> | |||
这是一个雷暴效果的测试样本地图(文件链接已失效,我将会在以后做一份我自己的上传。),安全室外的按钮会引发暴风雨,而更远处的按钮只会引发一场尸潮恐慌时间。安全室门边上有个梯子,以至于能够让你到达屋顶。 | |||
<br> | |||
[https://sites.google.com/site/megafontswebsite/L4D2_StormSampleMap.zip L4D2_StormSampleMap.zip] | |||
<br><br> | |||
= 参考 = | |||
* [[func_instance]] | |||
* [[Sky_camera]] | |||
* [[env_soundscape_triggerable]] | |||
* [[trigger_soundscape]] | |||
{{NavBar|L4D2 Level Design/Foot Lockers|L4D2 Level Design|L4D2 Level Design/Scavenge Finale}} | |||
[[Category:Left 4 Dead 2]] | |||
[[Category:Level Design]] | |||
[[Category:Skybox]] |
Revision as of 21:20, 17 August 2021
Template:Otherlang2 Template:L4D2 level intro menu:zh-cn 全文翻译:求生的兔。
暴风骤雨战役雷暴实例创建教程
(以下下载均已失效,而在你的目录Left 4 Dead 2\sdk_content\mapsrc\instance下已拥有c4m4_storm_ents.vmf文件了。)
雷暴天气是一个非常酷的效果, 而且事实上它比你想象中的容易制作。教程参考自 这儿。(此处开始可以不用往下看,请直接看准备工作。)然而,我们还得为此先做一些准备工作。这是一个.zip文件,包含了已更新的文件内容,以方便您自己编辑您的雷暴天气。
StormEnts.zip
Template:注意
当你下载完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”。
将func_instance实体按照以下内容进行设置属性:
Template:注意
- 设置 Fix Up Name 为 "
c4m4_storm_logic
" - 设置 VMF Filename 为 "
instance/c4m4_storm_logic.vmf
" Template:注意 - 设置 Entity Name Fix Up 为 "None"
下一步, 创建第二个 func_instance 实体在第一个附件某处,并且按照以下内容进行设置属性:
Template:注意
- 设置 Fix Up Name 为 "
c4m4_environment_ents
" - 设置 VMF Filename 为 "
instance/c4m4_environment_ents.vmf
" Template:注意 - 设置 Entity Name Fix Up 为 "None"
第三步也是最后一步,将 func_instance 实体设置在sky_camera实体的3dskybox空间(即在远景盒子内,没有需要创建)。 把这个新创建的 func_instance实体放在和sky_camera完全一致的位置上(即重叠2个实体),并且按照以下内容进行设置属性
Template:注意
- 设置 Fix Up Name 为 "
c4m4_storm_ents
" - 设置 VMF Filename 为 "
instance/c4m4_storm_ents.vmf
" Template:注意 - 设置 Entity Name Fix Up 为 "None"
创建暴雨
现在我们只需要添加一些雨天气效果到地图内。方法是,创建一个能够覆盖住整个游戏区域(远景盒子不要)的固体(笔刷),并且将其应用于tools/toolstrigger材质,并且转换这个固体为func_precipitation(转换方式,选中这个固体,ctrl+t变成固实体,并且修改class为func_precipitation)。设置Precipitation Type为"Particle Rain Storm",并且将它的Name设置为 "rain
"。
下一步,我们将暴雨带来的雾挡在我们的建筑外面。方法是创建一个固体(笔刷),并且将其应用于tools/fogvolume材质。转换为fog_volume实体,然后调整其位置和大小,以覆盖你需要覆盖的建筑区域。如果有多个区域就设置多个此实体(指如上雨水屏蔽一样)将fog_volume实体按照以下内容进行设置属性:
- 设置 Fog Name 为 to "
foginteriorcontroller
" - 设置 Postprocess Name 为 "
fx_settings_interior
"
最后,我们只需要添加雨的声音效果了。方法是,回到你放置的前两个func_instance实体位置。在它们的附近创建一个叫env_soundscape_triggerable的实体,并且按照以下内容进行设置属性:
- 设置 Name 为 "
rain_interior
" - 设置 Radius 为 "
0
" - 设置 Soundscape 为 "
rain.interior.med
"
再创建第二个 env_soundscape_triggerable 实体并且按照以下内容进行设置属性:
- 设置 Name 为 "
rain_exterior
" - 设置 Radius 为 "
0
" - 设置 Soundscape 为 "
rain.water.med
"
现在要做的就是触发这些雨的声音。方法是,进入到你建筑的出口处(门)。
Template:注意
放置一个能够和门一样大的固体(笔刷)。这个固体需要应用tools/toolstrigger材质。并且转换为trigger_soundscape实体,然后设置Soundscape为"rain_exterior
"。
现在,再放置第二个同样的固体(笔刷)于门的入口处(门前)。同样是应用tools/toolstrigger材质,并且转换为trigger_soundscape实体。设置Soundscape为"rain_interior
"。
Template:注意
这两个实体的作用是,当玩家进门或者出门的时候。室内与室外会让雨声听起来不一样。然后复制一份内部的雨声固实体(指Soundscape为"rain_interior
"的固实体)将其完全覆盖住你的出生点房间(如果是室外则换成另一个Soundscape为"rain_exterior
"的固实体)。如果你不这么做,那么玩家出生时则听不到雨声直到玩家出去或者进入场景(指你已经为所有的出入口放置了声音触发实体)。
Template:注意
测试你的雷暴天气
就是这么多!你需要设置一个按钮,来给你的地图效果进行测试。方法是,放置一个按钮,设置它的输出,输出到的目标实体为"relay_storm_start
",输出方式为"Trigger
"。
Template:注意
Template:注意
第二种测试方式是打开控制台(确保sv_cheats 参数是 "1
") 并且按照一下内容进行输入指令:
ent_fire relay_storm_start trigger
这是一个雷暴效果的测试样本地图(文件链接已失效,我将会在以后做一份我自己的上传。),安全室外的按钮会引发暴风雨,而更远处的按钮只会引发一场尸潮恐慌时间。安全室门边上有个梯子,以至于能够让你到达屋顶。
L4D2_StormSampleMap.zip