Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Importazione di immagini

Formati di immagine supportati

Godot può importare i seguenti formati di immagine:

Raster:

  • BMP (.bmp) - Tutti i formati pixel sono supportati, ma la compressione RLE non è supportata.

  • Superficie DirectDraw (.dds) - Se nella texture sono presenti mipmap, verranno caricate direttamente. Questo si può utilizzare per ottenere effetti tramite mipmap personalizzate.

  • Khronos Texture (.ktx) - La decodifica si fa tramite libktx. Supporta solo immagini 2D. Cubemap, array di texture e rimozione di spaziatura non sono supportati.

  • OpenEXR (.exr) - Supporta HDR (altamente consigliato per i cieli panoramici).

  • Radiance HDR (.hdr) - Supporta HDR (altamente consigliato per cieli panoramici).

  • JPEG (.jpg, .jpeg) - Non supporta la trasparenza a causa delle limitazioni del formato.

  • PNG (.png) - La precisione è limitata a 8 bit per canale all'importazione (niente immagini HDR).

  • Truevision Targa (.tga)

  • WebP (.webp) - I file WebP supportano la trasparenza e possono essere compressi con o senza perdita di dati. La precisione è limitata a 8 bit per canale.

Vector2:

Nota

Se l'editor Godot è stato compilato dai sorgenti con moduli specifici disabilitati, alcuni formati potrebbero non essere disponibili.

Importazione di texture

L'azione predefinita in Godot è quella di importare le immagini come texture. Le texture sono memorizzate nella memoria video. Non è possibile accedere ai loro dati pixel direttamente dalla CPU senza convertirli nuovamente in un Image tramite uno script. È questo che le rende efficienti da disegnare.

Sono disponibili oltre una dozzina di opzioni di importazione da poter regolare dopo aver selezionato un'immagine nel pannello Filesystem:

Opzioni di importazione nel pannello Importazione dopo aver selezionato un'immagine nel pannello Filesystem

Opzioni di importazione nel pannello Importazione dopo aver selezionato un'immagine nel pannello Filesystem Alcune di queste opzioni sono visibili solo con determinate modalità di compressione.

Cambiare il tipo da importare

È possibile scegliere altri tipi di risorse importate nel pannello Importazione:

  • BitMap: Texture monocromatica a 1 bit (pensata all'uso come maschera di clic in TextureButton e TouchScreenButton). Questo tipo di risorsa non si può visualizzare direttamente su nodi 2D o 3D, ma è possibile richiedere i valori dei pixel da uno script tramite get_bit.

  • Cubemap: Importa la texture come cubemap a 6 lati, con interpolazione tra i lati della cubemap (continua senza bordi netti), che può essere campionata in shader personalizzati.

  • CubemapArray: importa la texture come una raccolta di cubemap a 6 lati, che si possono campionare negli shader personalizzati. Questo tipo di risorsa è visualizzabile solo quando si usano i renderer Forward+ o Mobile, non il renderer Compatibilità.

  • DPITexture: disponibile solo per le immagini SVG. Simile a Texture2D, ma può essere rasterizzata a diverse scale nell'editor e in fase di esecuzione senza bisogno di reimportarla. Vedi Sovracampionamento di font e immagini per i dettagli.

  • Font Data (Monospace Image Font): importa l'immagine come font bitmap in cui tutti i caratteri hanno la stessa larghezza. Vedi Utilizzare i font.

  • Immagine: importa l'immagine così com'è. Questo tipo di risorsa non può essere visualizzato direttamente su nodi 2D o 3D, ma è possibile richiedere i valori dei pixel da uno script tramite get_pixel.

  • Texture2D: importa l'immagine come texture bidimensionale, adatta alla visualizzazione su superfici 2D e 3D. Questa è la modalità di importazione predefinita.

  • Texture2DArray: Importa l'immagine come una raccolta di texture bidimensionali. Texture2DArray è simile a una texture tridimensionale, ma senza interpolazione tra i livelli. Gli shader 2D e 3D integrati non possono visualizzare array di texture, quindi è necessario creare uno shader personalizzato in 2D o 3D per visualizzare una texture da un array di texture.

  • Texture3D: importa l'immagine come texture tridimensionale. Questa non è una texture 2D applicata su una superficie 3D. Texture3D è simile a un array di texture, ma con interpolazione tra i livelli. Texture3D è in genere utilizzata per le mappe di densità di un FogMaterial nella nebbia volumetrica, per i campi vettoriali degli attrattori di particelle, per la correzione del colore LUT 3D Environment e per shader personalizzati.

  • TextureAtlas: importa l'immagine come un atlante di diverse texture. Si può usare per ridurre l'uso di memoria per gli sprite 2D animati. Supportato solo in 2D a causa del supporto mancante negli shader 3D integrati.

Per Cubemap, l'ordine previsto delle immagini è X+, X-, Y+, Y-, Z+, Z- (nel sistema di coordinate di Godot, quindi Y+ è "su" e Z- è "avanti"). Ecco alcuni modelli che si possono utilizzare per le immagini cubemap (clic destro > Salva collegamento con nome…):

Rileva 3D

Le opzioni predefinite di importazione (niente mipmap e compressione Lossless) sono adatte al 2D, ma non sono ideali per la maggior parte dei progetti 3D. Detect 3D fa individuare quando una texture è usata in una scena 3D (ad esempio una texture in un BaseMaterial3D). Se ciò accade, molte opzioni di importazione vengono modificate così che i flag della texture siano più adatti al 3D. I mipmap vengono abilitati e la modalità di compressione viene cambiata in VRAM Compressed a meno che Detect 3D > Compress To non venga cambiato. La texture viene anche reimportata automaticamente.

Quando viene rilevata una texture utilizzata in 3D, viene visualizzato un messaggio nel pannello Output.

Se riscontri problemi di qualità quando una texture è rilevata per l'uso in 3D (ad esempio, per le texture in stile pixel art), cambia l'opzione Detect 3D > Compress To prima di usare la texture in 3D, oppure cambia Comprimi > Modalità in Lossless dopo aver usato la texture in 3D. Ciò è preferibile a disabilitare Detect 3D, poiché la generazione di mipmap rimane abilitata per evitare che le texture appaiano sgranate da lontano.

Opzioni di importazione

Vedi anche

A partire da Godot 4.0, il filtro delle texture e le modalità di ripetizione si modificano nelle proprietà di CanvasItem in 2D (con un'impostazione del progetto che funge da predefinita) e in una configurazione per ogni materiale in 3D. Negli shader personalizzati, il filtro e la modalità di ripetizione si cambiano nell'uniforme sampler2D tramite le indicazioni descritte nella documentazione di Linguaggio di shading.

Comprimi > Modalità

Le immagini sono una delle risorse più importanti di un gioco. Per gestirle in modo efficiente, devono essere compresse. Godot offre diversi metodi di compressione, a seconda del caso d'uso.

  • Lossless: Questa è la modalità di compressione predefinita e più comune per le risorse 2D. Mostra le risorse senza alcun tipo di artefatto e la compressione su disco è decente. Tuttavia, utilizzerà una quantità di memoria video considerevolmente maggiore rispetto alla compressione VRAM. Questa è anche l'impostazione consigliata per la pixel art.

  • Lossy: Questa è una buona scelta per grandi risorse 2D. Presenta alcuni artefatti, ma di meno rispetto alla compressione VRAM, e la dimensione dei file è molto più bassa rispetto a Lossless o VRAM Uncompressed. L'utilizzo della memoria video non viene ridotto da questa modalità; rimane lo stesso di Lossless o VRAM Uncompressed.

  • VRAM Compressed: Questa è la modalità di compressione predefinita e più comune per le risorse 3D. Le dimensioni su disco vengono ridotte e anche l'utilizzo della memoria video diminuisce considerevolmente (di solito di un fattore compreso tra 4 e 6). Questa modalità si dovrebbe evitare per il 2D poiché presenta artefatti evidenti, soprattutto per le texture a bassa risoluzione.

  • VRAM Uncompressed: Utile solo per formati non comprimibili, come immagini grezze a virgola mobile .

  • Basis Universal: Questa modalità di compressione VRAM alternativa codifica la texture in un formato che può essere transcodificato nella maggioranza dei formati compressi dalla GPU al momento del caricamento. Ciò produce file molto piccoli che utilizzano la compressione VRAM, a scapito di una qualità inferiore rispetto a VRAM Compressed e di tempi di compressione più lunghi. L'utilizzo della VRAM è generalmente lo stesso di VRAM Compressed. Basis Universal non supporta i formati di immagine a virgola mobile (il motore utilizzerà internamente VRAM Compressed come alternativa).

Nota

Anche nelle applicazioni 3D, la compressione VRAM delle texture stile "pixel art" dovrebbe essere disabilitata, poiché ciò influirebbe negativamente sul loro aspetto, senza migliorare significativamente le prestazioni a causa della loro bassa risoluzione.

In questa tabella, ciascuna delle 5 opzioni è descritta insieme ai relativi vantaggi e svantaggi (good = la migliore, bad = la peggiore):

Modalità di compressione

Senza perdita

Con perdita

Compresso per VRAM

Non compresso per VRAM

Basis Universal

Descrizione

Memorizzato come WebP/PNG senza perdita (lossless)

Memorizzato come WebP con perdita (Lossy)

Memorizzato come S3TC, BPTC o ETC2 a seconda della piattaforma

Memorizzati come pixel grezzi

Transcodificato in formato compresso per VRAM

Dimensione sul disco

regular Piccolo

good Molto piccolo

regular Piccolo

bad Largo

good Molto piccolo

Utilizzo di memoria

bad Largo

bad Largo

good Piccolo

bad Largo

good Piccolo

Prestazioni

regular Normale

regular Normale

good Veloce

regular Normale

good Veloce

Perdita di qualità

good Nessuna

regular Leggera

bad Moderata

good Nessuna

bad Moderata

Tempo di caricamento

bad Lento

bad Lento

good Veloce

regular Normale

regular Normale

Utilizzo stimato della memoria per una singola texture RGBA8 con mipmap abilitate:

Dimensioni della texture

Senza perdita

Con perdita

Compresso per VRAM

Non compresso per VRAM

Basis Universal

128×128

good 85 KiB

good 85 KiB

good 21 KiB

good 85 KiB

good 21 KiB

256×256

good 341 KiB

good 341 KiB

good 85 KiB

good 341 KiB

good 85 KiB

512×512

good 1.33 MiB

good 1.33 MiB

good 341 KiB

good 1.33 MiB

good 341 KiB

1024×1024

regular 5.33 MiB

regular 5.33 MiB

good 1.33 MiB

regular 5.33 MiB

good 1.33 MiB

2048×2048

bad 21.33 MiB

bad 21.33 MiB

regular 5.33 MiB

bad 21.33 MiB

regular 5.33 MiB

4096×4096

bad 85.33 MiB

bad 85.33 MiB

bad 21.33 MiB

bad 85.33 MiB

bad 21.33 MiB

Nota

Nella tabella sopra, l'utilizzo della memoria sarà ridotto del 25% per le immagini che non hanno un canale alfa (RGB8). L'utilizzo della memoria sarà ulteriormente ridotto del 25% per le immagini con mipmap disabilitate.

Si noti come, a risoluzioni più elevate, l'impatto della compressione VRAM sia molto maggiore. Con un rapporto di compressione di 4:1 (6:1 per texture opache con S3TC), la compressione VRAM consente effettivamente di raddoppiare le dimensioni di una texture su ciascun asse, utilizzando la stessa quantità di memoria sulla GPU.

La compressione VRAM riduce anche la larghezza di banda di memoria necessaria per campionare la texture, il che può accelerare il rendering in scenari limitati dalla larghezza di banda (frequenti su schede grafiche integrate e dispositivi mobili). Questi fattori combinati rendono la compressione VRAM un must per i giochi 3D con texture ad alta risoluzione.

È possibile vedere in anteprima la quantità di memoria occupata da una texture facendo doppio clic su di essa nel pannello Filesystem, quindi osservando l'Ispettore:

Anteprima di una texture nell'Ispettore

Anteprima di una texture nell'Ispettore. Crediti: Red Brick 03 - Poly Haven

Comprimi > Alta qualità

Nota

La compressione delle texture in VRAM di alta qualità è supportata solo nei renderer Forward+ e Mobile.

Quando si utilizza il renderer Compatibilità, questa opzione è sempre considerata disabilitata.

Se abilitato, utilizza la compressione BPTC sulle piattaforme desktop e la compressione ASTC sulle piattaforme mobili. Quando si utilizza BPTC, BC7 è utilizzato per le texture SDR e BC6H per le texture HDR.

Se disabilitato (predefinito), utilizza la compressione S3TC, più veloce ma di qualità inferiore, sulle piattaforme desktop e ETC2 sulle piattaforme mobile/web. Quando si utilizza S3TC, DXT1 (BC1) è utilizzato per le texture opache e DXT5 (BC3) per le texture trasparenti o a mappa di normali (RGTC).

BPTC e ASTC supportano la compressione VRAM per le texture HDR, ma S3TC ed ETC2 no (vedere Compressione HDR di seguito).

Comprimi > Compressione HDR

Nota

Questa opzione ha effetto solo sulle texture importate in formati HDR in Godot (file .hdr e .exr).

If set to Disabled, never uses VRAM compression for HDR textures, regardless of whether they're opaque or transparent. Instead, the texture is converted to RGBE9995 (9-bits per channel + 5-bit exponent = 32 bits per pixel) to reduce memory usage compared to a half-float or single-precision float image format.

If set to Opaque Only (default), only uses VRAM compression for opaque HDR textures. This is due to a limitation of HDR formats, as there is no VRAM-compressed HDR format that supports transparency at the same time.

If set to Always, will force VRAM compression even for HDR textures with an alpha channel. To perform this, the alpha channel is discarded on import.

Comprimi > Mappa di normali

When using a texture as normal map, only the red and green channels are required. Given regular texture compression algorithms produce artifacts that don't look that nice in normal maps, the RGTC compression format is the best fit for this data. Forcing this option to Enable will make Godot import the image as RGTC compressed. By default, it's set to Detect. This means that if the texture is ever detected to be used as a normal map, it will be changed to Enable and reimported automatically.

Note that RGTC compression affects the resulting normal map image. You will have to adjust custom shaders that use the normal map's blue channel to take this into account. Built-in material shaders already ignore the blue channel in a normal map (regardless of the actual normal map's contents).

In the example below, the normal map with RGTC compression is able to preserve its detail much better, while using the same amount of memory as a standard RGBA VRAM-compressed texture:

Mappa di normali con compressione VRAM standard (a sinistra) e con compressione VRAM RGTC (a destra)

Mappa di normali con compressione VRAM standard (a sinistra) e con compressione VRAM RGTC (a destra)

Nota

Godot richiede che la mappa di normali utilizzi le coordinate X+, Y+ e Z+, ovvero una mappa di normali in stile OpenGL. Se hai importato un materiale creato per l'uso con un altro motore, potrebbe essere in stile DirectX. In tal caso, bisogna convertire la mappa di normali abilitando l'opzione di importazione Inverti Y in mappa di normali.

Ulteriori informazioni sulle mappe di normali (inclusa una tabella di ordine delle coordinate per i motori più diffusi) sono disponibili qui.

Compress > Channel Pack

Se impostato su sRGB Friendly (predefinito), impedisce l'utilizzo del formato colore RG poiché non supporta il colore sRGB.

Se impostata su Optimized, consente di sfruttare il formato colore RG se la texture non utilizza il canale blu.

Una terza opzione, Normal Map (RG Channels), è solo disponibile nelle texture a livelli (Cubemap, CubemapArray, Texture2DArray e Texture3D). Questa opzione costringe a importare tutti i livelli della texture con il formato colore RG, preservando solo i canali rosso e verde. La compressione RGTC è in grado di preservare i suoi dettagli molto meglio, pur utilizzando la stessa quantità di memoria di una solita texture RGBA compressa in VRAM. Questa opzione ha effetto solo sulle texture con le modalità di compressione VRAM Compressed o Basis Universal.

Mipmap > Genera

Se abilitata, all'importazione vengono generate versioni più piccole della texture. Ad esempio, una texture 64×64 genererà 6 mipmap (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). Questo offre diversi vantaggi:

  • Le texture non risulteranno sgranate in lontananza (in 3D) o se rimpicciolite a causa dello zoom della telecamera o della scala dei CanvasItem (in 2D).

  • Le prestazioni miglioreranno se la texture è visualizzata in lontananza, poiché il campionamento di versioni più piccole della texture originale è più veloce e richiede meno larghezza di banda della memoria.

Lo svantaggio delle mipmap è che aumentano l'utilizzo della memoria di circa il 33%.

Si consiglia di abilitare le mipmap in 3D. Tuttavia, in 2D, questa opzione si dovrebbe abilitare solo se il progetto ne usufruisce effettivamente. Se la telecamera non si allontana mai di molto, abilitare le mipmap non sarà molto vantaggioso, ma aumenterà comunque il consumo di memoria.

Mipmap > Limite

Avvertimento

Mipmap > Limite non è attualmente implementato e la sua modifica non ha alcun effetto.

Se impostato su un valore maggiore di -1, limita il numero massimo di mipmap che si possono generare. Questo valore si può ridurre se non si desidera che la risoluzione delle texture diventi troppo bassa da molto lontano, a scapito di una certa granulosità.

Rugosità > Modalità

Il canale colore da considerare come mappa di rugosità in questa texture. Efficace solo se Rugosità > Sorgente delle normali non è vuoto.

Rugosità > Sorgente di normali

Il percorso della texture da considerare come mappa di normali per il filtro di rugosità durante l'importazione. Specificandolo, è possibile ridurre leggermente l'aliasing speculare in 3D.

Il filtro di rugosità durante l'importazione è utilizzato solo nel rendering 3D, non in 2D.

Processo > Correggi l'alfa sui bordi

Questo inserisce pixel dello stesso colore circostante in transizione dalle aree trasparenti alle aree opache. Per le texture visualizzate con il filtro bilineare, questo aiuta a ridurre l'effetto contorno quando si esportano immagini da un editor di immagini.

../../_images/fixedborder.png

Si consiglia di lasciare questa opzione abilitata (come lo è solitamente), a meno che non causi problemi con una particolare immagine.

Processo > Premoltiplica l'alfa

Un'alternativa alla correzione dei bordi scuriti con Correggi l'alfa sui bordi è utilizzare l'alfa premoltiplicato. Abilitando questa opzione, la texture verrà convertita in questo formato. Una texture con alfa premoltiplicato richiede materiali specifici per apparire correttamente:

  • In 2D, a CanvasItemMaterial will need to be created and configured to use the Premultiplied Alpha blend mode on CanvasItems that use this texture. In custom canvas item shaders, render_mode blend_premul_alpha; should be used.

  • In 3D, a BaseMaterial3D will need to be created and configured to use the Premult Alpha blend mode on materials that use this texture. In custom spatial shaders, render_mode blend_premul_alpha; should be used.

Process > Normal Map Invert Y

Godot richiede che la mappa di normali utilizzi le coordinate X+, Y+ e Z+, ovvero una mappa di normali in stile OpenGL. Se hai importato un materiale creato per l'uso con un altro motore, potrebbe essere in stile DirectX. In tal caso, bisogna convertire la mappa di normali abilitando l'opzione di importazione Inverti Y in mappa di normali.

Ulteriori informazioni sulle mappe di normali (inclusa una tabella di ordine delle coordinate per i motori più diffusi) sono disponibili qui.

Process > HDR as sRGB

Alcune immagini HDR ritrovabili online potrebbero essere corrotte e contenere dati di colore in sRGB (anziché dati di colore lineari).Si consiglia di non utilizzare tali file. Se è proprio necessario, abilitando questa opzione le immagini appariranno corrette.

Avvertimento

Abilitare l'opzione HDR as sRGB su immagini HDR ben formattate risulterà in un'immagine troppo scura, quindi lasciala disabilitata in caso di dubbi.

Process > HDR Clamp Exposure

Alcune immagini panoramiche HDR ritrovabili online potrebbero contenere pixel estremamente luminosi, perché sono state scattate da soggetti reali senza alcun clipping.

While these HDR panorama images are accurate to real life, this can cause the radiance map generated by Godot to contain sparkles when used as a background sky. This can be seen in material reflections (even on rough materials in extreme cases). Enabling HDR Clamp Exposure can resolve this using a smart clamping formula that does not introduce visible clipping – glow will keep working when looking at the background sky.

Process > Size Limit

Se impostato su un valore maggiore di 0, all'importazione le dimensioni della texture sono limitate a un valore inferiore o uguale a quello specificato. Per le texture non quadrate, il limite di dimensioni influisce sulla dimensione maggiore, mentre la dimensione minore viene adattata per preservare le proporzioni. Il ridimensionamento viene effettuato tramite un'interpolazione cubica.

Questo può servire per ridurre l'utilizzo della memoria senza influire sulle immagini di origine, oppure per evitare problemi di texture non visualizzate sulle piattaforme mobili o web (in quanto queste solitamente non possono visualizzare texture più grandi di 4096×4096).

Detect 3D > Compress To

Questo modifica l'opzione Comprimi > Modalità che è utilizzata quando una texture viene rilevata come utilizzata in 3D.

Modificare questa opzione di importazione ha effetto solo se una texture viene considerata utilizzata in 3D. Impostandola su Disabled e reimportandola, la modalità di compressione esistente di una texture (se viene considerata utilizzata in 3D) non cambierà, mentre scegliendo VRAM Compressed o Basis Universal sì.

SVG > Scala

Questa è disponibile solo per le immagini SVG.

La scala con cui l'SVG deve essere renderizzato, dove 1.0 rappresenta la dimensione originale del disegno. Valori più alti risultano in un'immagine più grande. Si noti che, a differenza del sovracampionamento dei font, questo influisce sulla dimensione fisica con cui l'SVG è renderizzato in 2D. Vedere anche Editor > Scala con la scala dell'editor di seguito.

Editor > Scala con la scala dell'editor

Questa è disponibile solo per le immagini SVG.

Se true, ridimensiona l'immagine importata in modo che corrisponda al fattore di scala di visualizzazione dell'editor. Si dovrebbe abilitare per le icone dei plugin dell'editor e per le icone delle classi personalizzate, altrimenti dovrebbe rimanere disabilitata.

Editor > Converti i colori con il tema dell'editor

Questa è disponibile solo per le immagini SVG.

Se selezionata, converte i colori dell'immagine importata così da corrispondere alla tavolozza dei colori delle icone e dei font dell'editor. Questo presuppone che l'immagine utilizzi esattamente gli stessi colori della tavolozza di colori di Godot per le icone dell'editor, con il file sorgente progettato per un tema scuro dell'editor. Dovrebbe essere abilitato per le icone delle estensioni dell'editor e per le icone delle classi personalizzate, altrimenti dovrebbe rimanere disabilitata.

Importare immagini SVG con testo

Poiché la libreria SVG utilizzata in Godot non supporta la rasterizzazione del testo presente nelle immagini SVG, il testo deve essere prima convertito in un tracciato. Altrimenti, il testo non apparirà nell'immagine rasterizzata.

Ci sono due modi per farlo in modo non distruttivo, permettendo di continuare a modificare il testo originale in seguito:

  • Seleziona l'oggetto di testo in Inkscape, poi duplicalo nella stessa posizione premendo Ctrl + D e usa Path > Object to Path. Nascondi l'oggetto di testo originale in seguito tramite il pannello Layers and Objects.

  • Utilizza la riga di comando di Inkscape per esportare un file SVG da un altro file SVG, convertendo il testo in tracciati:

inkscape --export-text-to-path --export-filename svg_with_text_converted_to_path.svg svg_with_text.svg

Le migliori pratiche

Supportare dimensioni di texture ad alta risoluzione in 2D senza artefatti

Per supportare più risoluzioni con immagini nitide ad alta risoluzione, sarà necessario utilizzare immagini sorgente ad alta risoluzione (adatte alla risoluzione più alta che serve supportare senza sfocature, che in genere è 4K nei moderni giochi per desktop).

Ci sono due modi per procedere:

  • Utilizza una risoluzione base elevata nelle impostazioni del progetto (ad esempio 4K), quindi utilizza le texture nella scala originale. Questo è un approccio più semplice.

  • Utilizza una risoluzione base bassa nelle impostazioni del progetto (ad esempio 1080p), poi riduci la risoluzione delle texture quando le usi. Questo è spesso più difficile e può rendere noiosi vari calcoli nello script, quindi si consiglia l'approccio descritto in precedenza.

Dopo averlo fatto, potresti notare che le texture diventano granulose a risoluzioni più basse. Per risolvere questo problema, abilita Mipmap sulle texture utilizzate in 2D nel pannello Importazione. Questo aumenterà l'utilizzo di memoria.

Abilitare le mipmap può rendere le texture più sfocate, ma è possibile renderle più nitide (a scapito di una maggiore granulosità) impostando Rendering > Texture > Filtri predefiniti > Bias delle mipmap delle texture su un valore negativo.

Usa dimensioni di texture appropriate in 3D

Sebbene non ci sia una raccomandazione valida per tutto, ecco alcuni consigli generali per scegliere le dimensioni delle texture in 3D:

  • Le dimensioni di una texture si dovrebbero regolare in modo da avere una densità di texel uniforme rispetto agli oggetti circostanti. Sebbene ciò non si possa garantire perfettamente mantenendo le dimensioni pari a potenze di due, di solito è possibile mantenere un dettaglio della texture abbastanza uniforme in tutta una scena 3D.

  • Più piccolo appare l'oggetto sullo schermo, più piccola dovrebbe essere la sua texture. Ad esempio, un albero che appare solo sullo sfondo non ha bisogno di una risoluzione di texture elevata quanto quella di altri oggetti vicino ai quali il giocatore potrebbe camminare.

  • Using power-of-two texture sizes is recommended, but is not required. Textures don't have to be square – sizes such as 1024×512 are acceptable.

  • L'utilizzo di grandi dimensioni per le texture comporta rendimenti decrescenti, nonostante l'aumento sull'utilizzo di memoria e sui tempi di caricamento. La maggior parte dei giochi 3D moderni che non adottano uno stile pixel art si limita solitamente a texture di 2048×2048, con 1024×1024 e 512×512 per texture che coprono superfici più piccole.

  • Quando si lavora con materiali basati sulla fisica in 3D, è possibile ridurre l'utilizzo di memoria e le dimensioni dei file senza compromettere eccessivamente la qualità, utilizzando una risoluzione più bassa per alcune mappe di texture. Questo funziona particolarmente bene per le texture che presentano solo dettagli a bassa frequenza (come una mappa di normali per una texture di neve).

Se hai il controllo sul modo in cui sono creati i modelli 3D, vale la pena di approfondire anche questi suggerimenti:

  • Quando si lavora con modelli 3D prevalentemente simmetrici, si potrebbero utilizzare UV speculari per raddoppiare la densità effettiva dei texel. Tuttavia, ciò potrebbe apparire innaturale se applicato ai volti umani.

  • Quando si lavora con modelli 3D aventi uno stile low-poly e colori semplici, è possibile affidarsi ai colori dei vertici anziché alle texture per rappresentare i colori sulle superfici del modello.

Vedi anche

Le immagini si possono caricare e salvare in fase di esecuzione utilizzando caricamento e salvataggio di file in fase di esecuzione, anche da un progetto esportato.