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 |