NeLCreateLandscape2

Version 1 (aquiles, 08/20/2010 05:13 pm)

1 1 aquiles
h1. Creating Landscape using 3DSMAX
2 1 aquiles
3 1 aquiles
{{>toc}}
4 1 aquiles
5 1 aquiles
h2. Summary
6 1 aquiles
7 1 aquiles
Creating landscape using 3DSMAX for in-game use is comprised of two major parts: art creation and in-game compilation.
8 1 aquiles
9 1 aquiles
h2. Part One: Art Creation
10 1 aquiles
11 1 aquiles
h3. Step One: Create Tiles
12 1 aquiles
13 1 aquiles
First you must create some tiles for the tilebank.
14 1 aquiles
15 1 aquiles
There are three types of tiles:
16 1 aquiles
17 1 aquiles
    * Diffuse
18 1 aquiles
    * Transition
19 1 aquiles
    * Displacement
20 1 aquiles
21 1 aquiles
Diffuse Tiles
22 1 aquiles
These types of tiles will be painted on to the landscape. The individual tile textures are stored in 24bit TGA files in two
23 1 aquiles
resolutions: ''128x128'' and ''256x256''
24 1 aquiles
25 1 aquiles
Tiles are grouped by [[nel:TileSet]]. Contraints for tiles in the same tileset:
26 1 aquiles
27 1 aquiles
    * The up and down pixel border of tiles must be the same.
28 1 aquiles
    * The left and right pixel border of tiles must be the same.
29 1 aquiles
30 1 aquiles
Transition Tiles
31 1 aquiles
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.
32 1 aquiles
You will need at least 12 different rotations for a set and there are a maximum of 48 transitions.
33 1 aquiles
34 1 aquiles
Displacement Tiles
35 1 aquiles
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.
36 1 aquiles
37 1 aquiles
For more information on creating the various types of tiles, please read: [[nel:TileSet]]
38 1 aquiles
39 1 aquiles
h3. Step Two: Create a [[nel:TileBank]]
40 1 aquiles
41 1 aquiles
The tilebank file is edited with ''tile_edit.exe''. You can find this project in CVS at code/nel/tools/3d/tile_edit
42 1 aquiles
43 1 aquiles
    * You will setup your tilesets by listing your bitmaps. Note that pixel checks are made at this step to check constraints describle above.
44 1 aquiles
    * 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).
45 1 aquiles
    * You have to list your displacement tiles too.
46 1 aquiles
    * You have to define one or several land. A land is a set of tileset.
47 1 aquiles
48 1 aquiles
You can view and use the [[nel:TileBank]] from Snowballs at: [Snowballs TileBank|FileDownloads^snowballs_tilebank.zip|Snowballs TileBank]
49 1 aquiles
50 1 aquiles
When you open it using tile_edit, remember the following:
51 1 aquiles
52 1 aquiles
    * 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.
53 1 aquiles
    * If prompted with the question: "What the tile set's children are for?" The answer is: nothing, it is obsolete.
54 1 aquiles
55 1 aquiles
For more information on using the Tile Edit tool, see: [[nel:CreatingATileBank]]
56 1 aquiles
For more information on the structure of a tile bank, see: [[nel:TileBank]]
57 1 aquiles
58 1 aquiles
h3. Step Three: Create Zone Geometry
59 1 aquiles
60 1 aquiles
Now we have to build some geometry for our landscape.
61 1 aquiles
62 1 aquiles
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.
63 1 aquiles
64 1 aquiles
Landscapes in NeL are divided into zones. A zone is an area of 160x160 meters. Each zone is a patch mesh in 3dsmax.
65 1 aquiles
The vertices at the boundary of the zones must be snapped to the bordering zone. They will be welded in the post process.
66 1 aquiles
67 1 aquiles
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.
68 1 aquiles
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:
69 1 aquiles
70 1 aquiles
    * X = 160 * ALPHA
71 1 aquiles
    * Y = 160 * - NUM
72 1 aquiles
73 1 aquiles
For examples, in snowball there is a zone called ''4_ac.zone'', this means that its upper left coordinates are ''320, -480''
74 1 aquiles
75 1 aquiles
h3. Step Four: Paint Zones With TileBank
76 1 aquiles
77 1 aquiles
h3. Notes About Performance
78 1 aquiles
79 1 aquiles
h2. Part Two: Offline In-Game Compilation