Creating Landscape using 3DSMAX

Summary

Creating landscape using 3DSMAX for in-game use is comprised of two major parts: art creation and in-game compilation.

Part One: Art Creation

Step One: Create Tiles

First you must create some tiles for the tilebank.

There are three types of tiles:

  • Diffuse
  • Transition
  • Displacement

Diffuse Tiles
These types of tiles will be painted on to the landscape. The individual tile textures are stored in 24bit TGA files in two
resolutions: ''128x128'' and ''256x256''

Tiles are grouped by TileSet. Contraints for tiles in the same tileset:

  • The up and down pixel border of tiles must be the same.
  • The left and right pixel border of tiles must be the same.

Transition Tiles
Additionally you will need to make transition tiles to make smooth transitions between tiles. These are 8bit TGA alpha textures that are ''128x128'' in resolution.
You will need at least 12 different rotations for a set and there are a maximum of 48 transitions.

Displacement Tiles
Finally you will need to make displacement tiles. Displacement tiles work like bump maps. They are 8bit TGA files of ''32x32'' pixels. Each tileset can have 16 differents displacement tiles.

For more information on creating the various types of tiles, please read: TileSet

Step Two: Create a TileBank

The tilebank file is edited with ''tile_edit.exe''. You can find this project in CVS at code/nel/tools/3d/tile_edit

  • You will setup your tilesets by listing your bitmaps. Note that pixel checks are made at this step to check constraints describle above.
  • You have to list your transition textures. There is a button "batch load" to load all your transition tiles in one time if the file name is normalized ( alpha_trans_00.tga alpha_trans_01.tga where the number follow the convention gived in tile_bank.doc).
  • You have to list your displacement tiles too.
  • You have to define one or several land. A land is a set of tileset.

You can view and use the TileBank from Snowballs at: [Snowballs TileBank|FileDownloads^snowballs_tilebank.zip|Snowballs TileBank]

When you open it using tile_edit, remember the following:

  • Don't forget to change the absolute path of the bank in tile_edit. Or you will not be able to see the texture in the tool.
  • If prompted with the question: "What the tile set's children are for?" The answer is: nothing, it is obsolete.

For more information on using the Tile Edit tool, see: CreatingATileBank
For more information on the structure of a tile bank, see: TileBank

Step Three: Create Zone Geometry

Now we have to build some geometry for our landscape.

NeL landscape is based on bezier quad patches. Bezier patches are more flexible than a height field and do things like make creases, concave elevations, holes and more. Bezier patches are edited in 3dsmax using Edit Patch.

Landscapes in NeL are divided into zones. A zone is an area of 160x160 meters. Each zone is a patch mesh in 3dsmax.
The vertices at the boundary of the zones must be snapped to the bordering zone. They will be welded in the post process.

Zone naming is important. In NeL it's an automatic way for the landscape system to find the file with the zone data but it also determines the in-game location of the patch.
The zone name is formatted like: ''3_aa.zone'' The name is composed of a numeric coordinate (NUM = 3) and a alphabetical one (ALPHA = aa = 0). These translate into the coordinates of the zone in-game. The upper left corner of the zone coordinate is:

  • X = 160 * ALPHA
  • Y = 160 * - NUM

For examples, in snowball there is a zone called ''4_ac.zone'', this means that its upper left coordinates are ''320, -480''

Step Four: Paint Zones With TileBank

Notes About Performance

Part Two: Offline In-Game Compilation