So, you want a Transparent Door

A tutorial by Kappes Buur




On first thought it would appear that the construction of a transparent door is quite easy to do. Yet, the renderer in the DOOM engine does not lend itself well to creating a transparent door. While there are transparent textures in DOOM, they work only when used as midtexture. The way the DOOM engine renders adjacent sectors not of the same height, with upper and lower transparent textures, the transparent part of that texture turns opaque, usually black.

Except for the Doom2 trick door, all methods described herein give good looking transparent doors. However, some suffer in one aspect of DOOM game action, they block projectiles and splash damage, so that any monster on the other side of a closed transparent door is unaffected by whatever weapon you fire. Unless, of course, you think of them being made of bulletproof and shatterproof glass.





Different ways to construct transparent doors:





Using the DOOM / DOOM2 sector trick

This door is used extensively in Robert Fenske, Jr's 1994 pwad Haunted Space Ship. The accompanying text gives Alberto Barsella (alberto@astrpi.difi.unipi.it) credit for the idea of the transparent door.

A description of how to construct this door appears in the text file of Jens Hykkelbjerg's pwad spcial12.zip. Just as a quick explanation, the sector reference of the doortracks must be different from the door sector.

Since the action of this door can produce HOMs and flat bleeding, I am not going into the fine points here. If you want to, you can reproduce this door from the literature. Another resource can be found here.

go to top




Using texture offsets

I came across this door in Fatal's DooM Resurrection Episode I - MAP02. It is a great improvement over the previous method of using the DOOM2 sector trick.

This door is not difficult to construct. It can be placed anywhere in a hallway, but .....

..... a few points must be observed. Notice the values encircled in red.
1.The door sector ceiling is not set to the same value as the door sector floor, as would be done with a normal door.
2. The door texture is set to be the midtexture and offset by the height of the door. 128 in this case.
3. Also, do not apply upper or lower textures.
4. Also apply a midtexture to the back of the linedef, again with an offset.

The example pwad can be downloaded from here.

go to top




Using the 160: 3D sector special

This uses a control sector to set up the door, with one of the linedefs as 160:Sector_Set3dFloor. While this works quite well, there is one visual drawback. Because the 3D sector must be set up as solid, only the texture looked at can be rendered. The example pwad can be found here.

go to top




Using the 209: Transfer_Heights sector special

This method is popular, as it is easy to construct. From a visual point of view this method is quite nice since both sides of the door are visibile.

Here is an example of how to implement this door. The secret is the linedef, pointed at by the arrow, which has the 209:Transfer_Heights special.

Credit goes to Enjay, who pointed the method out.

go to top




Using discrete sectors

This is my preferred method of constructing a "transparent" barrier, for several reasons:

It is truly transparent.
Splashdamage from a weapon is transferred through the openings.
The monster wakes up when in line of sight.
The pattern of the "door" rising or lowering can be controlled easily through a script.

To illustrate this last point:

The example pwad can be found here.

go to top




Using Polyobject Slide

The main difference in using this type of door is that the door will open sideways, which can make a pleasant change of action.

Usually, a polyobject is a singlesided contruct in a control sector. Transparent areas of a texture will be rendered as black. The trick to retain the transparency of the texture is to make the polyobject construct doublesided.

Making the polyobject construct doublesided has the drawback that one can walk right through the polyobject. To prevent this, the polyobject linedefs must be set to 'Block Player' and 'Block Monsters'.

The example pwad can be found here.

go to top




Using Crossing Barriers

Now, that GZDoom can display 3D sectors, another option is available to impede the player's progress. And that is in the form of bars to block the way.

However, to make this work convincingly, the 3D barrier has to be broken down into many sectors.

The example pwad can be found here.

go to top



Kappes Buur
Nov. 06, 2011

added crossing barrier Jul. 14, 2017