Snabb Tips Optimera Texturer I Unreal Development Kit

I dagens snabba tips kommer ny författare Ankash Kallyat att diskutera optimering av texturer i Unreal Development Kit och några av de viktigaste sakerna att komma ihåg vid import av texturer till UDK. Vi tittar på några sätt att spara minne genom att extrahera Specular maps från Diffuse maps, samt att arbeta med LOD-inställningar för att optimera spel.

Publicerad handledning

Varje par veckor besöker vi några av våra läsares favoritinlägg från hela webbplatsens historia. Denna handledning publicerades först i december 2011.


Innan vi börjar vill jag lista ut de format som stöds av UDK. Följande texturformat stöds:

  • .bmp
  • .pCX
  • .tga
  • .flyta
  • .psd
  • .png

Jag föredrar mest TGA eftersom det nu stöds av de flesta mjukvarupaket, plus du kan tweak alfa. Jag sparar ofta texturer i TGA-format, men ibland får TGA-filer sparas i 32 bitar och ibland med en vanlig alfa, även om de faktiskt inte innehåller någon alfabetisk information.

Detta är väldigt dåligt eftersom UDK importerar TGA-filer och försöker komprimera dem med den inbyggda kompressorn som kallas DXTC. Alfabetet är emellertid inte helt komprimerat eller ibland inte alls av Unreal Engine 3. Så det är bättre att spara filen utan en alfa, om du verkligen inte behöver någon alfabetisk information i Unreal Engine. Se också till att filen är sparad med 8 bitar per kanal RGB / RGBA-format för att undvika komplikationer vid import.

Här börjar jag med en enkel lövstruktur (Banana Palm leaf.)

Klicka för att förstora

Extrahera en speciell karta från en diffus karta

Vi tenderar alla att spara filer i tre olika format, dvs Diffuse, Specular och Normal kartor. Även om du egentligen inte alltid behöver spara en separat speciell karta, för att vi kan extrahera den från den diffusa kartan.

Klicka för att förstora

Som visat ovan i den orealistiska materialredigeraren extraherade jag den röda och gröna informationen från Diffuse-kartan och multiplicerade sedan den. Jag multiplicerade det igen med ett konstant värde av 18 bara för att vrida resultatet.

Du kan justera det enligt dina önskemål eller du kan importera en 256 x 256 speciell karta istället för att använda den konstanta parametern. Du kommer att kunna se det andra multiplicerade värdet börjar lysa lite (vilket är exakt vad vi ville ha) Efter det ska du bara ansluta resultatet till "Specular" noden.

Du kan också ansluta det konstanta parametervärdet till noden "Specular Power", om du vill ha ett fint och glänsande spegulärt resultat. Det är det, vi har just skapat en speciell karta från en diffus karta och har därmed sparat tillräckligt med minne för att ladda ytterligare en 1024 res karta i motor.


Importera Tips n Tricks

När vi försöker ladda eller spara en texturkarta saknar vi vanligtvis och glömmer att kontrollera texturkartans upplösning. Kontrollera alltid upplösningen på kartan eftersom UDK bara importerar texturer med en upplösning på 2 (x2.)

Till exempel: 256 x 256, 512 x 512, 1024 x 1024, 2048 x 2048 och så vidare. Se till att filen är sparad i 8 bitar per kanal RGB / RGBA-format, för att undvika komplikationer vid import. För att kolla upp det, öppna filen i Photoshop och Gå till Bild -> Mode -> och där borde du se 8 bitar / kanal vald. Om det inte är det, klicka bara på det. När du har laddat texturen, se till att du har ställt in LOD Bias.


LOD Bias inställning

Klicka för att förstora

Som framgår av ovanstående texturegenskaper har jag importerat bananbladets textur med en upplösning på 1024 x 1024 men jag har ställt in LOD-bias till 1. Vad händer här är upplösningen minskar med 1 steg (x2) vilket är 512 x 512, så du behöver inte ladda Photoshop för det.

Anledningen till att jag har ställt in belastningen till 1 beror på att vårt nät är enkelt blad och 1024 x 1024 kommer att dränera mycket minne. Nedan är skillnaden mellan "With LOD Bias" och "Without LOD Bias".

I UDK går du till Visa och sedan webbläsarfönstret och väljer Texturstatistik för att se statistiken över de texturer som är laddade i din scen.


Utan LOD BIAS-inställning

Klicka för att förstora

Som du kan se i bilden ovan laddas texturerna i en 1024 x 1024 dimension utan LOD bias set. Texturerna här använder var och en cirka 1366 kb minne.


Med LOD BIAS inställning

Klicka för att förstora

I bilden ovan laddas texturerna i 1024 x 1024 dimensioner men med LOD Bias inställda på 1. Varje textur använder cirka 342 kb minne.


SLUTSATS

För objekt där du behöver hög detalj behöver du inte göra ovanstående process. Men för enkla statiska föremål som lövverk, gräs, löv och alla andra statiska maskor, kan du gå till ovanstående process. Detta sparar mycket minne vilket optimerar spelningen.


Relaterade handledning:

  • En omfattande nybörjarguide till UDK
  • UDK - Skapa händelser med orealistisk Kismet
  • Snabbtips: En introduktion till Light-Mapping i UDK