L4D关卡制作/易碎的墙
译者:joyo_a(百度ID)
在求生之路中有一些墙壁,感染者可以打破这些墙壁来给幸存者惊喜。例如,在医院里靠近电梯的地方,有几个墙壁用来被打破以便感染者进入该区域。
在tutorial_standards.vmf
地图里也有一个示例。
创建一个func_breakable
首先在Block Tool中创建一个墙壁笔刷。
墙壁需要安装在现有的墙壁上。
用这些尺寸做墙:
- 128个单位长
- 16个单位宽
- 128个单位高
按Ctrl+T转换该笔刷为笔刷实体。
这将显示属性窗口。
更改Class为“func_breakable ”并点击Apply按钮。
更改Material Type为“Wood”。
更改Breakable by为“Infected”。
切换到Flags选项卡。
确保这些框没有被勾选,除非你希望墙壁在接收到世界上某些其他实体的输入时才被破坏。
切换到Outputs选项卡。
添加以下输出:
- My output:“OnBreak”
- Targets entities named:“breakwall_decal”
- Via this input:“Activate”
我们稍后会加上印花来打开,使得墙壁的边缘不会显得太直。
点击Apply关闭属性窗口。
将func_breakable墙放在你想要感染者出来的墙壁上的空间。
进入纹理应用模式(Texture Application Mode)。
在显示Face Edit Sheet窗口的情况下,在镜头视图中,Alt+左键点击固体墙。这样就可以对该笔刷面的纹理及其纹理对齐进行采样。
继续按住Alt键,然后右键单击紧贴固体墙的func_breakable
墙面以正确对齐纹理。Alt+右键单击会传输采样面的纹理和对齐方式。
添加易碎墙模型
转到Entity Tool并从Objects列表中选择“prop_static ”。
在镜头视图中放置prop_static
到func_breakable
墙的旁边。
打开其属性。
点击World Model行,然后点击右边的Browse按钮。
在过滤器(filter)中输入“breakwall”。
选择模型“props_interiors/breakwall_interior.mdl”
点击OK。
更改Disable Shadows为“Yes”。
点击Apply并关闭窗口。
将prop_static
放在func_breakable
里面。
当func_breakable
笔刷实体被破坏时将显示该模型。
放置印花
转到Entity Tool并从Objects列表中选择“infodecal ”。
将其放在镜头视图中的在易碎墙的左侧的不会被破坏的墙上。
用Alt+↵ Enter打开其属性。
更改Name为“breakwall_decal”。
点击纹理行,然后点击右侧的Browse按钮以弹出纹理浏览器。
在过滤器中键入“overlays”。
选择纹理“overlays/breakwall”。
双击纹理,使其成为infodecal的纹理。
点击Apply并关闭窗口。
定位infodecal,使其与设置func_breakable的墙壁共享相同的平面。
选择infodecal并复制它(⇧ Shift+Right_Arrow键)。
将它放在func_breakable
的右侧。
打开其属性。
点击纹理行,然后点击右侧的Browse按钮。
在过滤器中键入“overlays”。
选择“overlays/breakwall_mirror”。
双击纹理将其设置在info_decal属性中。
点击Apply并关闭窗口。
这将覆盖墙的右侧的直边。
更新导航
重建导航区域通过这个易碎墙,以便被感染者可以干净地穿过prop_static。
ent_fire !picker break
来打破墙壁以测试它。