This isn't a tutorial specific to Call of Duty (its actually a throwback to MOH) - but might give some of you mappers some ideas on creating your terrain...
Nothing is more difficult than creating realistic Nature in a 3d game. That´s right. But the QuakeIII-Engine provides us poor mappers with some usefull tools: The LOD-Terrain and the patched surfaces. I will explain, how you can use this tools to create nice outdoor levels. It will be a long tutorial because it will cover how to build roads, rocks and terrain. So brew yourself a coffee (just like I did writing this tutorial) and enjoy.
I will go through the process step by step, starting with the road.
1. The road
In most outdoor levels, a road is the red line that leads through the enviroment. That means, that the player will have a closer look to it nearly all the time. To create a road with nice curves we gonna use the patched surfaces:
a) The straight road
So let´s start with the straight part of the road. Draw a brush (x-direction 384 World Units (WU´s), and y direction 768 WU´s), covered with the wilderness/m3l3_set4 texture. This texture has the advantage to be allready solid. You don´t need to clip the road afterwards. It doesn´t matter how thick the brush is or if the other faces aren´t textured with the caulk texture because it´s going to be turn into a patched mesh. Keep the brush selected and choose from your top toolbar Curve and than Simple patch mesh... . Another window pops up, asking you how the dense the patch should be. Give it the values displayed in the image below:
Hit Ok and your brush is transformed into a simple patch mesh. The texture doesn´t fit? Hit the Fit button in the lower right corner of your Radiant and the texture will be placed correctly on your patch. This patch gonna be our reference which we will copy/paste through the whole level, so be sure to have a copy of it! It will save you a lot of time.
b) The 90° curve
So, let´s see what we have got so far. A straight road made out of a single mesh. Nice but not much:
Ok, select your road and hit V. Pink/green dots appear, the vertexes. Now, move the upper 5 vertexes as the image below shows:
Now move the line of vertexes in the middle as shown at the next image:
Having a closer look at the 3d view in the Radiant you can see that the texture at the curve now looks a bit stretched. Remember the Fit button used before? Right beside it, there is the Set button:
Ok, the texture fits again and we have a 90° curve for our road.
c) The 45° curve
Let´s have a look again at our work: A road with a straight part and a curve. Nicer than the first look, but still a bit boring:
Now we add a 45° curve. Clone your reference raod by hitting the spacebar while having it selected. Hit V again to change into the vertex-mode. Next hit R to enable the rotation. Select the whole upper vertex row and move your mouse two times up. The vertexes will rotate to tis position:
Next, select the middle row of the vertexes and move your mouse one time up and it will look like this:
Last thing to do is pressing the key-combination STRG + G. This forces all vertexes to fit to the grid. This makes the maintenance of the map more comfortable and prevents errors during the compiling-process.
If you want to have a straight part of your road leading in a 45° direction, just select the part of the road, hit "R" and rotate it like you want. But don´t forget to hit CTRL + G afterwards to force the vertexes again to the grid.
Tip: In the next step, we gonna embed the road into terrain. To make this easier, I recommend to move the side vertex-rows of our road 16 WU´s down.
2. The Terrain
If you downloaded my example road you will see this in your Radiant:
Now it´s time to embed the road into terrain. For this we´ll take the LOD-Terrain. Draw a brush around 256 x 256 WU´s big, give it the wilderness/m3l3grass_1rough texture. While still selected, go to the top toolbar again and select LOD-Terrain and than Create from Brush.
Your former usual brush turns into a LOD-terrain plate. Note, that I set the Scale to 1 to get a smooth LOD.
Some explantions to the LOD-Terrain: The smallest size of one plate is 512 x 512 WU´s. It´s not possible to make it smaller than that. If the brush you want to turn into a LOD is bigger than 512 x 512 WU´s the resulting LOD will be double in size.
It´s also impossible to give some faces of one LOD-plate a different texture. This seems to be a big disadvantage, but I will describe some work-arounds later on.
-> If you want to cut a hole into your terrain, e.g. for bunkers, select the LOD, hit SHFIT + F. This window will pop up (the marked option will be of interest for us):
Select the faces you want to delete by holding CTRL + SHIFT pressed and clck at the triangles to mark them. Selecting the Delete option inside the Edit Facet Flags-Window will make the triangles disappear and passable ingame.
Ok, so much for the LOD-Tipps. Let´s continue with our country road. Make a plane terrain around your road by putting some terrain plates together. Now it should look like this:
Select the terrain and hit V. The vertexes of the terrain appear and now we can add height to the terrain
The vertexes of the LOD-Terrain can only be altered in vertical not in horizontal!
Change the height of the LOD-vertexes near the road so that the terrain goes underneath the road. Just look at the next image:
That´s how it should look like in the 3d-view:
Do this all the along the road.
3. Rocks and Treelines
Last but not least, we need some level margins to avoid that player falls out of the map or see more than he might be able to... For this purpose we use rocks and/or treelines. Like the road we make them out of patched surfaces. Let´s create rocks first.
In the yz (side) 2d-window of your Radiant, draw a brush (both, the y- and the z-direction 566 WU´s) and texture it with misc_outside/rock_cliffside_trans. This rock-texture is also allready solid, so you don´t need to clip the meshes.
Make sure, that the yz (side) 2d-window is still highlighted before you turn the brush into a mesh. For the density, enter both for Width and Height 5. Hit V and after that CTRL + G to ensure that all vertexes lays on the grid. Fit the texture to the mesh. It´s upside down? Ok, to correct this have a look at this part of your Radiant GUI:
Hit Flip X and the texture will be correct.
Now go to the Front 2d view to see the rock-mesh from the side. Keep the SHIFT Key pressed and move the five different rows of vertexes to give the rock a shape:
Very soft shape, very much faces. To increase preformance ingame, the rock should have less faces. To do this, we open the Curve-tool and select Complexity -> Decrease:
Again, we have a reference. This one we gonna copy/paste just like the road.
As you can see, I have copy/paste my reference-rock three times.
Keep them all selected and hit V. Now edit the vertexes as you like to give the complete rock wall a better shape:
Again we make a patched mesh out of a brush with the size of y = 832 WU´s / z = 1264 WU´s. This time we use the common density of Width = 3 / Height = 3. Give it the texture misc_outside/treeline_center. Fit the texture to it and create and move the vertexes a bit around. Reduce the complexity again.
Now build a treeline out of it and clip it at the end. That´s it, after adding a skybox and a playerstart, maybe some trees and bushes you have a nice outdoor scene.
You can play around with all the vertexes of your meshes, maybe let the road goes up and down, making some waves in it, etc... Just avoid to make everything complete straight. But keep within the limits! Remember, every vertex has to lay on the grid!
Tutorial by Manstein