Visa ett inlägg
Gammal 2020-12-20, 14:42   #33
tanigardi
Medlem
 
Reg.datum: Nov 2009
Ort: Gävle
Inlägg: 155
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