Layered Terrain Surface Representation – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
==Layered Terrain Surface Representation For Dummies?==
==Layered Terrain Surface Representation For Dummies?==


''mods, is this information worthy of addition? I don't want to dumb the main article down.'' --[[User:Ceeeb|Ceeeb]] 17:34, 20 January 2007 (CET)
''mods, is this information worthy of addition to the main article? I don't want to dumb Suma's text down.'' --[[User:Ceeeb|Ceeeb]] 17:34, 20 January 2007 (CET)


This information is based on observations of SaraLite in the ArmA Demo. It is intended to be a more simplistic reference than Suma's technobabble. The aim to understand the work required for new terrain (island) creation.
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 new terrain (island) creation.


==Textures==
==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.
*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 textures to use for each pixel of the satalite map. Each primary colour defined in the legend = one terrain type, blends of details seem to be allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to be able to have different detail texture scales.
 
*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, (YELLOW?). 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 seem to be allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to be able to have different detail texture scales. 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.
*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.
*CO texture provides the detailed ground texture. On SaraLite each 1024x1024 detail generally covers ~4m (may be flexible).
*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.  
*NO(*) texture provides the normal map used with the CO detail.  


Line 16: Line 20:


== RVMAT Configs ==
== 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. It is assumed that these configs have something to do with transitions or blends between detail textures. These configs seem to specify transformation and scaling of the detail textures.
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.

Revision as of 07:03, 21 January 2007

Layered Terrain Surface Representation For Dummies?

mods, is this information worthy of addition to the main article? I don't want to dumb Suma's text down. --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 new terrain (island) creation.

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, (YELLOW?). 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 seem to be allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to be able to have different detail texture scales. 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.
  • 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.