Files
Universe/Content/README.md

31 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Markmaterial och höjddata
Vegetationsmodeller och skogs-/snö-/torrgräsmaterial finns nu i `Vegitations/`. Se `Vegitations/README.md` för färgregler, planetinställningar, CC0-källor, import och skogsbenchmark. Den befintliga `Vegetations/`-mappen med markmaterial behåller sitt namn.
`materials.json` anger tillgängliga material och seedade urvalslistor för fasta planeter. Varje material har färg (`color`), OpenGL-normal (`normal`) och ytjämnhet (`roughness`). Sökvägarna är relativa till `Content/`. Materialen är från [Poly Haven](https://polyhaven.com/textures) och är [CC0](https://polyhaven.com/license):
- [Leafy Grass](https://polyhaven.com/a/leafy_grass), Charlotte Baglioni, `Vegetations/leafy_grass/`.
- [Rock Ground](https://polyhaven.com/a/rock_ground), Rob Tuytel, `Rocks/rock_ground/`.
- [Rocks Ground 05](https://polyhaven.com/a/rocks_ground_05), Rob Tuytel, `Gravel/rocks_ground_05/`.
- [Coast Sand 02](https://polyhaven.com/a/coast_sand_02), `Sand/coast_sand_02/`.
Katalogen används automatiskt av fasta planeter. Per planet kan `materials` ange `enabled`, `flatMaterial`, `slopeMaterial`, `scaleMeters`, `fadeDistanceMeters` och `strength`. Om ett material-ID saknas väljs det deterministiskt från katalogens listor med planetens seed. `enabled: false` stänger av markmaterialet. Materialen projiceras i tre riktningar, tonas in nära kameran och blandas efter terrängens lutning. Hav och gasjättar använder sina egna material. Färgkartan är sRGB; normal och roughness är linjära.
## Alpernas höjdruta
`Heightdata/Copernicus/Copernicus_DSM_COG_10_N46_00_E007_00_DEM.tif` är den ursprungliga Copernicus GLO-30-rutan för 46–47°N, 7–8°E. `alps_n46_e007.f32` är samma 3 600 × 3 600 höjder i meter, norra raden först, som little-endian float32. Jordens `terrain.regionalHeight` anger fil, dimensioner, geografiska gränser och kantövergång. Rutan ersätter den globala höjdens värde innanför området; procedurbrus läggs fortfarande ovanpå. Renderad terräng och kollision använder samma data. Utanför rutan används den tidigare globala kartan. Övriga planeter får inte geografiska jorddata automatiskt.
Höjdvärdena är en digital ytmodell, så vegetation och byggnader kan ingå. Denna enda ruta täcker inte hela jorden och ingen automatisk strömning av globala höjddata ingår ännu. För att lägga till en annan ruta krävs motsvarande float32-fil och rätt geografiska koordinater i planetens JSON. För närvarande kan en regional ruta anges per planet.
Produced using Copernicus WorldDEM-30 © DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved. Källa: [Copernicus DEM på AWS](https://registry.opendata.aws/copernicus-dem/), hämtad 2026-10-29. Se även [Copernicus villkor och källangivelse](https://dataspace.copernicus.eu/explore-data/data-collections/copernicus-contributing-missions/collections-description/COP-DEM).
`download-content.ps1` hämtar originalfilerna och verifierar kontrollsummor. Float32-filen är konverterad från GeoTIFF med oförändrade höjdvärden; den ingår separat eftersom motorn inte läser GeoTIFF direkt.
## Molntäthetskartor
`Clouds/earth-clouds.png` är den equirektangulära molnkarta som användaren tillhandahöll för jorden. Den läses som en enkelkanals gråskalebild: svart betyder klar himmel, vitt betyder tät molntäckning och grått ger en mjuk övergång. Jordens planetdefinition anger kartan i `clouds.densityTexturePath`. Kartor för andra planeter kan läggas i samma mapp och anges på motsvarande sätt. Sökvägen i planetens JSON är relativ till `Content/`; `densityTextureStrength` blandar kartan med det proceduriella vädret.
För att starta med kameran riktad mot rutan, sätt `startup.longitudeDegrees` till `-7.5` och `startup.latitudeDegrees` till `46.5` i `config.json`, och flyg sedan mot ytan. Den negativa longituden följer motorns befintliga texturkoordinater.
En GPU-kontroll av höjdrutan och ett materialtest kan köras med `dotnet run -c Release --project src/Universe.App -- --terrain-report --validate-graphics`. Diagnostiken använder en artificiell solposition och stänger av moln och hav för att isolera terrängmaterialen.