Glass that starts out broken

From Valve Developer Community
Jump to: navigation, search
Underlinked - Logo.png
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
English (en)русский (ru)
... Icon-Important.png
Broken glass that breaks when the map starts

This tutorial assumes you already know how to create breakable glass. If not, follow that tutorial first.

First method

This method consists on breaking the glass with the help of an explosion that occurs once the map is loaded.

  • Make a func_breakable_surf with a frame around it (as if you are making a normal breakable window).
  • Set up an env_explosion in the middle of the window, then change the options as follows:
Class: env_explosion
Keyvalues Comments
Name <name> <name> is whatever name you wish to give to this entity
Magnitude 1
  • Then in the flags tab, change the flags as follows:
Flag
Checkbox-on.png No fireball
Checkbox-on.png No smoke
Checkbox-on.png No decal
Checkbox-on.png No sparks
Checkbox-on.png No sound
Checkbox-on.png No fireball smoke
Checkbox-on.png No particles
Checkbox-on.png No Dlights
  • Set up a logic_auto near the env_explosion (it doesn't matter where you put it, but I recommend that you put it in a convenient place)
  • Change the entity outputs for the logic_auto as follows:
My output Target entity Target input Parameter Delay Only once Comments
Entity-output-icon.png OnMapSpawn <name> Explode Yes <name> is the name you gave to the env_explosion
  • Then in the flags tab, change the flags as follows:
Flag
Checkbox-on.png Remove on fire
  • Test your map! When it loads the env_explosion will break the glass leaving the jagged glass edges on the side of the frame.

Alternative method

This method consists on setting the logic_auto entity to directly shatter the glass once the map is loaded, which eliminates the need of creating an explosion.

  • Name the func_breakable_surf you created in step 2 above. Don't create the env_explosion , but do create the logic_auto.
  • Change the entity outputs for the logic_auto as follows:
My output Target entity Target input Parameter Delay Only once Comments
Entity-output-icon.png OnMapSpawn <name> Shatter 0.5 0.5 128 Yes <name> is the name you gave the func_breakable_surf entity
  • Adjust the parameter above as desired. Changing the size of the third number (128) will change how much of the window is broken.

Third method

The two methods above will play a glass shattering noise on map load, and will likely force you to make a hole of some size in the pane. One last method is to create a new version of the "unbroken" texture, and make it identical to the "cracked" texture.

The glass is technically never broken in the first place, but looks like it. The only downside is that the glass may appear to be just a little oddly strong when hit by a small object or a bullet.