Distance Fog
by George

Having distance fog in your level can produce some quite startling effects:

First of all, to get the distance fog effect to work you will need an horizon object in your WAD and enabled in your script. But it will need to be a TR3 style horizon and not the more usual TR4 style. It makes no difference which TR3 horizon as we will be colouring it the same colour as the fog anyway. Here is what a TR3 horizon and a TR4 horizon look like:

To get a TR3 horizon, whack in your TR3 CD and copy any of the horizons into your WAD using WADmerger. For our horizon we are going to use this colour of fog:

Open your WAD in Strpix and find the horizon object.

Next, select any of the horizon textures and export it to your desktop without changing any of its properties.

Open the file in your paint programme of choice. I will use the simple Windows Paint utility.

Find the colour you wish your fog to be from the palette. In the following picture note that the colour has a red value of 0, a green value of 102 and a blue value of 102.

Colour your horizon texture in the new colour and save it.

Import the texture back into Strpix. Immediately, every place that texture is used is coloured by the newly imported file.

Have fun colouring in the entire horizon in your new colour. The left mouse button adds colour while your right mouse button rotates the horizon. You can also use the Ctrl and shift keys with right mouse to move the object in the Render Window.

Save the file, close Strpix, open your map in the Editor to have a look at your new horizon. Output the WAD, convert the level, then open your script text file. Remember the 0,102,102 figures you jotted down in Paint? Okay, you now need to enable the horizon, enable the fog and enter those values like this:

Horizon Enabled ensures your horizon is visible in game. ForceVolumetricFX ensures everyone who plays your game will see your distance fog effects. FOG= are the values for your fog colour. FogRange sets the beginning and the end of your fog distances. A minus value in the first instance would start the fog from behind Lara. In this example the fog starts 2 tiles ahead of Lara and becomes impenetrable at 40 tiles. If your level begins to lag, cut down the far distance draw of your fog until the lagging stops. LevelFarView I always set a couple of tiles further than the fog range.

Now go into game and test! If you're using a cheap utility like Paint, you may find it's not too precise with colour matching so your horizon and fog effect may not be perfect. If the horizon is slightly darker than your fog, simply reduce the fog to say 0,101,101 in your script and try again. If it's still slightly out, adjust once more. No professional programme should give you this problem.

Once you have your horizon and fog perfectly matched up, you will have no polygon breakdown whatsoever, not even in huge outdoor areas. If you're really clever, you can even put some details into the horizon at a height where the details will not show through any of your structures.

One problem to watch for is that if you texture door portals between rooms using toggle opacity, say for a cobwebbed effect, this will cause your fog effect to break down at the usual distance and you will get poly breakdown. The fix is to toggle opacity your door portal again and retexture the whole portal with normal sky texture from the pallette. You can also use this fix for huge outdoor areas if poly breakdown becomes an issue. You can produce some stunning levels using this technique!

For a more advanced distance fog and fog bulb tutorial, see Weather - the Complete Tutorial by AkyV.