Leer hoe je high-res texturen kunt maken van satellietbeelden en deze in de game kunt importeren.
Een mooi gebied zoeken
Het moeilijkste deel is misschien wel het vinden van het juiste gebied om een textuur uit te halen.
- Het gebied zou 20 bij 20 kilometer moeten zijn om een schaal van 1:1 te krijgen.
- Het moet ten minste ~ 25 graden van de pool verwijderd zijn, aangezien de poolgebieden een slechte gegevenskwaliteit hebben.
- Het mag niet te bergachtig zijn, aangezien het ook moeilijk zal zijn om goede hoogtekaarten te krijgen.
- Het moet erg landelijk zijn om veel huizen/wegen in de structuur te vermijden.
- Aangezien het script Bing-kaarten gebruikt om de textuur te krijgen, moet het gebied hoogwaardige texturen op Bing-kaarten hebben. Pas op voor naden, waar je kunt zien dat twee afbeeldingen aan elkaar zijn genaaid.
- Gebieden met water op verschillende hoogtes zijn moeilijk goed in het spel te krijgen, hoewel je dit zou kunnen oplossen door de hoogtekaart later met een foto-editor te bewerken.
De textuur creëren
- De code erin deze GitHub-opslagplaats kan worden gebruikt om een satellietbeeld met hoge resolutie te maken. Het downloadt tegels van Bing-kaarten en hecht ze aan elkaar.
- Als je niet bekend bent met git, kun je op "code" klikken en het als zip downloaden. Pak het uit in elke gewenste map.
- Om het script uit te voeren, heb je Python 3 nodig. Die kun je handmatig downloaden van hier, of gebruik een pakketbeheerder zoals pip.
- Open de opdrachtregel. Druk in Windows op Start en zoek naar "cmd".
- Navigeer naar de map waar u de code hebt geplaatst. Bijvoorbeeld,
cd Downloads\Satellite-Aerial-Image-Retrieval-Master
- Voer het commando uit
python3 aerialImageRetrieval.py lat1, lon1, lat2, lon2
waarbij (lat1, lon1) de breedte- en lengtegraad is van de coördinaat linksboven, en (lat2, lon2) de breedtegraad en lengtegraad is van de coördinaat rechtsonder.
- De uiteindelijke afbeelding bevindt zich in de uitvoermap.
De hoogtekaart maken
Helaas kon ik geen manier vinden om hoogtekaarten op dezelfde manier te downloaden. Maar u kunt de hoogtekaart uit verschillende bronnen downloaden, zoals de Tangram hoogtemeter. Het biedt een redelijke resolutie voor bijna elke plek op aarde.
Zoek de plaats op en zorg ervoor dat de hele regio zichtbaar is.
Als u Tangram gebruikt, stelt u de rendervermenigvuldiger in op ongeveer 4 en klikt u op "render" om een samengevoegde afbeelding te genereren.
Passend bij de hoogtekaart en textuur
Het volgende stukje is een beetje lastig. We hebben een hoogtekaart en een textuur, maar ze zijn nog niet uitgelijnd. We moeten ze eerst correct bijsnijden.
- Open een afbeeldingseditor naar keuze. Ik gebruik GIMP.
- Open de textuurafbeelding en snijd het vierkante gebied bij dat u wilt gebruiken.
- Open de hoogtekaart als laag.
- Vervolgens moeten we de afbeelding verticaal spiegelen om de juiste oriëntatie in het spel te krijgen.
- Verberg de hoogtekaartlaag en exporteer/overschrijf de textuurafbeelding. Sla het op als een .png.
- Maak de hoogtekaart zichtbaar. Selecteer vervolgens de textuurlaag en verklein deze naar de geschatte grootte van de hoogtekaart.
- Lijn nu beide afbeeldingen uit met behulp van de hulpmiddelen voor verplaatsen en schalen. U kunt de dekking van de bovenste laag wijzigen om te zien of ze zijn uitgelijnd. Zodra ze zijn uitgelijnd, kunt u de textuur verbergen.
- Als u de Tangram-hoogtetoewijzer hebt gebruikt, gebruikt de hoogtetoewijzing een 8-bits geheel getal. Dit is niet nauwkeurig genoeg. Zorg ervoor dat de precisie van de afbeelding/laag is ingesteld op minimaal 16 bit integer. Gebruik vervolgens de vervagingstool op een schaal van minimaal 1.5-2 pixels.
- Sla de hoogtekaart op als png.
Importeren in het spel
- Open de terreineditor
- Gebruik de in-game tool om de hoogtekaart te importeren.
- Sla de kaart op. Sluit het spel af (je kunt het op de achtergrond laten draaien).
- Open de kaartmap. Dit moet in een map zoals
C:\Program Files (x86)\Steam\steamapps\common\SovietRepublic\media_soviet\save_terraineditor
- Open script.ini, stel $TILESIZE1 in op 1.000000 en sla op. Dit zorgt ervoor dat de textuur niet herhaald wordt.
- Materiaal.mtl openen. De waarde achter $TEXTURE 5 is het relatieve pad naar de textuurafbeelding, uitgaande van mediasoviet. De standaardtextuur is gras, maar we willen hier verwijzen naar onze eigen afbeelding. Je kunt je textuurafbeelding tijdelijk in de map tiles_normal plaatsen en $TEXTURE 5 instellen op tiles_normal/yourtexture.png. Bewaar het bestand.
- Laad de opslag opnieuw. Je zou nu de textuur moeten zien verschijnen.
- Bewerk natuurlijk de kaart of de textuur als u denkt dat de kleuren niet kloppen.
Uploaden naar de werkplaats
Helaas kunt u geen afbeeldingen toevoegen bij het uploaden van een kaart naar de workshop. Daarom moeten we onze kaarttextuur uploaden als een bouwtextuur.
- Maak in het spel een nieuwe bouwtextuur.
- Open de nieuwste map in de map mediasoviet\workshop_wip en plaats hier je textuurafbeelding. Kopieer de item-ID van de map.
- Sla in het spel het werkplaatsitem op. Het zou nu moeten beginnen met het uploaden van de afbeelding naar de workshop. Abonneer u op het item.
- Stel in het material.mtl-bestand in je kaartopslag $TEXTURE 5 in op
../../../workshop/content/784150/[item ID]/yourtexture.png
- Doe hetzelfde voor material_fall en material_winter (optioneel). Dit zorgt ervoor dat je textuur niet verandert. Als je te veel tijd hebt, kun je natuurlijk voor elk seizoen aparte afbeeldingen gebruiken.
- Als je de kaart opent, zou je nog steeds de textuur moeten zien. Upload het naar de werkplaats. Stel beide items in op openbaar en klaar!
Dat is alles wat we hiervoor vandaag delen Arbeiders en middelen: Sovjetrepubliek gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door roy.bos. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.