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.