L4D Level Design/Breakable Walls: Difference between revisions
m (Linked to func_breakable) |
Thunder4ik (talk | contribs) m (Unicodifying, replaced: [[Image: → [[File: (15)) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{lang|L4D Level Design|Breakable Walls}} | ||
| | |||
{{L4D level intro menu}}__TOC__ | {{L4D level intro menu}}__TOC__ | ||
Line 8: | Line 7: | ||
There's also an example in the <code>tutorial_standards.vmf</code> map. | There's also an example in the <code>tutorial_standards.vmf</code> map. | ||
[[ | [[File:l4d_hammer_breakwall_01.jpg|thumb|left|500px|caption|An example of a breakwall in the tutorial_standards map.]]{{clr}} | ||
== Creating a func_breakable == | == Creating a func_breakable == | ||
[[ | [[File:l4d_hammer_breakwall_02.jpg|thumb|right|500px|caption|Creating the brush for the breakwall.]] | ||
Start by creating a brush for the wall in the '''Block Tool'''. | Start by creating a brush for the wall in the '''Block Tool'''. | ||
Line 25: | Line 24: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_03.jpg|thumb|right|500px|caption|The func_breakable properties.]] | ||
Press {{key|Ctrl}}+{{key|T}} to turn the brush into a brush entity. | Press {{key|Ctrl}}+{{key|T}} to turn the brush into a brush entity. | ||
Line 35: | Line 34: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_04.jpg|thumb|right|500px|caption|Changing the Breakable by field to All Infected.]] | ||
Change the '''Material Type''' to "Wood". | Change the '''Material Type''' to "Wood". | ||
Line 43: | Line 42: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_05.jpg|thumb|right|500px|caption|The Flags tab of the func_breakable.]] | ||
Switch to the '''Flags''' tab. | Switch to the '''Flags''' tab. | ||
Line 51: | Line 50: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_06.jpg|thumb|right|500px|caption|The Outputs tab for the func_breakable.]] | ||
Switch to the '''Outputs''' tab. | Switch to the '''Outputs''' tab. | ||
Line 66: | Line 65: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_07.jpg|thumb|right|500px|caption|Lifting and transferring the alignment of the wall to the func_breakable wall..]] | ||
Position the func_breakable wall in the space in the wall where you want the infected to come out from. | Position the func_breakable wall in the space in the wall where you want the infected to come out from. | ||
Line 80: | Line 79: | ||
== Adding a Breakwall Model == | == Adding a Breakwall Model == | ||
Go to the '''Entity Tool''' and select "prop_static" from the '''Objects''' list. | Go to the '''Entity Tool''' and select "[[prop_static]]" from the '''Objects''' list. | ||
Place the <code>prop_static</code> in the Camera viewport next to the <code>func_breakable</code> wall. | Place the <code>prop_static</code> in the Camera viewport next to the <code>func_breakable</code> wall. | ||
Line 92: | Line 91: | ||
Select the model "props_interiors/breakwall_interior.mdl" | Select the model "props_interiors/breakwall_interior.mdl" | ||
[[ | [[File:l4d_hammer_breakwall_08.jpg|thumb|left|500px|caption|Selecting the breakwall model.]]{{clr}} | ||
Click '''OK'''. | Click '''OK'''. | ||
[[ | [[File:l4d_hammer_breakwall_09.jpg|thumb|left|500px|caption|The breakwall static prop properties.]]{{clr}} | ||
Change '''Disable Shadows''' to "Yes". | Change '''Disable Shadows''' to "Yes". | ||
Line 104: | Line 103: | ||
Position the <code>prop_static</code> inside the <code>func_breakable</code>. | Position the <code>prop_static</code> inside the <code>func_breakable</code>. | ||
[[ | [[File:l4d_hammer_breakwall_10.jpg|thumb|left|500px|caption|Placing the breakwall model inside the func_breakable wall.]]{{clr}} | ||
This model will be revealed when the <code>func_breakable brush</code> entity is destroyed. | This model will be revealed when the <code>func_breakable brush</code> entity is destroyed. | ||
Line 110: | Line 109: | ||
== Placing infodecals == | == Placing infodecals == | ||
[[ | [[File:l4d_hammer_breakwall_11.jpg|thumb|right|500px|caption|The infodecal properties.]] | ||
Go to '''Entity Tool''' and select "infodecal" from the '''Objects''' list. | Go to '''Entity Tool''' and select "[[infodecal]]" from the '''Objects''' list. | ||
Place it in the '''Camera''' viewport on the wall that doesn't break on the left of the breakwall. | Place it in the '''Camera''' viewport on the wall that doesn't break on the left of the breakwall. | ||
Line 120: | Line 119: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_12.jpg|thumb|right|200px|caption|The overlays/breakwall texture.]] | ||
Change the '''Name''' to "breakwall_decal". | Change the '''Name''' to "breakwall_decal". | ||
Line 132: | Line 131: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_13.jpg|thumb|right|500px|caption|Positioning the infodecal.]] | ||
Double-click on the texture to make it the infodecal's texture. | Double-click on the texture to make it the infodecal's texture. | ||
Line 142: | Line 141: | ||
{{clr}} | {{clr}} | ||
[[ | [[File:l4d_hammer_breakwall_14.jpg|thumb|right|200px|caption|The overlays/breakwall_mirror texture.]] | ||
Select the infodecal and duplicate it ({{key|Shift}}+{{key|Right_Arrow}} key). | Select the infodecal and duplicate it ({{key|Shift}}+{{key|Right_Arrow}} key). | ||
Line 168: | Line 167: | ||
Recreate the nav area through this breakwall so that the infected can walk through the prop_static cleanly. | Recreate the nav area through this breakwall so that the infected can walk through the prop_static cleanly. | ||
[[ | [[File:l4d_nav_breakwall_01.jpg|caption|thumb|left|500px|The nav area where the breakwall exists.]]{{clr}} | ||
{{tip|You can break the wall to test it in your level by looking at the wall and then typing this in the console: <code>ent_fire !picker break</code>}} | {{tip|You can break the wall to test it in your level by looking at the wall and then typing this in the console: <code>ent_fire !picker break</code>}} |
Latest revision as of 10:40, 8 January 2024
There are some walls in Left 4 Dead that the infected can break to surprise the survivors. For example, in the hospital, at the elevator, there are a few walls that break to allow the infected to come into the area.
There's also an example in the tutorial_standards.vmf
map.
Creating a func_breakable
Start by creating a brush for the wall in the Block Tool.
The wall will need to fit into an existing wall in your level.
Make the wall with these dimensions:
- 128 Units Long
- 16 Units Thick
- 128 Units Tall
Press Ctrl+T to turn the brush into a brush entity.
The properties window will appear.
Change the Class to "func_breakable" and click on the Apply button.
Change the Material Type to "Wood".
Change the Breakable by to "Infected".
Switch to the Flags tab.
Make sure that none of these boxes are checked unless you want the wall only to be broken when it receives an input by some other entity in the world.
Switch to the Outputs tab.
Add an output with the following:
- My output: "OnBreak"
- Targets entities named: "breakwall_decal"
- Via this input: "Activate"
We will later add decals to turn on so that the edge of the solid wall will not look too straight.
Click on Apply and close the properties window.
Position the func_breakable wall in the space in the wall where you want the infected to come out from.
Go into the Texture Application Mode.
With the Face Edit Sheet window up, in the Camera viewport, Alt+left-click on the wall that is solid. This samples the texture and the alignment of that brush face.
Continue holding the Alt key down and right-click on the func_breakable
wall face that is next to the wall that is solid to align the textures up properly. Alt+right-clicking transfers the texture and alignment of the sampled face.
Adding a Breakwall Model
Go to the Entity Tool and select "prop_static" from the Objects list.
Place the prop_static
in the Camera viewport next to the func_breakable
wall.
Open its properties.
Click on the World Model row and click the Browse button on the right side.
Type "breakwall" in the filter.
Select the model "props_interiors/breakwall_interior.mdl"
Click OK.
Change Disable Shadows to "Yes".
Click on Apply and close the window.
Position the prop_static
inside the func_breakable
.
This model will be revealed when the func_breakable brush
entity is destroyed.
Placing infodecals
Go to Entity Tool and select "infodecal" from the Objects list.
Place it in the Camera viewport on the wall that doesn't break on the left of the breakwall.
Open its properties with Alt+↵ Enter.
Change the Name to "breakwall_decal".
Click on the texture row and click on the Browse button on the right side to bring up the texture browser.
Type "overlays" in the filter.
Select the texture "overlays/breakwall".
Double-click on the texture to make it the infodecal's texture.
Click on Apply and close the window.
Position the infodecal so that it shares the same plane as the wall that the func_breakable is set in.
Select the infodecal and duplicate it (⇧ Shift+Right_Arrow key).
Position it on the right side of the func_breakable
.
Open its properties.
Click on the texture row and click on the Browse button on the right side.
Type "overlays" in the filter.
Select "overlays/breakwall_mirror".
Double-click on the texture to set it in the info_decal properties.
Click Apply and close the window.
This will cover the straight edge of the right side of the wall.
Recreate the nav area through this breakwall so that the infected can walk through the prop_static cleanly.

ent_fire !picker break