Envmaps Tutorial

by Rhino

First before you start this Tutorial you should have crated a basic map and have generated you Lightmaps.

I've made this Tutorial by reading and trying to understand a few posts but by putting a load together i have finally got id and then thought i would make a detailed tutorial seeing that i could not find any

By Generatin﻿g your Envmaps you will get water that will look like normal BF2 water which will reflect from any angle and reflections off objects in your map like Sniper Scopes, Car mirrios, water puddles, ect. It also shows the reflection of hills and the terrain around where u generate the envmap in the water 8)﻿

1. Open your map in the Level Editor in the BF2 Editor.

Here is my map i made for this:

http://img92.imageshack.us/img92/5474/untitled2ck7.jpg

Notice the Hotel in the left sunk in the water, there is a reason for that which we will go into later

2. In the Resources box expand *bf2>content>object>common>*

In the "common" folder you should see DefaultEvnMap

Note. If you are making a map in a mod the "content" folder will be under your mod name.

4. Now lets drag and drop the first DefaultEvnMap into your map like you would to any other object. It looks rather much like a white cube, with 1 side which is very white and the other sides a ligth gray. You MUST make sure its ABOVE the water / terrain or its going to look really horribal! The first ENVmap I allways use as the ENVmap for the water reflections. So you will want to place this ENVmap somewhere in the middle of your sea / river so that you will get the terrain around your sea/river reflecting off it. So place it wiseley. As my map has a big island in the middle, i can only really place it on 1 side of the island to get the reflections of it.

Now after you have placed your first ENVmap, you will want to maybe, but you do not have to, place more ENVmaps around so that when ppl walk around with the M24, they will see the refelction of the ENVmap they are closeest too. So if you are in a city, and u have a ENVmap in that city, they will see a refelction of the city around them in there scope, if they move out into the desert, and you have a ENV map in the desert aswell, when they get close to that desert ENVmap, they will see the desert in there scope. If you do not put a desert ENVmap out there, and you still have the 1 inside the city, they will still see the city in there sniper scope even thou they are way out in the desert. This is not a huge detail but every small detail counts so you choose, ENVmap files are not that big

So now lets place our other ENVmaps around, to show you want i mean about the sniper scope refelctions, im going to put 1 ENVmap ontop of my island, and anouther on the hotel way out in the see

5. Now that we have the DefaultEvnMap in your map you can now generate them.

Go to the *Compile>Envmaps>Generate Envmaps*

After u have clicked on *Generate Envmaps* you should see this bit of code in your output window which tells you it has compiled them.

6. Now Save your map and quit the editor

7. Now go to your Levels Folder in *EA GAMESBattlefield 2modsbf2Levels\*YOUR MAP\**

In there crate a folder called "water"

Now go into your "Envmaps" Folder and copy the file called "EnvMap0.dds" (which is the ENVmap you did for your water refelctions)

Paste that file in your water folder which you just crated.

Now Rename "EnvMap0.dds" TO "EnvMap.dds"

8. Your done, now you should have ENVmaps in your map now

Here is what your map should look like:

what the water looks like before

and what the water looks like After

Also now i can show you what im on about with the sniper scope reflections in areas. The first pics is of the refelction i got when on the island:

And the 2nd is of the pic i got when on the hotel roof.

The pics aint grate as i didnt have fog and the outside terrain enabled which i would need to do to get my ENVmaps looking just right so bear thous things in mind when doing yours. Enable things like over and under growth and make sure its on detail texture mode and things like that to make them look as good as possibal

Hope this helps