Underwater surface skybox thingy question

Hello again,

I has even moar questions!
When youre underwater, and you look at the surface, you see the skybox.
I’ve build some kind of underground base, with the water going in there. When I’m swimming around in that water I also see the skybox. Is there any way to change this, so I either see the ceiling or some kind of solid color?

Thanks :slight_smile:

An picture would help.


This is what it looks like from above the surface, as it should:

And this is what i see when i submerge:

The hell…?

Does HL2 do that by default?

Perhaps try a different texture; I think it’s the texture, not HL2.

i’ve tried about 10 different ones, including cheap, expensive, dev, anything… all give the same result.
i also added a cubemap above the water, built it, still nothing. tried the same underwater

im a little baffled, but i’ve seen it happen before so often in other maps, that im starting to think its unfixable.
As a matter of fact, i’ve never seen it any other way now that i think about it

Any info on this would be greatly appreciated!

another thing i’ve noticed, although unrelevant, is that some cheap water textures have different behaviours. For example when i throw a barrel in the normal texture, it stops bobbing after a while. When i throw the exact same prop in a cheap texture it will keep bobbing, even jumping out of the water completely everytime it goes up oO

Is there a skybox anywhere in your map?

Even a single unit of skybox texture?

Cheap textures are as the name implies cheap. In this case, cheap for the game to render. They are mainly used on large areas of water at a certain distance away from the player (defined by the lod_control) expensive water transitions to cheap to save on performance. The simplified physics and lack of refraction and reflections aren’t usually notciable at such distances.

Yes there is, a full skybox where its supposed to be. What you’re seeing is an underground base.

I’m very aware what cheap textures are, but thanks :stuck_out_tongue:
Though when i use an expensive one, the skybox is being reflected on top as well, even with the cubemaps built. This is starting to drive me nuts :’(

Try removing the skybox and see if it still happens.

When i replace the skybox with a normal texture (used concrete), it works perfectly
However, removing the skybox ruins the entire level, it’s not worth it

i found what causes it. When i disconnect the 2 bodies of water (one in the base and the other one on the outside) it also renders correctly. The problem then is that you get the hall of mirrors effect on the nodraw sides

Have you tried assigning seperate cubemaps to the top faces of each water brush?

no way, how oO?

Open the properties of the env_cubemap, select brush faces, click on the “Pick…” button and select the faces you want to use the cubemap. Hold control to select multiple brush faces.

Im going to try now, ill let you know. Thanks for the tip!

Edit: didn’t work :frowning:

That’s hilarious. I see stuff like that happen to spacebuild maps all the time. Maybe you are compiling on fast? Normal may fix.

you of all people should no that when two planes of water in the same visgroup are at different z values, they dont render properly.

Try adding an areaportal in between the two water areas

allright, i will try, thanks :slight_smile:

Edit: done, nothing

Note that it works correctly when the 2 parts of water arent touching each other. It works well when i leave 1 unit of space in between them, but then i get a hom effect (because of the nodraw). Any way to change this? I tried applying a cheap water texture to the sides, they render correctly but again, they show the skybox

From what I gather they aren’t at different Z values, that’s a different issue. Let’s not go making this personal.
And if we’re going to be technical, you should probably know the difference between visgroups and PVS, before you start lecturing me.

If I’m getting this right, you want to have the outside of the water not showing from the inside? If we all do that math, we know that underwater is transparent, and refrects the obve area outside of the water to make it look exactly as water would appear. Now if you really want to make it look dark underneath do the following; Make a nodraw textured func_brush, Texture bottom side with tools/toolsblack, Then compil and the water will show and refract the outside black texture, making it dark. I use commas too much. :downs:

Also if you want more effect added too it to block all light coming in, use tools/blocklight.


One more thought, since skyboxes are cordon area, they can be seen from almost anywhere on the map as long as you aren’t staring into the void. Try making a func_viscluster in that whole water area too the roof, it makes it so the game knows that all leafs can see each other, maybe it’s simply not drawing the roof and skipping right up to the skybox?


If that doesn’t work a last ditch effort could be a giant tools/hint brush. :v:


P.s. This has never happened to me in-game, ever.