Svenska 3D-Tåg - Forum  
 

Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan.

Gå tillbaka   Svenska 3D-Tåg - Forum > N3V Trainz > 3D-design - Trainz

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2020-12-14, 23:51   #31
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 715
Standard

Urtjustigt! Snyggt jobbat, särskilt pallarna, rattarna till injektorerna och fallrosten och den lilla cylindern (som jag antar är en lampa) i bildens överkant!

Skulle du vilja dela med dig av vad du har för workflow när du texturerar? Arbetar du i Blender och bakar mycket, eller är det andra program? Jag har fortfarande inte hittat något riktigt bra workflow för detta.

Vad det gäller texturer så tror jag att det är såhär: föredra få och stora texturer över många och mindre. Det är två saker med texturer som drar resurser:
1. Hur många texturer/material man använder. För när GPU:n(grafikkortet) ritar ut alla mesher måste man "binda" den texture (inklusive binda normalmap, parametertexture...) man vill att meshen ska använda, vilket är en förhållandevis dyr operation jämfört med att bara rita trianglar. Så man vill byta textur/material sällan. Därför sorterar Trainz alla mesher (jag tror att det är bland annat det som går under namnet mesh stitching om du sett det i Trainz) och ritar ut mesher med samma textur/material tillsammans, efter varandra så att man bara behöver binda om textures en gång för att rita alla de objekten, jämfört med om man hade ritat ut andra objekt emellan och varit vtvungen att byta texture/material fram och tillbaka. Det finns "moderna" lösningar för att komma runt detta (Nividia kallar detta bindless texture), men jag betvivlar starkt att Trainz har implementerat dem. Därför behöver Trainz i regel dela upp ritandet av ditt lok/lokhytt i lika många delar som antalet material du använder.
2. Hur stora texturer man använder. Man kanske tror att det tar längre tid att rita ut en triangel med en 2K texture jämför med en 512x512-texture, men i själva verket är den skillnaden inte så stor med dagens hårdvara, på grund av hur GPU:erna fungerar och är optimerade. Däremot kommer en större texture att ta längre tid att flytta över från CPU:ns minne(RAM) till GPU:ns grafikminne (VRAM). Dock så stiger ju bandbredden för denna överföring CPU minne<->GPU minne för varje generation hårdvara, för att inte tala om den explosion i grafikminnesstorlekar dagens grafikkort har. De värsta har till och med mer grafikminne än min dator har vanligt minne! Den GPU jag har idag har lika mycket minne som min gamla dator hade i CPU minne! Så antagligen behöver man sällan flytta över texturer lika ofta, utan majoriteten av texturerna får plats i GPU:ns minne hela tiden.

Så jag skulle säga, satsa på få men stora texturer. Det är bättre att göra en högupplöst texture idag som tar lite tid för dagens GPU att hantera, än att imorgon ångra att du inte kan läsa all text på de fina mässingskyltarna på ditt ånglok. Det gör jag redan idag när det kommer till min SJ Sa, så jag ska nog dubbla texture-storlekarna där, bara att jag måste göra om all text och alla skyltar från början i den nya, högre upplösningen... :P

I värsta fall kan du alltid texturera en faktor 2 upp och sedan skala ned när du är klar, så har du en originaltexture som du kan byta upp dig till i framtiden om du vill ha bättre upplösning då.
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2020-12-15, 18:07   #32
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Stort tack för all uppmuntran!
Stinsen: om du får möjlighet att fota Sexan, så är det två områden som är av speciellt intresse: Omkastaren och däromkring och insidan på dörren samt även kronan.

Korvtiger: Skall försöka knåpa ihop lite info om mitt workflow, kan nog bli lite långt så jag skall be att få återkomma lite längre fram. Är ingen mästare på att skriva (lite tendenser till dysleksi), så det tar lite tid och mycket korrekturläsande. Dessutom kanske den skall kompletteras med lite bilder också.

Tack för fullödig förklaring av texturernas och materialens funktion i Trainz, har försökt läsa informationen som finns på Auran's hemsida men haft lite svårt att få grepp om den.

Tänker mig att ändra till 4st 2K-material och ett 0.5K-material (m.glass). Gör man objekt i PBR så bör man väl utgå från dagens och framtidens hårdvara. Har också förstått att om man gör ett 4K-material och exporterar det till Trainz så "resamplas" det i alla fall ned till en 2K-textur och då förlorar man ju väldigt mycket i upplösning.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2020-12-20, 15:42   #33
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Korvtiger:

Här kommer ett försök till att beskriva mitt Workflow när jag texturerar PBR i Blender. Tänkte ta mitt projekt BLJ 6's hytt som exempel. Jag har använt Blender 2.8. Textureringen är enbart "Procedural", vilket är en stor fördel om man vill ändra eller lägga till mesher, för man kan då UV-unvrappa utan att behöva texturera om. Ett annat plus är att man hela tiden arbetar i full upplösning, d.v.s. att varje unvrappat objekt har den upplösnig PBR-materialet har (i Blender, inte till texturerna i trainz). Det innebär ju att man kan baka ut i en högre upplösning om man vill utan att kvaliteten försämras, begränsas ju enbart av respektive materials upplösning. (Det där lät ju väldigt svammligt, men kan inte förklara det på ett bättre sätt).

Till Blender har jag köpt 3 "addons":

UVpackmaster2 professional, SimpleBake och MaskTools (Obs! det finns två addons som heter MaskTools, det ena för Skulpting och det andra som jag använder, för PBR-texturering).

UVpackmaster är en förnämlig addon som packar UV-mappar otroligt mycket mer effektivt än Blender gör.

https://gumroad.com/l/uvpackmaster2

SimpleBake gör att man kan baka flera object till ett texture-set och det kan baka ut en hel massa olika typer av texturer, förutom dom som används för Trainz. Alla valda texturer bakas också ut samtidigt, som ju är väldigt smidigt.

https://blendermarket.com/products/s...g-in-blender-2

MaskTools är en addon som förenklar betydligt när man texturerar med olika masker, jag tänker inte gå in på i detalj hur det fungerar, det framgår här:

https://blendermarket.com/products/mask-tools

De program jag använder, förutom Blender, har varit Materialize ( http://www.boundingboxsoftware.com/materialize/ ) och Gimp. Materialize för att tillverka PBR-material och Gimp för att förbereda non PBR-texturer att använda som Albedo i Materialize. Gimp även för att kombinera ihop emission, roughness, ambient-occlusion och metallic till en Parameter-textur inför exporten till Trainz. De flesta av PBR-materialen har jag dock laddad ned från nätet (de flesta i upplösningen 2K, 2048X2048), finns flera bra "siter" som har rikhaltigt med fria och utmärkta material.

https://www.textures.com/CGSkies
https://cc0textures.com/
https://freepbr.com/
https://texturehaven.com/
https://www.cgbookcase.com/
https://www.3dassets.one/search?q=

De material jag gjort själv, har huvudsakligen varit till de olika skyltarna i hytten och "tavlorna" till manometrarna. Materialize har ett lite bissart gränssnitt och klarar inte svenska tecken, men det gör ett bra jobb, speciellt med tanke på att det är gratis. Det kan också tilläggas att Matrialize inte skapar en roughness-textur utan en som kallas smoothness. Skillnaden är att smoothness är en inverterad roughness.

Jag har gått tillväga så, att när jag känt mig hyfsat nöjd med de olika mesherna, har jag tänkt igenom hur de lämpligen skulle fördelas mellan de olika Trainz-materialen som jag tänker baka ut till. Som exempel så samlade jag ihop alla reglage och andra anordningar i hytten, som borde kräva en hög upplösning vid bakningen till en Collection i Blender,
01.jpg
de större objekten i hytten som t.e.x. golv, hyttens insida osv. till en Collection och utsidan som är synlig inifrån hytten, till en ytterligare Collection etc. Raderade dessutom allt som skulle kunna speglas för att spara textur-utrymme. Därefter så "UV-unvrappades" respektive Collection (Smart UV-unvrap) och packade UV-mappen med UVpackmaster.
02.jpg
Därefter skalade jag upp "the Islands" som hörde till tavlorna och skyltarna en hel del, för att låta dem få en tillräckligt hög upplösning vid bakningen och packade dem igen med funktionen "Pack to Others", vilket innebär att man avmarkerar de uppskalade "öarna" så att de inte blir påverkade vid packningen (en otroligt användbar funktion).

När jag känt mig nöjd med UV-unvrappingen började jag att addera material, till de stora ytorna först som t.e.x. hyttens insida. Letade upp ett material på nätet som verkade passa, skapade ett material i Blender, justerade kanske färger, bump och normalmapparna och lade kanske till någon procedural mask för att "smutsa ner" ytorna. Var jag inte nöjd med resultatet provade jag med ett nytt material. Vis av skadan kan jag rekommendera att inte göra någon "texture paint" innan man är helt nöjd med utseendet och UV-mappingen.
03.jpg
Därefter "assignade" jag det skapade materialet till övriga objekt som det skulle kunna passa till. Sedan var det bara att fortsätta att skapa och addera material till de övriga objekten (egentligen inte så bara, för det vimmlar ju av objekt en hytt). Ibland var det lämpligt att dela upp ett objekt i flera, t.e.x. Ångbromsen; smörjblåsan i mässing, handtagen i trä o.s.v.
04.jpg
Vad gäller skyltarna, så blir ju förfarandet lite annorlunda. När man lagt till materialet, så blir det lite pyssligt att passa in texturen, d.v.s. att med hjälp av mapping-noden justera skala och position. Det innebär ju också att om man tänker sig ut UV-mappa om, så får man använda sig av funktionen "Pack to Others" i UV-packmaster, för att undvika att man måste göra om inpassningen. Detta gäller ju även objekt som t.e.x. golvet, som ju består av brädor som skall vara orienterade åt ett visst håll.
05.jpg

Slutligen var det dax för texture-painting, vilket i hyttens fall huvudsakligen var "bump-painting" av nitar. Där vill man ha så hög upplösning på "paint-masken" som möjligt, jag har använt 4k upplösning , har provat med 8k också men då började min dator bli lite väl trög (resultatet med 8K blev dock utmärkt).

När jag äntligen känt mig nöjd med hela hytten, så bakade jag ut ett texture-set till varje Collection (d.v.s. de olika material som skall användas vid exporten till Trainz). I Gimp så laddade jag in Albedon för att ta bort Alpha-kanalen och exporterade till en TGA.
06.jpg
Laddade in normalmappen, ändrade till linjärt ljus och tog bort alpha-kanalen, gäller ju inte om man avseer att anända "Parallax", men Parallax är något som man får anväda med urskiljning, det enda i hytten där jag använt det har varit till fyren (på de flesta objekt kan parallax ge väldigt konstiga resultat) och exporterade till TGA. Slutligen så kombinerade jag ihop emission, roughness, ambient-occlusion och metallic till en Parameter-textur.

Antar att du har koll på hur det går till, men här är i alla fall en länk till hur:

http://online.ts2009.com/mediaWiki/i...rameters_image

Det kan ju tilläggas att jag använder TGA-formatet för exporten, eftersom i vissa fall alpha-kanalen kan ställa till med problem om man använder .png (huruvida dett bara gäller om man exporterar från Gimp är jag osäker på, eftersom det även verkar ha varit problem med exporten av parameter-texturen från Krita, vad jag kunnat se från Auran's forum).

Slutligen har jag sparat om min hytt-fil, skapat nya material, xxx.m.pbrmetal, till respektive collection med de nya exporterade texturerna (Albedo, Parameter och Normal) och "assignat" dem till objekten i respektive Collection. Det var en ganska tidsödande process, för min hytt har uppåt 200 objekt. Sen var det dax att exportera till Trainz och i mitt fall ett mödosamt arbeta att rätta till alla felmeddelanden som Trainz levererade.
07.jpg

Hoppas detta ger en någorlunda klar bild av hur jag gått tillväga, är ju inte så pedagogiskt lagd, precis. Sen får jag väl tillägga att man fortfarande känner sig som nybörjare i det här, mycket att lära och ta in och man kommer hela tiden på nya lösningar och metoder. Sen finns det ju många andra addons och program som kan användas, men jag har för närvarande beslutat att hålla mig till de jag beskrivit.

Kom gärna med frågor om något verkar oklart, vilket jag skulle tro det gör.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2020-12-21, 10:22   #34
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 715
Standard

En ypperlig förklaring av ditt tillvägagångssätt skulle jag säga! (I alla fall för någon som själv håller på med det!)
Intressant och smidigt att göra saker procedurellt i Blender. Har övervägt detta men saknar fortfarande mycket texture-verktyg i Blender som du har verkat ersatt med add-ons. Håller tummarna för att bättre verktyg för att jobba med PBR i Blender kommer dyka upp i framtida versioner.

Det var bara en sak jag inte riktigt greppade: hur du gör med ytor som måste ha en specifik mappning, så som manometertavlor, syltar, trägolvet som ska få ådringen åt rätt håll och så vidare. Menade du att du får justera dem manuellt i den automatiskt packade UV-mappen, så att de blir orienterade åt rätt håll?
Eller menar du att du använder en andra UV-map på dessa objekt som du manuellt mappar på manometertexturen/trätexturen/skylttexturen/... som du ska ta materialet ifrån och sedan använder den första (automatiskt packade) UV-mappen när du bakar till din texture?

Och så några funderingar av rent intresse:

Det lindade röret till ångvärmeledningen som man ser på första bilden, är lindningen modellerat, eller får du fram formen på lindningarna enbart med normal-mappen?

När du gör rost, smuts och slitage, målar du för hand i Blender, eller använder du procedurella verktyg här också, som AO-node i Cycles (https://www.youtube.com/watch?v=x1tYZLy6czA) pointiness eller dirty vertex colors (https://www.youtube.com/watch?v=nX4dkwU1pyQ)?
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2020-12-23, 20:05   #35
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

När det gäller mappningen av trägolvet och väggen: om rotationen överensstämmde mellan öarna men orienteringen av plankorna var fel så roterade jag materialet i mapping-noden 90 grader, om inte rotationen överensstämmde mellan väggen och golvet så roterade jag väggen och flyttade den till golvets ö (heter det så på svenska?) och passade in den med hjälp av det shadade fönstret, över golvets ö.
Skyltarna och tavlorna passade jag enbart in med hjälp av mapping-noden (varje skylt har sitt eget material). Justerade skala och position så att hela tavlan syntes i dess "Face" (vad skall man kalla Face på svenska?)
Det lindningen på röret har jag enbart gjort med normal-mappen (eller med en bump-nod egentligen, som kombineras ihop med normal-mappen).

Smuts och slitage har jag använt båda metoderna. Procedurella verktyg på t.e.x. smutsen på väggarna och texture-paint på den flagnade färgen på rören från injektorerna.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2022-02-14, 18:31   #36
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Upptäckte att det gått över ett år sedan jag gjorde någon uppdatering av mitt projekt, tiden går fort när man har roligt .
Har kommit till den punkten att jag bestämt mig för att anse loket i princip färdigt. Vad som återstår är lite mer testkörningar för justering av e-specen. Problemet är att det är svårt att få en rimlig vatten och kolförbrukning utan att loket blir för kraftfullt.



När det gäller autenticiteten har jag gjort ett litet avkall. Jag har försett interiören med en K-16 ventil, fastän ju BLJ inte hade sådana finesser. Anledningen är väl mest för det blir lite roligare att bromsa då. De enda interörbilder jag hittat är ju dessutom från det att loket kommit till AGJ, så det kan väl finnas fler detaljer som avviker från BLJ-versionen.
Har också med inspiration och hjälp av Korvtiger, lagt till animerade lågor i eldstaden och att fyren får olika färg beroende på draget och värmen i fyren. Dessutom har Korvtiger generöst låtit mig använda några texturer och ljudfiler.
Som loket är nu är det väl en hybrid mellan BLJ-versionen och AGJ-versionen, dvs. med K-16 ventil men utan luftpump i exteriören.



Hoppas att jag snart blir så klar att jag kan lägga upp loket för nedladdning.

Om det finns intresse så skulle jag väl kunna tänka mig att göra en SJ-version också , det finns ju några korttankade Np som skulle kunna vara lämpliga. Det som en SJ-version också medför är också att mitt PBR smalspårskoppel måste kompletteras med luftslangar, så det gäller att klura ut hur dom skall animeras och få att bli kompatibla med Lan's version.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2022-02-14, 18:33   #37
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Värst vilka små bilder det blev, första gången jag använder en bild-hosting site.
Klickar man på dem så blir dom i alla fall lite större.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2022-02-14, 19:31   #38
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 715
Standard

Riktigt snyggt! Gillar särskilt finishen på plåten på rundpannan och cylindrarna, ser riktigt bra ut! Ska bli väldigt spännande att få provköra.

Angående luftslangarna, går det inte att helt enkelt använda de som Lan gjort?
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2022-02-15, 01:07   #39
Vänersborgs_Stinsen
Medlem
 
Reg.datum: Nov 2016
Ort: Vänersborg
Inlägg: 598
Standard

OJOJ imponerade!! Vi håller på med större revision på BLJ 6 just nu. Så om ett tag ska jag måla loket samt måla dit dekorlinjer mm Men nu fixas de med vagnar
__________________
Stinsen Brinner för Bergslagernas Järnvägar.
Edwin Bohm
Vänersborgs_Stinsen besöker inte forumet just nu   Svara med citat
Gammal 2022-02-15, 20:25   #40
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Tack för fina ord!
Korvtiger:

Min avsikt är att göra en PBR-variant av smalspårskopplet och det skulle vara fullt möjligt att använda Lan's mesher av luftslangarna, då jag har ett program som kan konvertera im-filer till format som kan importeras i Blender. Däremot så är jag naturligtvis inte benägen att använda Lans's mesher utan hans medgivande. Vad jag använt dem till hittills är för att försäkra mig om att min variant är kompatibel med STL-kopplen. Ett problem när det gäller importerade mesher med animationer (troligen gjorda i Max eller G-max) så hamnar de animerade delarna "lite hur som helst", ett fenomen som också uppträder i Content Manager när man förhandsgranskar tex. en driv-boggie. Har dock en idé om hur animationen är tänkt, det framgår när man öppnat filen i konverterings programmet (där kan man se alla "bones" och hur dom relaterar till varann).
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2022-02-16, 14:14   #41
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Skall komma med ett förtydligande. Varför jag funderar på att lägga till luftslangar till mitt PBR-smalspårskoppel är för att Trainz, när man lägger till STL's smalspårskoppel till objekt med version 4.6 och högre, genereras felet att materialet används av flera objekt men parametrarna kommer i konflikt. Har prövat att använda mitt koppel i kombination med STL's luftslangar. Inga felmeddelanden då, men inne i spelet så vill slangarna inte kopplas ihop och det gäller även äldre objekt som annars fungerar ok med luftslangarna.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2022-02-20, 12:39   #42
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 715
Standard

Ah, just det!
Ja, problemet var väl att jag gjorde fuskvarianter på LOD-mesherna till smalspårskopplet med samma texturer som Lan använt, men där jag inte lyckades matcha materialparametrarna perfekt i Blender jämfört med hur han gjort i 3DsMax. Vovven lyckades bättre med LOD-ningen av normalspårskopplet som ju verkar fungera bra även i TRS2019.

Om du skulle orka göra nya mesher med PBR och riktigt LOD-ning för delarna till smalspårskopplet, så tar jag gärna med det biblioteket i STL-koppel så att alla kan använda dem för modernare modeller, men ha kvar det gamla paketet för alla fordon som använder det.

På tal om koppel så har jag märkt att det hänt något med normalspårskopplet i senare versioner av spelet, där kopplet inte vilar i kroken, utan svävar över kroken på vagnar som går sist/först i ett tåg. Undrar om det beror på någon förändring av animeringen i Trainz, eller om det är något som härstammar från när Vovven LOD:ade mesherna. Men jag antar att han inte ändrade på Lans originalmesher.

Vad det gäller att använda Lans mesher så skulle jag tro att du är välkommen att använda dem som du vill, bra du anger honom som ursprungsskapare. Lan brukar vara väldigt öppen med att låta andra låna hans mesher och grejer, så jag tror att han bara tycker det är kul att hans alster får leva vidare och uppdateras. Om han kikar in här kan han säkert ge sitt godkännande till det.

Om du behöver hjälp med vilka frames som ska ha vilka "poses" i animationen så är det bara att hojta till så ska jag leta i script och gamla mail om hur vi satte upp det där.
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2022-02-24, 15:57   #43
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 154
Standard

Efter lite "debugging" så verkar det som jag hittat felet som gjorde att STL-kopplets luftslangar inte ville fungera ihop med mitt PBR-smalspårskoppel. Jag hade helt enkelt missat att lägga till STL-smalspårskopplet i kuid-table'n .
Min avsikt är också att förhoppningsvis komplettera mitt PBR-smalspårskoppel med luftslangar och kanske några fler varianter av koppel som ju finns i STL's. Tar med glädje emot hjälp för vilka frames som skall vara för de olika "poses" i animationen när det blir aktuellt. För närvarande så får man väl nöja sig med att det går att kombinera ihop mitt PBR-koppel med luftslangarna ur STL-kopplet.
Med koppelproblemet löst tills vidare så har jag börjat titta på hur man skulle kunna konvertera Blj loket till Np 3030 (i utförandet med kombinerad ång och sanddom) som förefaller vara den som överensstämmer bäst med "Sexan". Luftpump och lufttankar skall ju läggas till, diverse rör samt några lådor som är placerade på gångborden. Några kompromisser får det nog bli. Det får bara bli en lufttank eftersom den ena kolliderar med smörjpumpen och att fixa det innebär att också driv-boggien måste göras om. Tänkte också behålla el-belysningen i stället för originalets gas-belysning. Även sandningsventilen behåller jag från Sexan, det förefaller som ventilen på 3030 är ång-reglerad. Hittar säkert fler detaljer som får vara oförändrade, huvudsaken att loket ser hyfsat autentisk ut i stora drag.
tanigardi besöker inte forumet just nu   Svara med citat
Svara

Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av
Forumhopp



Alla tider är GMT +2. Klockan är nu 19:24.


Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
© Svenska 3D-Tåg 2001-2009