Help making those old coastline houses?

R

Release

Guest
The old abandoned coast houses was my favorite part of Half-Life 2 because it was just so creepy and immersive, and I think it's really cool that there's a lot to explore in those houses that you could very well just drive by and skip. Anyway, I wanted to make a Synergy map with a similar theme of the coast maps, and it would have a few of those old creepy houses. You'll start off in one house, and it's going really well right now geometry-wise, but I'm stuck on making the windows?

Is there a tutorial for making those windows exactly the way they made them in the HL2 coast maps? I'm talking the whole thing, the visible window models, the fact that it's breakable, the bright white light effect when you're far away from the window which fades away when you get closer (hides the exterior I'm assuming for optimization), other brushes that block certain things overlapping the window?

So far, all I have is a prop_static with the window frame model (I'm using that taller, not very wide wood window), and a prop_dynamic for the "window bars". I haven't altered any properties yet because I really don't know what I should be messing with? I'm also not sure about the trigger brushes I would need and if entities should be tied to them or anything like that. The only "trigger" brushes that I understand so far are Nodraw, Clip, and Trigger, and I haven't really used anything else yet. I opened one HL2 coast map and tried to see how they did it, and there's like seriously 4 or 5 brushes shaped like the window, on every window, and I can't understand which brush does what. Can someone give me a tut link or a step by step? Thanks a lot :)
 
Hrmm... I tried opening one of the single player coast maps again, and I pulled apart all of the window brushes and looked at every single one of the properties they changed. Like, I added my own func_illusionary with the default properties, then switched back and forth between a func_illusionary they used on the window, to find out what properties they edited, so I'd know what I needed to alter to get the same effect.

So far I made the:

prop_static with the wooden window frame's model,
the prop_dynamic with the window bars and used all the same properties they used,
the func_breakable with the glass texture and the same properties they used,
the "lighting panel" brush they used textured with white002 and the same properties,
the "fading part" brush they used textured with windowportal and the same properties,
and finally, the normal brush (no tied entity I think) textured all with areaportal

I also noticed they have env_cubemaps centered around every window, 32 units away from them on the inside and outside, so I did that also but didn't change any of the properties of the cubemaps, kinda forgot to look.

When I tested the map, the func_breakable worked properly, and it correctly altered the prop_dynamic (window bars) model to the "broken" form when I broke the glass, so I got that part right. But there were two problems. The blurred/faded image of the outdoor area caused by I'm assuming the "fading part" brush, stayed there even when I approached the window. In single player it's supposed to only appear blurred when you're far away, and fade out so you can actually see the outdoor area when you get close, so something is wrong there, but I'm sure I used the exact same properties they used on the fading part brush. Also, the brush textured completely with areaportal is for some reason.. solid. When I crowbar through the window, it hits it, but if I moved that areaportal brush away, I can swing through (although I still can't see the outdoor, it's just the weird blurred image of it).

Do I need something else in the map for this to work right? The only other thing I have in the map is a player start and a light_environment. Thanks for any help
 
Well I'll just post here anyways since someone else might want to do the same thing. I think I figured out how to make the windows properly.. There is somewhat of a tutorial here on how to make it, but it's only for one-sided windows and leaves some things out that they did in the SP windows I saw. I didn't think to look here because I had no idea about the "func_areaportalwindow" at all. The reason why, I came across in the following post, which is a really old post:
One thing to bear in mind about the decompiler: it doesn't correctly tie the func_areaportal (or areaportalwindow or occluder) entities to their brushes. Currently, those brushes appear as regular world brushes. So don't blindly copy what you see in a decompiled map, it's not the correct way of doing it.

Here's what I did:

- Clip a hole to place a window, and make sure the outer clips are vertical, fairly sure it's more optimal. Make the hole 56 units tall and 32 units wide, and 8 units thick (wall's thickness)

Window Frame
- Place a prop_static and give it a World Model of "models/props_wasteland/woodwall030b_window01a.mdl"
- Set its Collisions to "Not Solid"
(optional) Set a Start Fade Dist and End Fade Dist if you want it to fade out from far away

When placing model entities, they won't be on the grid so you won't be able to perfectly fit them in the window at first. Select them by their center and then press CTRL+B to snap them to the grid.. this goes for this window frame and the next one too

Window Bars
- Place a prop_dynamic and give it a World Model of "models/props_wasteland/woodwall030b_window01a_bars.mdl"
- Set Disable Shadows to "Yes"
- Set its Name to something unique like "HouseA_Window1_Bars"
- Set its Collisions to "Not Solid"
(optional) Set the Start Fade Dist/End Fade Dist to the same as the frame

"Fading Part" illusionary brush
- Place a brush that fits exactly in the window textured with NODRAW - 56 tall, 32 wide, and 1 thick
- Change only the textures facing the inside and outside to dev_windowportal
- Set its Name to something unique like "HouseA_Window1_FadingPart"
- Set both Disable Receiving Shadows and Disable Shadows to "Yes"
- Go in the top view and make sure the brush is perfectly over the thin bars of the window, then use Tools>Transform>Scale and Scale it thinner by .6, so the thickness is .6, and no longer 1.0

Breakable glass brush
- Place another brush the same size like before with NODRAW - 56 tall, 32 wide, 1 thick
- Change only the textures facing inside and out to a transparent glass texture - they used "glasswindow017a" (if you use this one, scale it and center it to hide the edges of the texture)
- Set its Name to something like "HouseA_Window1_Break"
- Set only Disable Shadows to "Yes"
- Set its Prop Data to "Glass.Window"
- Set its Strength to "17" (or whatever, but in SP for these windows its 17)
- Go to the Outputs tab and click Add, then set the following variables:
OnBreak > HouseA_Window1_Bars > SetBodyGroup > 1 > 0 > No

That tells the model of the window bars of the prop_dynamic to change to the "broken bars" model if someone breaks the breakable glass brush.

- Go in the top view and make sure the brush is perfectly over the thin bars of the window, then use Tools>Transform>Scale and Scale it thinner by .4, so the thickness is .4

So, this brush should be a little bit less thick than your previous brush. I think they did this so they can select the brushes easier from the top view. If all the brushes were 1 unit thick, it'd be hard to select the different brushes.

Area portal window brush
- Make one last brush the size of the window - 56 tall, 32 wide, 1 thick, but have it textured with AREAPORTAL
- Tie this brush to the entity - func_areaportalwindow
- Set its Rendered Window to "HouseA_Window1_FadingPart"
- Go in the top view and make sure the brush is perfectly over the thin bars of the window, then use Tools>Transform>Scale and Scale it thinner by .2, so the thickness is .2

Also, it seems by every window, 32 units away from it, is an env_cubemap in the SP coast houses. If you go to those cubemaps' properties, they picked certain surfaces for the cubemaps. For the cubemap in the INSIDE of the window, they picked the surface of the "fading part" brush that faces the OUTSIDE. For the cubemap on the OUTSIDE of the window, they picked the surface of the same brush that faces the INSIDE. I'm assuming this was done for a reason.. but I don't really know. If your brushes are .6, then .4, then .2 thickness like I did, then that "fading part" brush with the dev_windowportal texture (which is the one you want to select for the cubemaps) should be the outer-most brush, so it should be easy to pick the surfaces. If they're all 1 thickness, you'll have to move other brushes out of the way.

Another weird thing, about the cubemaps, it seems they picked at least two surfaces for them, including the dev_windowportal surface. They'd pick the windowportal surface, and then pick a seemingly random surface... like some wooden surface stuck in the solid roof somewhere, which you can't even see. I'm not sure of the purpose of this, if it's some hacky solution to something or if it was just an error... but I hope someone could tell me why they did that here. Also if I've said anything wrong or inefficient please correct me.
 
Back
Top