Nel consiglio di oggi, il nuovo autore Ankash Kallyat discuterà l'ottimizzazione delle trame in Unreal Development Kit e alcune delle cose fondamentali da ricordare quando si importano trame in UDK. Vedremo alcuni modi per risparmiare memoria estraendo le mappe speculari dalle mappe Diffuse, oltre a lavorare con le impostazioni LOD per ottimizzare il gioco.
Tutorial ripubblicatoOgni poche settimane, rivisitiamo alcuni dei post preferiti del nostro lettore da tutta la cronologia del sito. Questo tutorial è stato pubblicato per la prima volta nel dicembre del 2011.
Prima di iniziare, vorrei elencare i formati supportati da UDK. Sono supportati i seguenti formati Texture:
Io preferisco per lo più TGA perché ora è supportato dalla maggior parte dei pacchetti software, inoltre è possibile modificare l'alfa. Salvo spesso trame in formato TGA, ma a volte i file TGA vengono salvati a 32 bit e talvolta con un semplice alpha, anche se in realtà non contengono alcuna informazione alfa.
Questo è molto brutto perché UDK importa i file TGA e prova a comprimerli con il suo compressore integrato noto come DXTC. Tuttavia, l'Alpha non è completamente compresso o, a volte, non lo è affatto da Unreal Engine 3. Quindi è meglio salvare il file senza un alpha, se davvero non hai bisogno di informazioni alfa in Unreal Engine. Assicurati inoltre che il file venga salvato con 8 bit per canale RGB / RGBA per evitare complicazioni durante l'importazione.
Qui comincerò con una semplice texture del fogliame (la foglia di palma di banana).
Clicca per ingrandireTutti tendiamo a salvare i file in tre diversi formati, ad esempio mappe diffuse, speculari e normali. Anche se non è sempre necessario salvare una mappa speculare separata, perché è possibile estrarla dalla mappa diffusa.
Clicca per ingrandireCome mostrato sopra in Unreal Material Editor, ho estratto le informazioni Red e Green dalla mappa Diffuse e poi l'ho moltiplicata. L'ho nuovamente moltiplicato con un valore costante di 18 solo per alzare il risultato.
Puoi regolarlo in base ai tuoi desideri o potresti importare una mappa speculare 256 x 256 invece di usare il parametro costante. Potresti vedere il secondo valore moltiplicato che inizia a brillare un po '(che è esattamente quello che volevamo) dopo di ciò basta collegare il risultato al nodo "Speculare".
È anche possibile collegare il valore del parametro costante al nodo "Potenza speculare", se si desidera un risultato speculare bello e brillante. È così, abbiamo appena creato una mappa speculare da una mappa diffusa e abbiamo quindi salvato abbastanza memoria per caricarne un'altra 1024 mappa di ricerca nel motore.
Ogni volta che proviamo a caricare o salvare una mappa delle texture, di solito ci perdiamo e dimentichiamo di controllare la risoluzione della mappa delle texture. Controlla sempre la risoluzione della mappa perché UDK importa solo trame con una risoluzione di 2 (x2.)
Ad esempio: 256 x 256, 512 x 512, 1024 x 1024, 2048 x 2048 e così via. Assicurati nuovamente che il file venga salvato in formato 8 bit per canale RGB / RGBA, per evitare complicazioni durante l'importazione. Per verificarlo, apri il file in Photoshop e vai a Immagine -> Modalità -> e lì dovresti vedere 8 bit / canale selezionato. Se non lo è, basta fare clic su di esso. Dopo aver caricato la trama, assicurati di aver impostato il BORD LOD.
Come mostrato nelle precedenti proprietà della texture, ho importato la texture delle foglie di banana con una risoluzione di 1024 x 1024 ma ho impostato il bias del LOD su 1. Ciò che accade qui è che la risoluzione diminuisce di 1 passo (x2) che è 512 x 512, quindi non devi caricare Photoshop per quello.
Il motivo per cui ho impostato il bias del carico 1 è perché la nostra mesh è fogliame semplice e 1024 x 1024 sta per drenare molta memoria. Di seguito è riportata la differenza tra "With LOD Bias" e "Without LOD Bias".
In UDK vai su View e poi sulla finestra del Browser e seleziona Texture Stats per vedere le statistiche delle trame caricate nella scena.
Come puoi vedere nell'immagine sopra, le trame vengono caricate in una dimensione di 1024 x 1024 senza set di bias LOD. Le Textures qui utilizzano ciascuna circa 1366kb di memoria.
Nella foto sopra, le trame vengono caricate in dimensioni 1024 x 1024 ma con il LOD Bias impostato su 1. Ogni Texture utilizza circa 342 kb di memoria.
CONCLUSIONE
Per gli oggetti in cui è necessario un elevato livello di dettaglio, non è necessario eseguire la procedura sopra descritta. Ma per semplici oggetti statici come foglie, erba, foglie e qualsiasi altra rete statica, puoi procedere con il processo sopra descritto. Ciò farà risparmiare molta memoria ottimizzando così il gameplay.