Hosted at the Duke Nukem Repository
Navigate InfoSuite
Hosted At

Link to DNR
Advanced Effects - Tricks - A2 : Transparent Water

Transparent Water

This effect was invented by Bob Averill. This is quite complex to construct. I explain it almost exactly as Bob explains it in his transparent water FAQ.


Switch to the largest grid size and create a sector 4 grid squares by 4 grid squares.

Stay on the largest grid size and create another sector inside the first. Make this sector 2 grid squares by 2 grid squares. Use Alt + S to turn it into valid player space.

Switch to the smallest grid size and move each vertex of the inner sector diagonally outwards by 1 square. The image below is taken in the largest grid size so you can see a clearer result.

Switch to the largest grid size. Create another 2 by 2 valid player space sector inside the first. There will be a very thin gap between the bordering walls of both inner sectors. Since this is only a demonstration, I'm leaving the gap at that size. Usually, however, I turn grid locking off and make that gap as thin as possible.

Texture the outer sector however you want. Parallax all three sector's ceilings, and parallax only the two inner sector's floors. I parallaxed texture #94.

Hold the Left Mouse Button on the thin inner sector's floor, and press PGDN until you can no longer see it (even while looking down). Now place the mouse cursor over the area where the big inner sector's floor should be, and press PGDN twice. You should now be able to walk over the gaping pit without falling through.

Place four sprites in the locations shown below. Make sure they are not blocked/hittable.

Texture all of the sprites with water (#336). Use the R key to floor-align them. They should all be directly on the big invisible floor (use Ctrl + PGDN on each of them). Use T to make them as transparent as you wish. You can also texture the walls of your pool.

The big inner sector will now be referred to as the above-water sector. Tag it [0,1], and place an S[Channel,7] within it.

Use Right Alt to encapsulate all of the sectors. They will flicker green when highlighted. Copy the sectors with Insert, then use the Left Mouse Button to drag them next to the original. The copy and the original should be completely independant of one another. Change the copied inner sector's tag from [0,1] to [0,2]. This will be the below-water sector. In the rest of the steps, we will be dealing with the below-water sector only.

Raise the below-water sector's water sprites by a few units. You have to raise them so you can access the invisible floor beneath them. Turn the floor parallaxing off, and lower the floor until it matches the height of the bordering parallaxed floor. Disable the bordering floor's parallaxation as well, then texture both floors. The S should still be directly on the floor (use Ctrl + PGDN if it isn't).

Temporarily remove parallaxing from the below-water sector's ceiling. Lower it until it is at equal height with the surrounding floor, then lower it by 2 more units. Parallax it again, and it will become invisible. This needs to be done so the player will not transport above the water when trying to submerge. The final step is to raise the water sprites directly to the invisible ceiling (with Ctrl + PGUP).

Notes:

  • The ceiling and floor must be parallaxed
  • If the water sector is very large, the water will have to be ridiculously deep to hide the parallaxed floor.
  • Using the same parallaxation trick, it is possible to create things such as invisible columns and slopes.

Shallow Pools

To build a shallow pool, hide the parallaxed floor with sprites. It's not completely perfect, sometimes a floor sprite may show through the water. This problem is less apparent when the gap between the two inner sectors is extremely thin.




Return to top