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 2021-08-27, 20:47   #136
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 602
Standard

Okey! Tack för bilderna och informationen!

Har aldrig riktigt fattat vad som skiljer en injektor från en ejektor. Är det användningsområdet, att en injektor suger upp vatten ur en tank och matar in det i pannan den tog ångan ifrån, medan en ejektor bara är en ångdriven pump som suger upp vatten och får det att rinna ut någonstans, typ i vattentankarna (men inte in i något som är under tryck, så som pannan)? Eller är det konstruktionen? För rent tekniskt skulle man väl kunna koppla vattenröret till en Gresham-injektor från en tankvagn likt med ejektorn på filmen du länkar, eller till och med från en sjö/vattendrag. Skillnaden blir ju att man matar pannan direkt istället för att fylla på vattentankarna, så man löser ju inte problemet om man tuffat slut på vatten i tankarna.

Tyvärr fungerade inte sista bilden, den är antagligen på föreningens interna hemsida.
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2021-11-09, 22:28   #137
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 602
Standard

Hallåj i höstmörkret!

Det var ett tag sedan sista uppdateringen, men verkstaden har inte stått still för det! Jag har filat på engine-specs, modellerat skyffel och kol till interiören, gjort ett lock till Friedmannpumpen och skriptat så att den fylls på när man öppnar, scriptat veven till Friedmann-pumpen så man manuellt kan pressa ut olja, färdigställt Bahr-tendern, fixat kopplingsslangar och scriptat dessa, LOD:at alla mesher på loket och Bahr-tendern(puh!) samt fixat hundra småsaker. Att-göra-listan bockas av sakta men säkert.

Ytterligare en sak som jag fixat sedan sist är att skapa lite ljus i hytten. Mer om det senare.

Det fanns lite intresse tidigare i tråden om hur jag tänkte göra med LOD och resultatet blev som följer. Jag har enbart använt LM-tekniken, där man har en text-fil där alla LOD-nivåer för varje mesh står listade och alltså inte använt mig något av mesh-table-lod-transition-distances-varianten i configen. LOD:ningen är gjord med en blandning av Decimate-modifiern och manuellt edge- och vertex-slidande i Blender. Det gick faktiskt snabbare än vad jag hade befarat, även om det tog tid.

Och nedan antalet trianglar på varje LOD-nivå, enligt Blender.

Loket (Exteriöra modellen, inklusive det som syns av hytten utifrån, exklusive animerade delar som dörrar och fönster):
LOD0: 84891, LOD1: 68782, LOD2: 15224, LOD3: 6034, LOD5: 370
Jag hoppade över LOD4 ifall jag skulle vilja klämma in en till nivå mellan 3 och 5. Sista nivån dumpar alla attachments, så modellen innehåller även hjulen och dörrar m.m. Inte för att de syns på det avståndet men ändå.

Drivhjulen:
LOD0: 12845, LOD1: 7439, LOD2: 3767, LOD3: 726, LOD4: 456

Löphjulen (per styck):
LOD0: 1776, LOD1: 1216, LOD2: 472, LOD3: 256

Alla animerade delar (dvs dörrar, fönster, kol- och vattenluckor, takluckan, samt kol- och vattenytan) LOD:ades med mellan 2 och 3 nivåer, beroende på hur komplicerade mesherna var. Alla animerade delar har tillsammans på LOD0 3372 trianglar. Till detta kommer några extra mesher, som glasrutor och kopplingsslangarna till Bahr-tendern.

Enligt Trainz innebär detta att loket består av runt 108 000 trianglar när man kollar på det från några meters avstånd. Typ 8 gånger mer trianglar än vad jag använde på mina teak-personvagnar med andra ord.

Såhär ser modellen ut om man kollar på den i Preview Asset-verktyget i CM och ändrar LOD-distance:


Notera att jag har missat att droppa löphjulen i sista steget, det måste jag fixa.

Det svåraste har varit stora rundade ytor, som domen, skorstenen och hörnen på vattentankarna. Det märks väldigt tydligt när dessa hoppar mellan LOD-steg, så där har jag varit väldigt försiktig med att minska antalet trianglar i de första nivåerna.

------------------------

Sedan, på tal om höstmörker, så har jag fixat en till sak. Nämligen belysning! Inne i hytten sitter det tre små gaslyktor som ska lysa upp eldarmanometern och vattenståndsglaset, samt förarens manometrar, hastighetsmätare och omkastarskalan. Jag klurade ju ut ett sätt att fejka belysning inne i hytten när vi höll på med Lans Sa och B-lok. Metoden går ut på att man gör en kopia av de mesh-delar i interiören som blir upplysta och flyttar ut varje polygon en millimeter framför den vanliga meshen. Sedan gör man nya texturer till den kopierade meshen och bakar in ljusinformation med hjälp av en riktigt path-tracer-renderingsmotor, i mitt fall Cycles som följer med Blender. Sedan är det väldigt enkelt att visa eller dölja den meshen med hjälp av lite scriptande inne i spelet. Jag fixade det på både Sa och B-loken, så jag tänkte att det inte skulle vara så svårt att greja på mitt lok. Men här visade det sig vara lite krångligare än vad jag tänkt på grund av PBR-texturerna som ju använder alphakanalen. Och Blender kan inte på något enkelt sätt baka till alpha-kanalen. Men med lite bollande med Tanigardi så lyckades jag lösa det. Hela tillvägagångssättet ser ut som följer:

1. Kopiera de mesher som kommer att lysas upp av lyktorna och flytta dem till en egen collection.
2. Jag har mappat interiören på två olika texturer, så ungefär hälften av ytorna kom från vardera texture. Jag vill bara ha en textur till ljus-texturen och dessutom utnyttja ytan ordentligt så här måste jag mappa om och sedan baka över allt och kombinera det till en texture.
3. Jag joinar alla mesher som tillhör samma textur, så jag får två mesher, en för vardera textur. Sedan skapar en ny UV-map på båda dessa mesherna.
4. Med den nya UV-mappen på båda mesherna så UV-mappar jag om alla trianglar och packar allt till en ny ljus-textur på 2048x2048 pixlar. Nu har de båda mesherna varsina två UV-mappar, den gamla mappningen för respektive gamla texturer och en gemensam mappning för den nya ljus-texturen.
5. Jag bakar alla tre PBR-texturerna (albedo, normal, parameter) till nya texturer med den nya gemensamma UV-mappningen. Detta gör jag till exempel genom att koppla in den gamla armatur-texturens albedo i Base color på shadern, och baka till ljus-texturens albedo. Se till att man använder gamla UV-mappen i det man bakar från och den nya till det man bakar. Detta får jag göra först för ena meshen och sedan för den andra, eftersom den använder olika texturer att baka från. Sedan gör jag det för albedo, normal och parameter. Den sista fick jag dela upp eftersom Blender inte kan baka alpha enkelt. Jag bakade därför bara ut Roughness och Metalness, eftersom jag inte har använt AO eller Emission på interiörens texturer. Var noga här med att ställa in "Linear" (tror att "Non-color" fungerar också) både i från och till-Image-texture noderna för normal och parameter-texturen. Annars kommer de att gammajusteras, vilket blir fel. Resultatet blir alltså fyra texturer, albedo, normal, roughness och metalness med innehållet från de båda gamla texturerna med med den nya UV-mappningen.
6. Sedan kopierar jag båda mesherna för att ha som backup, och på kopiorna kastar jag bort de gamla UV-mapparna, så bara ljus-texture-UV-mappen är kvar och joinar dem till en mesh.
7. Den nya meshen måste nu få alla ytor utflyttade med ca en mm för att de inte ska krocka med den vanliga, underliggande hyttens mesher. Detta är busenkelt genom att markera allt och i edit-mode trycka Alt-S (eller leta reda på verktyget Shrink/Fatten). Skriv in 0.001 för 1 mm och vips så är det färdigt!
8. Därefter så bakade jag ut en lightmap, alltså en grå texture som bara innehåller färg och intensitet från lamporna. Så jag satte jag upp ljus (använde point lights med en aning gul ton med hjälp av en blackbody nod på 3800 Kelvin) , satte materialet till att ha en mellangrå Base color, och satte upp Cycles. Därefter bakade jag (Diffuse, kryssa i Direct och Color för att få bara diffust ljus och få med färginformationen från lamporna) till en ny textur. Jag fick skruva upp antalet samples till 2000 för att få ned bruset, så det tog ett par minuter att baka.
9. Därefter satte jag ihop texturerna i Mixer. Här skapade jag bara en ny mix, kopplade in albedo, normal, roughness och metalness som jag fick ut i steg 5 i base-lagret, samt lade in lightmap:en som AO (jag bakar aldrig ut denna som AO, jag bara utnyttjar det "lagret" i Mixer eftersom jag inte använder AO på interiören). Därefter lade jag till ett nytt Solid layer med bara lightmap:en som albedo. Den mixar jag sedan in med multiply för att lägga till ljusinformationen som jag bakade med Cycles på den den vanliga albedon. Jag drog ned opaciteten på detta lager till ~40% för att det skulle smälta ihop bättre med omgivningen i spelet och inte bli för kontrastrik.
10. Sedan exporterade jag Albedo, Normal och Parameter-texturerna, precis som Trainz vill ha dem. Här gjorde jag dock två kluriga saker: Jag exporterade AO-lagret (alltså light-mappen i gråskala) som alpha på albedon (så ljusstyrkan kontrollerar genomskinligheten på materialet) och så exporterade jag även AO-lagret som emission (R-kanalen) på parameter-texturen för att göra materialet självlysande i spelet där lamporna har lyst upp enligt lightmappen.
11. Sedan är det bara att sätta upp ett m.pbrmetalmasked material i Blender och splitta meshen i tre delar, en för varje lykta så att man kan styra dem individuellt i spelet, exportera till Trainz, lägga till lite script och så är det klart. Lätt som en plätt!


Såhär ser det ut i Trainz:

Helt okey tills de lägger till stöd för riktiga point-lights i spelet någon gång i en avlägsen framtid.

Jag har dessutom lagt till flammor i lykthusen som man kan se om man öppna den bakre lyckan på lyktorna. I bilden är de två till vänster öppna och den till höger, på eldarsidan är stängd. Till dessa har jag använt samma trick med en 32-bitars texture som på flammorna i fyrboxen, för att få till bloom-effekten.

Tyvärr blir kanten mellan det synliga och genomskinliga i ljus-meherna lite taggigt, vilket man tydligt ser till vänster och under fönstret. Detta verkar vara en kombination av att den lightmappen som jag bakade ifrån Cycles fortfarande är ganska brusig och att Trainz gör ganska abrupta alphaövergångar. Det kanske går att mildra genom att brusreducera den bakade lightmappen, men vi får se om jag orkar fixa det.
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2021-11-09, 22:53   #138
rely
Medlem
 
Reg.datum: Jul 2010
Ort: Stockholm
Inlägg: 1 043
Standard

Du har verkligen lyckats återskapa atmosfären i en ånglokshytt efter mörkret lagt sig! Det gäller att ha stenkoll på var man har alla reglage så man inte bränner sig..
I de lite mindre loken som jag tjänstgör på har vi ingen hyttbelysning alls. Då kan man ställa upp eldstadsluckan ett par cm för att få lite ljus i hytten som ofta är tillräckligt för att se vattenståndsglas och manometrar. Är det riktigt klart och ingen dimma kan man i bästa fall se ca.15 meter framåt med fotogenbelysningen. Då gäller det att ha stenkoll på banan så man vet exakt var man befinner sig hela tiden.
Upplevelsen att åka på ett ånglok i mörker är svår att återge i tal eller text.. det måste nästan upplevas. Av allt jag sett i någon simulator hittills så är bilden du just publicerat det som bäst återskapar atmosfären.. VÄLDIGT SNYGGT!
__________________
rely besöker inte forumet just nu   Svara med citat
Gammal 2021-11-10, 14:30   #139
Vänersborgs_Stinsen
Medlem
 
Reg.datum: Nov 2016
Ort: Vänersborg
Inlägg: 514
Standard

Säger bara wow! Detta känns som ett enormt steg för ångloken i Trainz!
__________________
Stinsen Brinner för Bergslagernas Järnvägar.

Signatur
: EBo
Vänersborgs_Stinsen besöker inte forumet just nu   Svara med citat
Gammal 2021-11-10, 17:54   #140
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 112
Standard

Som vanligt så har Korvtiger kommit med supereleganta lösningar på saker som Trainz behandlat styvmoderligt (hyttbelysning) .
Måste också tacka för den detaljerade och pedagogiska beskrivningen av tillvägagångssättet av metoden.
Har av en händelse själv börjat klura på hyttbelysningen till mitt projekt (BLJ 6), så det här inlägget kom som en skänk ifrån ovan. Får väl klura lite på metoden eftersom jag gör all texturering i Blender, enbart.
tanigardi besöker inte forumet just nu   Svara med citat
Gammal 2021-11-15, 16:02   #141
Jockes
Medlem
 
Reg.datum: Feb 2009
Ort: Västerås
Inlägg: 1 683
Standard

Oj, tänk vad man missar ibland när forumet ligger nere! Riktigt snyggt, korvtiger. Ser helt fantastiskt ut verkligen!
__________________
//Joakim Wahlberg
Jockes besöker inte forumet just nu   Svara med citat
Gammal 2021-11-15, 22:03   #142
ekankal
Veteran
 
Reg.datum: Jun 2008
Ort: Sundsvall
Inlägg: 4 050
Standard

Vårat eget ångloks geni (eller vad man ska titulera dej som nu för tiden) har gjort det igen, överträffat allt annat man har sett i Trainz tidigare.
Känns som att du sätter en ny standard på allt du producerar i den däringa verkstan du har, imponerad (x10) blir man i alla fall .
__________________
Ekan
ekankal 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 04:01.


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