Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Obsidian

How to make reflective floors in Vanilla?

Recommended Posts

This map has an example of reflective floors(among other neat stuff) , and I would dearly love to know how to duplicate this feat. Due to this being made in 1996, I'm pretty sure it's for vanilla. I tried dissecting it in Doom Builder but no dice. :/ Does anyone know how to make this?

Share this post


Link to post

That's an interesting effect which apparently only works with software renderers. Looks like the trick relies on the renderer being confused by linedefs facing different sectors (24 and 25) for which there's no dividing line, I'll try replicating it later. The upside-down supermodel is a separate texture offset into the floor, so it's not a true reflection.

Share this post


Link to post
GreyGhost said:

That's an interesting effect which apparently only works with software renderers. Looks like the trick relies on the renderer being confused by linedefs facing different sectors (24 and 25) for which there's no dividing line, I'll try replicating it later. The upside-down supermodel is a separate texture offset into the floor, so it's not a true reflection.


...I was wondering why that was there. If you could help me replicate it I'd be very grateful. :-)

Share this post


Link to post

I'll be damned...even works in Mocha Doom :-o

Edit: as to how it's done, after some dissecting with XWE, it's a complex trick based on overlapping sectors and using darker wall and floor textures (not different light levels). The "under the floor" walls you see are actuall darker MIDDLE textures that are bleeding below the real floor you're stepping on.

Find sectors 24, 25 & 26 and see what I'm talking about. Sector 25 is wall-thin, semi-closed and carries only the wall textures at "floor level". Sector 24 is what you are walking on, and its walls carry either the dark textures (offset by -128, so they "bleed" under the floor. Sector 26 is mostly not visible (it forms certain rooms outside the walkable area of the map), but some of its walls carry is probably used in order to aid forming a closed sector for 25.

The "reflected" sprites are actually two separate masked textures on two different -but very close- linedefs. One is visible above the floor, the other one is darker, reversed, and is drawn with a negative offset.

The overall effect is similar to Boom's "transfer ceilings", somewhat.

Surprisingly, no light level or even height variations are present: all trick sectors (as well as Sector 24, the one you're walking in) have the same floor and ceiling heights (0 and 128). Not even self-referencing sectors are used: this is a different boundary-pushing trick.

Share this post


Link to post

Oh, I remember this wad. Would be very interested in a detailed explanation of that floor trick.

Share this post


Link to post

If you like WADs with special visual effects, don't miss out on DoomonstrationGame. It's a Boom map, but it's semi-playable in vanilla and limit-removing ports, allowing you to see some of the effects.

Share this post


Link to post

I don't think you will be able to achieve the overlapping sectors in this MAP in DB2, if you try and drag them like that they would just merge. In DB1 however you can do it by dragging and dropping sectors then using undo once which should only unstitch the verticies of your last move. I tried a slight variation of this idea....

http://www.mediafire.com/?ybymcd5w5gkrei9

Aptly named "cheesyeffect.wad" after how silly this whole trick is.

Share this post


Link to post

You know you can turn off stitching and alter the sectors that sidedefs reference when necessary, right? DB2 certainly can be used to map out anything you'd want to.

Share this post


Link to post

No Phobus there does not appear to be any option other than "Stitch Geometry Within" even if you set it to 0px it will still merge geometry thus DB2 does not yield the desired results.

edit - Discovered a couple of ways just now align the sector you want to overlap on the X or Y find the distance between verticies edit all verticies of the given sector to move for example --DISTANCE ++DISTANCE. Using edit mode can also produce the desired result by using the absolute option in the same manner as listed above.

Share this post


Link to post

This falls clearly into the category of effects that are easier (or at all possible) to perform with a "do less" kind of editor, like DEU. Even if you find a workaround in DB1 and DB2, God Forbid if you have to split things again and make any changes....

Share this post


Link to post

If you've ever worked with MIDBARS-like textures, you may have noticed that unless you change the floor texture or the lighting between two adjacent sectors, the texture will "bleed" into the floor, meaning you can see the texture even though a section of it is blatantly under the height of the floor.

The way this map does it (because I've studied it before myself) is that it does the same thing using a wall texture instead of MIDBARS, and uses a custom texture that looks like a vertically mirrored version of the walls, and darkened to look translucent with the dark color of the floor, simulating Boom's translucent wall texture effect.

It looks pretty cool but it does involve having to add a good bit of new textures to your wad, especially if you want your room with the reflective floors to have more than just one plain brick texture, and it will only look believable if the reflecting floor doesnt have an easily distinguishable pattern like square or hexagon tiles or even water.

Share this post


Link to post
Pottus said:

No Phobus there does not appear to be any option other than "Stitch Geometry Within" even if you set it to 0px it will still merge geometry thus DB2 does not yield the desired results.

edit - Discovered a couple of ways just now align the sector you want to overlap on the X or Y find the distance between verticies edit all verticies of the given sector to move for example --DISTANCE ++DISTANCE. Using edit mode can also produce the desired result by using the absolute option in the same manner as listed above.

No, Pottus... You literally just have to press / to disable Snap to Geometry.

Share this post


Link to post
Obsidian said:

Yeah, but I have no idea how to pull that off. X-D

1. Draw a sector, set its height no greater than 128 units.
2. Draw an identically shaped sector inside of it with identical properties. While you can actually overlap them, it's probably easier to just leave a 1 unit gap between the sectors.
3. Assign midtextures that match those of the out ("top") sector to the inner ("reflection") sector's linedefs. Custom textures will make this more convincing (mirrored, slightly darker to give the illusion of a floor).
4. Give the mid textures a negative offset that matches the top sector's height.

The flat you choose is pretty critical to making it look right, too. When I did it with DB2's default textures, the flat looked pretty bizarre while the reflection effect seemed perfect, barring the lack of mirroring. The flat was being rendered normally, but the reflection effect is so convincing that the flat looked like a floating, distorting mess when moving around.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×