# Creating 3D bridges

Due to Doom's (and thus ZDoom's) rendering engine limitations, true 3D cannot really be made; unless you want to use 3D floors.

However, you can make working bridges in ZDoom by using InvisibleBridge and a few linedef tricks.

In your level editor of choice, make two platforms and an obstacle in between; in this example a nukage pool is used. The sectors have a ceiling height of 256, the platforms have a floor of 0 and the nukage pool has a floor of -128. You will obviously need a player start so you can play the map.

Now, assuming we want one of those bridges shaped like a row of X:es, put into the pool one segment of that bridge, an X. Here we have a 64x64 one, composed of four sectors.

Now, select all of the linedefs of the X and:

• give each a *middle* texture of STEP2 (any other STEP works fine as well), to both front and back sidedefs
• set the Y offset, again of both front and back side, to the negative of the subtraction of the ceiling height of the sector the pit and the floor height of the planes, or yoffset = -(pitceilingheight-planefloorheight). So, the ceiling height is 256 in both platforms and the pit and the platform's floor height is 0, so the sidedefs' Y-offsets must be -(256-0) = -256.

Next, copy the linedefs so that you'll get the complete bridge. It is a good idea to merge all pit sectors into one sector again.

Now, you have a choice. You can either use InvisibleBridge or CustomBridge things, or you can set the linedefs as 3D mid-textures.

• With bridge things, the Z height should be the subtraction of the plane floor height and the pit floor height. In the case here that is 128 - 0 = 128. Also, the arguments for a custom bridge need to be set. The first argument is the radius of the segment, 64/2 = 32 in my case, and the second argument the thickness. STEP2 is 16x8 in size, so the second argument should be 8 in this example.

The bridge is now finished!