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 |