Creating a see-through, fully invisible room

  • If you're asking a question make sure to set the thread type to be a question!

Phil25

L1: Registered
Jun 13, 2015
49
10
Hello there everybody!

I want to create a fully invisible room which can be placed entirely within the map's bounding brushes. The outside has to be fully visible from the inside and everything on the inside to be hidden from the outside. And, as you may imagine, when you are on the outside, all the entities and world brushes which are behind the room have to be visible through it, without seeing anything inside whatsoever.

This is really giving me nightmares. :O
Thanks you very much for any help in advance.
 

iiboharz

eternally tired
aa
Nov 5, 2014
857
1,291
Have you considered toolsinvisible? Alternatively you could make it a func_brush and set its render mode to "Don't Render".

EDIT: Oh wait I completely misunderstood the question
 
Last edited:

tyler

aa
Sep 11, 2013
5,102
4,621
I don't think there's anything you can do that will hide the brushwork and everything inside (players and entities, by which I assume you mean props?) while still making the things behind it also visible from the outside. Using a func_brush or invisible would still leave the interior visible, I am pretty sure, and the only way to not have those things visible would be to then occlude them, which would also occlude the things behind the room. If you just meant props you could maybe do some aggressive fade distances, but that'd still leave players visible.

I do know some people get around this by using the toolsblack texture and just making the outside all black and the inside invisible (probably need a custom texture for this or glass because you can't put tool textures on just one side of a brush), but then you'd have to have a reason to have an area where an all black room could hide.

You can't just make this a room that is worked into the facade of the map somehow?
 

MrHatlf

engineer main, majoring in exploiting
Feb 6, 2013
79
40
I don't think there's anything you can do that will hide the brushwork and everything inside (players and entities, by which I assume you mean props?) while still making the things behind it also visible from the outside. Using a func_brush or invisible would still leave the interior visible, I am pretty sure, and the only way to not have those things visible would be to then occlude them, which would also occlude the things behind the room. If you just meant props you could maybe do some aggressive fade distances, but that'd still leave players visible.

I do know some people get around this by using the toolsblack texture and just making the outside all black and the inside invisible (probably need a custom texture for this or glass because you can't put tool textures on just one side of a brush), but then you'd have to have a reason to have an area where an all black room could hide.

You can't just make this a room that is worked into the facade of the map somehow?

You can do nodraw on one side of a brush.
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
OP is trying to make a box that people can see through from the outside. If the interior of the box was nodraw, and the outside was textured, then people would not be able to see through it. Hence why tyler suggested building the box in to the landscape.
 

hutty

aa
Mar 30, 2014
538
444
if the box is far enough away from the rest of the map, you could make the box a prop with a short fade distance ... the only issue there is players would still be visible in the box (maybe fixable with an areaportal?)

edit::
(assuming the box is up in the sky)
what you might be able to do is make the outside of the box the skybox texture and make the inside an invisible texture (or a 1 sided mesh prop? or displacement?), and then inbetween the outer layer of the box and the inner layer, make areaportals with a fade distance (so players far away from the portals cannot see through them)

This is all theoretical, and probs wont work
 
Last edited:

Phil25

L1: Registered
Jun 13, 2015
49
10
if the box is far enough away from the rest of the map, you could make the box a prop with a short fade distance ... the only issue there is players would still be visible in the box (maybe fixable with an areaportal?)

edit::
(assuming the box is up in the sky)
what you might be able to do is make the outside of the box the skybox texture and make the inside an invisible texture (or a 1 sided mesh prop? or displacement?), and then inbetween the outer layer of the box and the inner layer, make areaportals with a fade distance (so players far away from the portals cannot see through them)

This is all theoretical, and probs wont work


Your edit is almost exacly what I've been using this entire time. The room is indeed high up in the sky and I just needed to know if there's a better way of accomplishing what I have in mind. I remember doing all the outside a skybox texture but it wasn't working properly (don't quite remember why, I think it was because players from the inside couldn't see anything on the outside).

What I have been using so far is a box with 5 walls with a skybox texture on the outside and the walls-and-such textures on the inside. (for this next part, keep in mind that I was a begginner when I was doing it so please don't laugh at me :p) The 6th wall is a func_detail with a skybox texture on the outside and a glass texture on the inside. Right outside of the 6th, glass, wall there's an areaportal, which is closed by default. It's being opened by a trigger_multiple, which covers the entire room, when a player enters the room and closed back again when everyone leaves. So when somebody's in the room anyone can see it, but when it's empty it's nice and completly invisible.

I was trying to make the fading areaportals work, but it didn't work for some reason.


If you want to see this in-depth I've built a tiny test map:
WMF File, BSP File

The room itself is suspended right under the top brush. There are props around to test the see-throughness as well as inside (along with a func_detail and some world brushes) to test its secrecy.
The info_observer_point let's you see how the room looks like from the inside when the areaportal is closed.

Thanks for the answers, guys! ;)
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
No, areaportals don't work like occluders. They are for sealing an interior space and culling it when you are out of range, or out of view. In this case, the space they would be concealing would be the interior space that they are creating. It's not perfect as the contents become visible if you move within range. But you could make the box inaccessible and give it a short range.

Useful for Deathrun maps where the activator's path is in an open environment!

Thank you, wareya!
 

wareya

L420: High Member
Jun 17, 2012
493
191
>No, areaportals don't work like occluders. They are for sealing an interior space and culling it when you are out of range, or out of view.

They also work like inverted occluders for said "interior space". The reason that they're faster than occluders is because they only work on the visleafs and things in the visleafs in the interior space, wheras occluders have to work on all visible visleafs, and afaik that means they can't disable visleafs theirselves due to how it's pipelined. They (occluders) could almost definitely be integrated better, though.