arma:terrain:layered_terrain_surface
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
arma:terrain:layered_terrain_surface [2017/10/06 20:30] – http to https switch. snakeman | arma:terrain:layered_terrain_surface [2024/08/01 11:30] (current) – links added. snakeman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Layered Terrain Surface Representation ====== | + | ====== |
- | Terrain surfaces for the whole world are represented by a pair of textures covering the whole world: Satellite | + | [[https:// |
+ | |||
+ | **ArmA 1** aka Armed Assault (ArmA) | ||
+ | |||
+ | //Special note: in this page whoever wrote it in bis office used the term "layer map" and " | ||
+ | |||
+ | Terrain surfaces for the whole world are represented by a pair of textures covering the whole world: Satellite | ||
//Note: The import process can be very time consuming because of the huge amount of data being processed. The full import of data for 20x20 km world with resolution 1 takes about 10 hours on a 2 GHz computer. The conversion is incremental, | //Note: The import process can be very time consuming because of the huge amount of data being processed. The full import of data for 20x20 km world with resolution 1 takes about 10 hours on a 2 GHz computer. The conversion is incremental, | ||
Line 74: | Line 80: | ||
</ | </ | ||
- | ====== Editing Layer Map and Satellite | + | ====== Editing Layer Map and Satellite |
Assume texture folder is defined as LayerTest\Data in the Visitor for given world. All source files are assume to be located in LayerTest\Source unless specified otherwise. | Assume texture folder is defined as LayerTest\Data in the Visitor for given world. All source files are assume to be located in LayerTest\Source unless specified otherwise. | ||
Line 82: | Line 88: | ||
* create a legend image | * create a legend image | ||
* create a config layers.cfg defining surfaces and legend used | * create a config layers.cfg defining surfaces and legend used | ||
- | * in Tools/ | + | * in Tools/ |
://Example: Assume world size 10240 x 10240 m with 40 m grid (i.e. 256 x 256 grids) , satellite texture with resolution 7680 x 7680 (one landscape grid needs to be covered by a whole number of texels, therefore satellite texture size needs to be a multiple of world size in grids). We want to achieve segment size 512 x 512 texels, and given the 16 texel overlap wanted, one segment will cover 496 x 496 texels. Size of one texel is 10240 m /7680 (1.3333 m) in this case, 496 texels give around 661.33 m. With 40 m grid we get 661.33/40 = 16.5, which rounded down gives 16. (If the texture grid is different from the terrain grid, rounding down is not enough - we need to round down to the nearest multiple of the number of terrain grids in the texture grid. With terrain grid 10 and texture grid 40 the satellite segment size needs to be a multiple of 4.// | ://Example: Assume world size 10240 x 10240 m with 40 m grid (i.e. 256 x 256 grids) , satellite texture with resolution 7680 x 7680 (one landscape grid needs to be covered by a whole number of texels, therefore satellite texture size needs to be a multiple of world size in grids). We want to achieve segment size 512 x 512 texels, and given the 16 texel overlap wanted, one segment will cover 496 x 496 texels. Size of one texel is 10240 m /7680 (1.3333 m) in this case, 496 texels give around 661.33 m. With 40 m grid we get 661.33/40 = 16.5, which rounded down gives 16. (If the texture grid is different from the terrain grid, rounding down is not enough - we need to round down to the nearest multiple of the number of terrain grids in the texture grid. With terrain grid 10 and texture grid 40 the satellite segment size needs to be a multiple of 4.// | ||
- | ://Example2 : SaraLite uses 11x11 segments. Each segment is 512x512 pixels and overlaps it' | + | ://Example2 : SaraLite uses 11x11 segments. Each segment is 512x512 pixels and overlaps it' |
Editing cycle: (editing is usually done in Photoshop with Buldozer not running) | Editing cycle: (editing is usually done in Photoshop with Buldozer not running) | ||
- | * edit satellite | + | * edit satellite |
* edit layer map mask in Photoshop (file Layer-map_lco.png). **//Note: you need to use _lco or _draftlco as a texture type.//** | * edit layer map mask in Photoshop (file Layer-map_lco.png). **//Note: you need to use _lco or _draftlco as a texture type.//** | ||
* run Tools / Import Satellite + Mask, select Satellite-map_lco.png, | * run Tools / Import Satellite + Mask, select Satellite-map_lco.png, | ||
Line 96: | Line 102: | ||
====== Textures ====== | ====== Textures ====== | ||
- | Each terrain type is represented at close distance by a colour | + | Each terrain type is represented at close distance by a color only (CO) texture and a normal map (NO*). On SaraLite, each 1024x1024 pixel detail covers about 4m. Each pixel of the layer mask covers about 2m. |
- | Terrain types also have an associated MCO texture. This is multiplied with the satellite | + | Terrain types also have an associated MCO texture. This is multiplied with the satellite |
====== Game Engine Notes ====== | ====== Game Engine Notes ====== | ||
- | The information about the layer map above relates to tool use rather than the ArmA game engine. For game use each segment of the Layer map uses its own pallete | + | The information about the layer map above relates to tool use rather than the ArmA game engine. For game use each segment of the Layer map uses its own palette |
There are several RVMAT configs for each segment, each defining a PixelShaderID. There exist one RVMAT config for each combination of terrain types within each texture grid (40m and 40 pixels) within that segment. The PixelShaderIDs are named using this manner : first terrain type = 1, 2nd = 2, 3rd = 4, 4th = 8. (technical term?). For example: PixelShaderID = " | There are several RVMAT configs for each segment, each defining a PixelShaderID. There exist one RVMAT config for each combination of terrain types within each texture grid (40m and 40 pixels) within that segment. The PixelShaderIDs are named using this manner : first terrain type = 1, 2nd = 2, 3rd = 4, 4th = 8. (technical term?). For example: PixelShaderID = " | ||
+ |
arma/terrain/layered_terrain_surface.1507321813.txt.gz · Last modified: 2017/10/06 20:30 by snakeman