Ceeeb/Sandbox – User
Layered Terrain Surface Representation For Dummies?
mods, is this information worthy of addition to the main article or creation of a new one? I don't want to dumb Suma's text down, and it makes sense to share this information --Ceeeb 17:34, 20 January 2007 (CET)
This information is intended to be a more simplistic reference than Suma's technobabble. It is based on game engine needs rather than tool needs. The aim to understand the work required for creating new terrain (island) for ArmA.
Textures
- Satalite map provides basic colour information for distant terrain. Satalite map and layer map are divided into segments for game use, each being 512x512 pixels. On SaraLite each 512 pixel segment covers ~1000m, and each segment overlaps with each of it's neighbouring segments by 32 pixels. Note that terrain is visable beyond the range that objects are, therefore basic representations of objects such as trees, roads, ocean and buildings are all included on the satalite map. SaraLite is made up of 11x11 segments, covering a total of 5312 pixels.
- Layer map determines which detail texture to use for each pixel of the satalite map. Each segment uses it's own colour table. For example, in one segement red may be sand, while in another it will be stones. Each segment uses the following colours in order requirment : BLACK, RED, GREEN, BLUE. The colours seem to be assigned in the order in which the terrain types are numbered in the RVMAT config. For example, "travajih" (grass) is terrain 01, and therefore if a segment contains grass, it will be represented by the colour black. Blends of details are allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to use different detail texture scaling/transformations. The layer legend in the main article seems to relates to a tool rather than the game engine.
- MCO texture is used to add detail to the satalite map at middle distance (before the detail texture becomes visable). Each 1024x1024 MCO covers ~40m (may be flexible?). There is an overlap between the MCO fade out and the detail texture fade in, meaning it is possible to see all 3 terrain textures at once. MCOs appear to be placed on a transformed grid rather than a regular one.
- CO texture provides the detailed ground texture. On SaraLite each 1024x1024 detail generally covers ~4m (may be flexible?).
- NO(*) texture provides the normal map used with the CO detail.
Satalite map segments are named s_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. Layer map segments are named m_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. For example, s_005_002_lco.paa would be the 6th segment from the east, 3rd from the north.
RVMAT Configs
Each segment has several binarized config files. These are generally named p_XXX-YYY_AAA_BBB_CCC_DDD.rvmat, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. AAA,BBB,CCC,DDD are of either "n" or "l##". If of format l##, AAA is always lower than BBB,CCC and DDD. "n" apparently corresponds with no terrain, while each of the l## correlates with a single terrain type. Some have only 1,2 or 3 letters (eg p_009-006_l01_l02_n.rvmat), depending on the maximum number of terrain types in that segment. These configs seem to specify transformation and scaling of the detail textures.
Heightmap
SaraLite uses 512x512 ~20m cells. Sahrani is presumably 1024x1024 ~20m cells. Cells are again always triangulated from NW to SE.