Creating Terrain using 3dsmax 6.0 or Higher
By NoMercy
Introduction:
Many believe Doom3 cannot support large maps with terrain, well infact it can, many people have done it already, and they look better than most games. Today I will show you the best know technique sofar on creating terrain in Doom3, its simple as pie. First of all you will need to know the basic of the basic stuff on 3dsmax. Good luck and if you have any questions or comments please e-mail me at
no_mercy5@hotmail.com
Part 1 creating the model:
First to get started we need to set the grid in 3dsmax to the grid DoomEdit uses, so first in 3dsmax go to Customize>Grid and Snap Settings, now click on the home tab and enter the numbers like in this picture below.
Now we need to create a plane. To do this we click on the

button and select "plane" in the Object type menu. Now while "plane" is selected in the Keboard Entry make it 6000 units long and 6000 units wide, click create.
You should now see a plane in your perspective view, it doesn't matter what colour it is.
Now select the plane and click on the Parameters drop down menu and make it 40 Length seg by 40 Width seg.
Right click on the plane and and go to Convert to> Convert to Editable mesh.
This is the part you must know how to use max, shape it the way you like, if you don't know what your doing you can find great tutorials on 3dsmax, just search it on google. Anyways this is what I came up with.
TIP:Try and use soft selection when using the vertex', I used 1000 Falloff.
Part 2 vertex painting to tell doom3 the difference between rock and sand/grass whatever.
"Now we have the model but how do we make rock and sand and grass?" Well first of all i'm about to tell you, but you must understand, Doom3 only supports 2 textures to be blended in one(1) model.
Ok so lets get started, select the plane and go to the modifier list and select "vertexpaint" a box should open up looking like this.
Now we get to paint on our mesh, but first you need to know that we are using two(2) colours, black for rock/stone whatever, and white for dirt/grass whatever.
First make the brush size 1000 and the opacity 80. Make shure the colour is black and also make shure you have the

button selected at the top of the vertex paint box. Now click on the

button for the paint brush (the erase button is just below if you make a mistake. Now just click and drag around on your terrain model to paint the rock.When your done you can use the

button to blur the paint to get a smoother blend. This is what I came up with.
Now go to the modifier list again and select UVW map, now give it a diffuse map, you can use any picture file you want it won't matter later on, just do it.
TIP: "M" is the hot key to the material editor.
Part 3 exporting and creating the material:
In your Doom3 Base folder create a folder called models and another in your base folder called materials.
Now in 3dsmax you need to export the model as a ASE file, so go to file>export and choose ASEII on the file type dropdown, save it in your Doom3/base/models folder as terrain01.
Now a box should popup with the title ASEII Export, make shure you have Mesh Normals, Mapping Coordinates and Vertex Colours selected, click ok when your ready.
Now go to your Doom3/base/materials folder and create a new txt file in that folder, and call it terrain.mtr, make shure you don't have .txt in there. Now open it up in notepad and place the following in there:
Code:
textures/tutorial/tutorial_terrain
{
noSelfShadow
stone
qer_editorimage textures/rock/skysand1_bmp.tga
{
blend bumpmap
map heightmap (textures/rock/skysand1_bmp.tga, 4)
}
{
blend diffusemap
map textures/rock/skysand1_d.tga
vertexColor
}
{
blend specularmap
map textures/rock/skysand1_s.tga
vertexColor
}
{
blend bumpmap
map addnormals( textures/hell/sharprock2_local.tga, heightmap( textures/hell/sharprock2_h.tga, 8 ) )
}
{
blend diffusemap
map textures/hell/sharprock2.tga
inverseVertexColor
}
{
blend specularmap
map textures/hell/sharprock2_s.tga
inverseVertexColor
}
}
Ok now I am NOT going to go into depth with material files you can find great tutorials on those at
http://www.doom3world.org. But what you need to know is the "vertex color" is white and "inverseVertexColor" is black, so that meens the places that you painted black on your terrain is the texture that inverseVertexColor uses, and the same for vertex color.
Save the material file and close it.
Now we need to tell the terrain model what material to use. Go to Doom3/base/models/ and open up terrain01.ASE in notepad and look for the lign that sais
*BITMAP "x.bmp" (x.bmp is representing the diffuse map you gave it, replase that with //base/textures/tutorial/tutorial_terrain (this is the name of your material that we just created a few steps back in Part 3) Give the *UVW_U_TILING a 6.0000 and *UVW_V_TILING a 6.0000, this is just to prevent the textures to be over stretched, save the file.
Make shure you always keep the quotation marks ( " " )
Part 5 placing the terrain in your map and testing it:
Ok the last and final part. Open up DoomEdit and right click on the 2d view port, go to new model>and terrain01 a very large terrain model should be in your map, now just make a light that can light up the whole map, give it a sky box and a player start, save and compile.
Run the map and have fun. The final product should look something like this.
Conclusion:
So there you have it a nice out door environment to play around, it looks nice to, you should try and make a even bigger one, just try not to go any higher than 60 by 60 polygons for safe FPS, I just finished creating a map that is 12000 by 12000 units and 45 by 45 polygons and runs fine, so experiment, add some detail, experiment, and most important have fun!
This tutorial was written by NoMercy for FREE public use.
Questions or Comments? Ask me at
no_mercy5@hotmail.com
Thanks goes to Brain Trepaining for comming up with this idea and creating a video tutorial.
Helpfull links for Doom editing,
http://www.doom3world.org ,
http://wiki.doom3reference.com/wiki/Main_Page
[EDIT]changed the topic header slightly so it's easy to spot a 'tutorial' in this sections topic listings. kat