Creating One-way Glass for HL2/HL2DM or CS:S is a really a simple matter of texturing brushes properly.
In this sample room I’ve created there are three windows.
There is also an illusionary wall with layered textures.
The first window is a typical One-way Glass.
On one face it’s textured with glass/glasswindow070a
On the opposite face it’s textured with the same brick texture I used on the walls.
brick/brickwall003a
You could also texture it with any of the opaque glass textures.
To browse for these textures:
- Click the Toggle Texture tool, or press Shift+A.
- Now click the Browse button.
- In the lower Filter area enter filter words like “glass”, “wall”, etc.
- Double-click on the texture you want to use.
- Now with the Face Edit tool still open Right-click on any brush face to texture it. (Left-Click selects)
Here are some helpful links on using the Face Edit tool:
Applying Materials
Face Edit
All other faces of these Glass brushes will be textured with nodraw, tools/toolsnodraw.
To illustrate what you can achieve I’ve created 4 different types of see-thru areas.
Starting from the left:
- Typical One-way Glass.
- Breakable Glass made with func_breakable_surf, more on that soon.
- Normal brush with nodraw on one face and a Glass texture on the opposite face.
- Layered textures created with func_illusionary entities.
- The One-way Glass is created with a normal brush that has any opaque textured face opposite a Glass textured face.
In this example I’ve used a brick texture and opposite that a glass texture.

- The Breakable glass is created by turning a normal brush into func_breakable_surf.
Do that by selecting the brush and pressing Ctrl+T, choose func_breakable_surf, and finally click Apply.
The properties for our Breakable window are:
Prop Data: Glass.Window
Health: 80
Material Type: Glass
Fragility: 50
Surface Type: Glass
This Breakable glass is 1.0 units thick.
Don’t make them thinner than 0.5 units thick and don’t make the too thick.
Breakable glass gets textured on only one face, all other faces will be textured with nodraw, the easiest way to do that is create them entirely with nodraw and then use the Face Edit tool to apply the breakable glass texture.
The texture to use on that face is: glass/glasswindowbreak070a
(Don’t use glass/glasswindowbreak070b)
- Notice the normal world brush with nodraw on the face opposite the Glass face.
When you compile this type of glass it will look like normal unbreakable glass on one side but on the other side it will be clear, however it will block objects.
The texture I used for the Glass is: glass/glasswindow070a
(Don’t use glass/glasswindowbreak070a for a window that does not break.)
- The last example is our layered texture, created with func_illusionary entities.
The first brush is only textured on the outside face: metal/metalfence004a
The next brush is textured on two faces;
a) metal/metalgrate013a
b) brick/brickwall003a
All other faces are textured with nodraw.
To create brushes that are 0.5 units thick use the Transform tool
With the methods illustrated here you can create any type of One-way glass you need.
Notice that the player, and objects, can pass right through the illusionary wall.
Keep in mind that while the nodraw texture doesn’t show it was invaluable in creating these effects.
Here are some shots of the effects in the game:
There’s a lot more you can do, I hope I’ve stimulated your imagination.
The example used in this tutorial.
If you need further help please contact us on the forums.
catagories: tutorial, mapping, buildings, sdknuts
Comment on this Article:
You must login to post comments.