Terragen 2 Unreal

My general overview of methods I use for importing Terragen terrain into Unreal.

As used to create this example map, Click Here to Download the Map
TerraMap01.jpg

You do not need the latest GeForce or RADEON graphics card to enjoy nice looking large terrain based maps in Unreal.
With this method of making terrain, you can achieve visual results on a low end system, comparable to some of the newer game engines.

This is an evolving article; new information will be added as it becomes available.


Ok, so you have a finalized terrain that you like in Terragen, with the sunlight where you want it, and you are ready to import it into Unreal.

Making the textures in Terragen

In Terragen unless there is a specific effect you are doing, you may want to turn down or off all the Atmosphere settings such as Haze, Light Decay and Blue, since these will tint the ground color of the render, as if you were looking down through the Atmosphere which up close can look odd or washed out (play with the settings till you like what you see).

Under “Lighting Conditions” window you can uncheck/turn off the “Clouds Cast Shadows” and Shadows in Atmosphere, since these are not needed for most scenes.

Under the “Rendering Control” window, uncheck/turn off the “Sky” check box and set the Image Size to the scale you want the texture to be, (for example 2048 x 2048 is a good size for use in Unreal).

Also turn down “Atmosphere” and “Cloud Shading” here since they are not really needed.

After you have done that, click the “Camera Settings…” button
TER01.gif

In the “Zoom/Magnification” corner, check the “Orthographic” check box, and then click the “Auto Setup…” button. This sets the camera up for rendering a flat overhead map of the terrain without any perspective distortion.

You are now set, so click the “Render Image” button.

When the image is done save it and then edit it with your favorite paint program, draw in paths, roads, tree and building shadows etc.

Then split the large image into smaller texture size chunks that can be reassembled in Unreal to tile the ground.

The Brush

So now that we have our textures ready, we need to make the 3D terrain model brush for them to go on.

I use Milkshape since it is inexpensive and can do what is needed with its “import heightmap” function.

It can use grayscale .bmp pictures to create Terrain with its “Terrain Generator” tool, at a maximum size of 64 x 64, which is more then enough for an Unreal map.

MS00.gif

To get a terrain that matches the one in Terragen, use TerraConv to convert the terrain file into a .TIFF picture,


Then use a paint program to downsize it to the desired dimensions for use in Milkshape and save it as a .bmp grayscale picture.

The pixels in the heightmap picture represent the vertexes in the mesh. For example, I used a downsized 61 x 61 grayscale image to generate a 60 x 60 square terrain grid in Milkshape that could later be divided/textured with a 4 X 4 texture tile in Ued.


The resulting terrain in Milkshape may be higher then it was in Terragen, and may need its vertical size scaled down some (for example by 0.5).


Once you get it looking the right height, select all (Ctrl+A) and extrude downwards to at least –100, this will form the walls.

MS01.gif

Select the vertexes along the wall tops and flatten them (Ctrl+Shift+Y)

MS01B.gif

MS02.gif

Select and hide the corner vertexes (Ctrl+H) to keep them out of the way so you can...

MS03.gif

Snap (Ctrl+N) and weld (Ctrl+W) the rest of the vertexes along the wall tops into orderly fanning arrays like is shown in the picture, this is to reduce the number of triangles and vertexes used in the model

Then unhide (Ctrl+Shift+H), select all (Ctrl+A), and extrude again, this creates a second wall.

MS04.gif

Select all its top vertexes and snap them together (Ctrl+N) and weld it (Ctrl+W), then flatten all the top vertexes (Ctrl+Shift+Y) to create a flat roof for the model, with a single center vertex.

MS05.gif

Select all (Ctrl+A), and snap to grid (Ctrl+G)
Skin it/apply textures, and make sure all faces are facing outward, and be sure to save the file.

If you have 3DstudioMax, you can load up your model in it, and then use this program , or Download this plug-in to convert it to an Unreal brush.

Otherwise you will need another program that is capable of exporting an ASE file
I used the TrueSpace demo since it was a free download, and had this converter plug-in for exporting the model back out as an ASE file
Here are some more ASE converters by the same guy, for use with the Carrara 3D animation and modeling program.

To do this, in Milkshape rotate your model by X -90.00, and then export as an “Autodesk 3DS…” .3ds file
Open this file in Truespace, Apply a Placeholder texture if needed, I use the default “RectSpot_2BW” at the bottom of the material list.

In the “Object Info” window you can adjust the scale if needed.
And finally Use the plug-in to save it as an ASE file.

Then use the ase2t3d converter to create the brush for use in Ued.


To prevent texture seams from showing up in game on your brush between multiple textures, you will want to ignore the 2 boarder pixels along each side of the textures, so subtract the pixels from the total texture size to get clean edges.
For example, on a terrain that is four 512 sized textures long, totaling 2048 in length, we subtract the boarder pixels from each to get a texture size of 2032 in length. (in Ued you will pan the textures so their edge pixels are cutoff cleanly by the boarder edge of the face they are on, like is done with skyboxes made with Terragen for Unreal )

In ASE to T3d, Under “Advanced” set the “Texture Size”, click the “Use Custom Size” and enter the “Custom Size” Height and Width amounts.

Load up Ued and Import the .t3d brush into Ued

Ued015.gif

After the brush is in Ued, any alterations to its scale or vertexes will remove the texture alignment, so if you must change the brush, you will need to export it back out, skin it again and then import the adjusted brush once more.

I have found that sometimes depending on how the model is scaled with TrueSpace, some of the models faces get out of alignment but retain proper scale, so they require nudging back into place in Ued, the grid texture in the sample map really helps with the checking of this alignment.

AlignTexture.gif

Subtract the brush, apply textures, and most important for rendering speed… set their surface properties effects to “Unlit”.

Ued014.gif

Click screenshot below to zoom in
TerraMap02.jpg

End notes

Snap those Vertexes to a grid that matches the one in Ued, I cannot stress this enough, if you set up the grid in 3Dmax properly, the result should be an error free brush, and is worth doing.

And when you place the final brush in Ued, make sure it is snapped onto the grid.

I did not do this in the example map, so some of the hills have small collision errors created by the odd vertex placements on some of the side ridges, nothing really big, but still would be nice to avoid such problems on a map intended for actual play.

With all the terrains shadows and highlights provided by the texture, you can get away with just using a “Zoneinfo” actor “zone lighting” setting to provide ambient light, with maybe a few static spotlights on important decoration objects.

In UT2k4 this method of creating terrain can be put to even better effect, with the higher resolution compressed textures, the distance fog turned way down to act as proper atmospheric haze, and projected shadows for trees.


Useful links for more info

Plugin to add roads and such to terrain

http://www.ashundar.com/

http://www.terranuts.com/

http://terranuts.com/index.php?page=real_world

http://www.terrasource.net/

http://wiki.beyondunreal.com/wiki/General_Scale_And_Dimensions

http://www.terrainmap.com/newsinfo.html

http://vterrain.org/

http://www.world-machine.com/features.html

1,600-dpi resolution - Ultra-high resolution
Logitech MX518 Gaming Optical Mouse - Metal

Posted by

January 05, 2006


Google
 
Web SilverIbex.com
Related Entries