Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
First of all, let's go over the difference between func_breakable and func_breakable_surf.
1. func_breakable
This brush entity can be used on any solid world brush really, but is most commonly used for windows that aren't just made of a single, breakable pane of glass. Out of the two, this is the least sophisticated version of the func_breakable entity.
You shoot at this, and depending on the value of the entity's Health keyvalue, will (eventually) break into thick chunks ("gibs") and disappear. Once broken, this entity leaves no remnants or "evidence" of its existence behind, and will reset when the map is reloaded.
To make a func_breakable, select the brushwork you wish to convert to a breakable entity, and click the toEntity button on the right hand side, or press Ctrl+T, and change the entity class to func_breakable. The only value that you should change is how much Health the brush radical has before it breaks due to damage. The default value if 5, but for windows, and the like, this should be 1. You can make this value higher for stronger materials (wood, particle board, etc.), but setting this value to 0 (zero) defeats the purpose of using this entity because this value makes the func_breakable completely indestructible. In which case, for indestructible details, use either func_brush, or func_detail.
2. func_breakable_surf
This is the most sophisticated entity of the two, and has some requirements for it to work correctly in game. This entity was made to be used explicitly for breakable windows, and nothing else.
Unlike func_breakable, this entity has a few implementation requirements to work, and when it is broken, it leaves part of the broken glass pane in tact and the remaining glass changes to a "shattered" texture, instead of completely breaking into large pieces, and disappearing. Then, the remaining shattered glass can easily be broken completely by running into it. When the glass is completely broken, it leaves a border of broken glass along the edges, giving the impression that there was glass a window there at one point.
Now, to implementation. First of all, there are a couple of materials you should get intimate with, and in Hammer, we're only going to be applying the former two to a brush surface. The latter will be automatically generated when the glass is broken in game.
*tools/toolsnodraw
*glass/glasswindowbreak070a (unshattered, intact glass)
------
*glass/glasswindowbreak070b (shattered pane of glass that can be further broken easily, this is generated automatically in the game when it is broken)
To implement a func_breakable_surf, or breakable glass pane, do the following:
1. Make a brush of any height and any width out of the tools/toolsnodraw. It doesn't really matter what the width and/or height of the brush are, however the depth of the pane should be only one or two hammer units.
2. Open the Face Edit Sheet (Ctrl+A), and browse for the glass/glasswindowbreak070a material. Apply the above material to ONE face, and ONE face only, of the target brush by right clicking on the face. Left click, in Lift+Select selection mode, to select the face, and click the "Fit" texture align button. This will make the glass texture look more realistic on the window; this is purely for aesthetics and has no impact on the behavior of the func_breakable_surf.
3. Close the Face Edit Sheet, and select the brush. Convert the brush to an entity and change its class to func_breakable_surf. As with the regular func_breakable entity, the only keyvalue you should change is the Health keyvalue, and just like before, this value should be 1.
4. Compile your map and test this (or the func_breakable).
To sum it up, surf glass has a few basic requirements, and violating one or any of these will cause the glass to disappear in game:
*The glass must be made up of a single brush only.
*5/6 faces on the brush MUST be NODRAW, or it won't work. Don't worry about the "other side" of the window pane; the game fills that detail in automatically.
*The 1 face that isn't nodraw MUST be glass/glasswindowbreak070a.
So, there it is.
Also, please don't delete this thread. Don't. Other people who may see this can benefit greatly from the information I'm taking the time to provide here, and probably have the same questions you do. Several times in the past, I've elaborately answered others' inquiries on here, only for them to stupidly delete them thereafter, and if I knew they would do that, I wouldn't have given an answer in the first place, as it's a colossal waste of time on my part.
LEAVE THIS THREAD UP. This answer is for everyone not just you. That is all.