Importer des images

Formats d'image pris en charge

Godot peut importer les formats d'image suivants :

  • BMP (.bmp) - Pas de support pour les images 16 bits par pixel. Seules les images de 1, 4, 8, 24 et 32 bits par pixel sont prises en charge.

  • DirectDraw Surface (.dds) - Si des mipmaps sont présents dans la texture, ils seront chargés directement. Cela peut être utilisé pour obtenir des effets à l'aide de mipmaps personnalisés.

  • OpenEXR (.exr) - Supporte le HDR (fortement recommandé pour les ciels panoramiques).

  • Radiance HDR (.hdr) - Supporte le HDR (fortement recommandé pour les ciels panoramiques).

  • JPEG (.jpg, .jpeg) - Ne supporte pas la transparence en raison des limitations du format.

  • PNG (.png) - La précision est limitée à 8 bits par canal lors de l'importation (pas d'images HDR).

  • Truevision Targa (.tga)

  • SVG (.svg, .svgz) - Les SVG sont rastérisés en utilisant NanoSVG lors de leur importation. Le soutien est limité ; les vecteurs complexes peuvent ne pas être rendus correctement. Pour les vecteurs complexes, les rendre en PNGs en utilisant Inkscape est souvent une meilleure solution. Ceci peut être automatisée grâce à son interface en ligne de commande.

  • WebP (.webp) - Les fichiers WebP supportent la transparence et peuvent être compressés avec ou sans perte. La précision est limitée à 8 bits par canal.

Note

Si vous avez compilé l'éditeur Godot à partir de la source avec des modules spécifiques désactivés, certains formats peuvent ne pas être disponibles.

Importer des textures

L'action par défaut dans Godot consiste à importer des images sous forme de textures. Ces textures sont stockées dans la mémoire vidéo et ne sont pas accessibles directement. C'est ce qui permet de les dessiner efficacement.

Les options d’importation sont vastes :

../../_images/image_import1.png

Détecter la 3D

Cette option permet à Godot de savoir qu'une texture (importée pour la 2D en tant que défaut) est utilisée en 3D. Si cela se produit, les paramètres sont modifiés pour que les indicateurs de texture soient plus conviviaux pour la 3D (les mipmaps, les filtres et les répétitions sont activés et la compression est modifiée sur VRAM). La texture est également réimportée automatiquement.

Compression

Les images sont parmi les plus nombreuses ressources d'un jeu. Pour les gérer efficacement, elles doivent être compressées. Godot propose plusieurs méthodes de compression, en fonction du cas d'utilisation.

Mode de compression

  • VRAM Compression : C'est le mode de compression le plus courant pour les assets 3D. Le fichier sur le disque est réduit et l'utilisation de la mémoire vidéo est considérablement réduite également (généralement d'un facteur compris entre 4 et 6). Ce mode doit être évité pour le 2D car il présente des artefacts visibles.

  • Lossless Compression : C'est le mode de compression le plus courant pour les assets 2D. Il montre les assets sans aucune sorte d'artefact, et la compression sur le disque est décente. Cela utilisera cependant une quantité de mémoire vidéo considérablement plus importante que la compression VRAM. C'est également le réglage recommandé pour l'art au pixel.

  • Lossy Compression : C'est un bon choix pour les gros assets 2D. Il comporte quelques artefacts mais moins que la VRAM, et la taille du fichier est plusieurs fois inférieure à celle d'un fichier Lossless ou Uncompressed. L'utilisation de la mémoire vidéo n'est pas diminuée par ce mode ; c'est la même chose qu'avec la compression Lossless ou Uncompressed.

  • Uncompressed : Uniquement utile pour les formats qui ne peuvent pas être compressés (comme les images flottantes brutes).

Dans ce tableau, chacune des quatre options est décrite avec ses avantages et inconvénients (|bon| = Meilleur, |mauvais| = Pire) :

Non compressé

Compression sans perte (Lossless)

Compression avec pertes (Lossy)

Compression VRAM

Description

Stocké sous forme de pixels bruts

Stocké sous forme de WebP / PNG sans perte (Lossless)

Stocké en tant que WebP avec perte (Lossy)

Stocké en S3TC/BC ou PVRTC/ETC selon la plate-forme

Taille sur le disque

|mauvais| Grand

|normal| Petit

|bon| Très petit

|normal| Petit

Utilisation mémoire

|mauvais| Grand

|mauvais| Grand

|mauvais| Grand

|bon| Petit

Performance

|normal| Normal

|normal| Normal

|normal| Normal

|bon| Rapide

Perte de qualité

|bon| Aucune

|bon| Aucune

|normal| Légère

|mauvais| Modérée

Temps de chargement

|normal| Normal

|mauvais| Lent

|mauvais| Lent

|bon| Rapide

Mode HDR

Godot prend en charge les textures à plages dynamiques élevées (comme .HDR ou .EXR). Celles-ci sont surtout utiles en tant que ciel panoramique équi-rectanculaire à plage dynamique élevée (Internet en foisonne si vous en cherchez), qui remplace Cubemaps dans Godot 2.x. Les PC modernes prennent en charge le format BC6H VRAM, mais il en existe encore beaucoup dont ce n'est pas le cas.

Si vous voulez que Godot garantisse une compatibilité totale avec les types de textures, activez l'option "Forcer RGBE".

Carte de normales

Lorsque vous utilisez une texture comme normal map (carte de normales), seuls les canaux rouge et vert sont requis. Étant donné que les algorithmes classiques de compressions de textures produisent des artefacts qui ne semblent pas beaux dans les normal map, le format de compression RGTC convient parfaitement à ces données. Si vous forcez cette option sur "Activé", Godot importera l'image au format RGTC compressé. Par défaut, il est défini sur "Détecter", ce qui signifie que si la texture est utilisée comme une normal map, elle sera remplacée par "Activé" et réimportée automatiquement.

Notez que la compression RGTC affecte la normal map (carte de normales) résultante. Vous devrez ajuster les shaders personnalisés qui utilisent la normal map pour en tenir compte.

Note

Godot exige que la normal map(carte de normale) utilise les coordonnées X+, Y+ et Z+, c'est ce qu'on appelle le style OpenGL. Si vous avez importé un matériau conçu pour être utilisé avec un autre moteur, il peut être de style DirectX, auquel cas la normal map doit être convertie afin que son axe Y soit inversé.

Vous trouverez plus d'informations sur les nomal map (incluant un tableau des coordonnées pour les moteurs les plus populaires) ici.

Paramètres

De nombreux paramètres peuvent être modifiés lors de l'importation d'une image en tant que texture, en fonction du cas d'utilisation.

Répéter

Ce paramètre est plus généralement utilisé en 3D , il est donc généralement désactivé en 2D. Cela fait que les coordonnées UV vont au-delà de l'intervalle 0,0 - 1,1 pour "boucler".

La répétition peut être réglée optionnellement en mode miroir.

Filtre

Lorsque les pixels deviennent plus grands que les pixels de l'écran, ces options permettent leur interpolation linéaire. Le résultat est une texture plus lisse (moins pixelisée). Ce paramètre peut être couramment utilisé en 2D et 3D, mais il est généralement désactivé lors de la création de jeux pixel perfect.

Mipmaps

Lorsque les pixels deviennent plus petits que l'écran, les mipmaps entrent en jeu. Cela permet de réduire l'effet granuleux lors de la réduction des textures. Gardez à l'esprit que, dans les matériels plus anciens (GLES2, principalement mobiles), il existe certaines exigences pour utiliser les mipmaps :

  • L’hauteur et largeur d’une texture doivent être une puissance de 2

  • Répéter doit être activé

Gardez à l'esprit ce qui précède lorsque vous créez des jeux et des applications téléphoniques, que vous souhaitez assurer une compatibilité totale, et que vous avez besoin des mipmaps.

Lorsque vous faites de la 3D, mipmap doit être activé car cela améliore également les performances (des versions plus petites de la texture sont utilisées pour les objets plus éloignés).

Anisotrope

Lorsque les textures sont presque parallèles à la vue (comme les sols), cette option leur donne plus de détails en réduisant le flou.

sRGB

Godot utilise l'espace colorimétrique linéaire lors du rendu 3D. Les textures mappées à l'albédo ou aux canaux de détail doivent avoir cette option activée pour que les couleurs soient correctes. Lorsqu'il est réglé sur le mode "Détecter", la texture sera marquée comme sRGB lorsqu'elle est utilisée dans les canaux albédo.

Avertissement

Étant donné que les données de la texture seront modifiées lorsque le sRGB sera activé, ça signifie qu'utiliser la même texture en 2D et en 3D entraînera un affichage incorrect des couleurs de la texture en 2D ou en 3D.

Pour contourner ce problème, faîtes une copie de la texture sur le système de fichiers et activez le sRGB sur une seule des copies. Utilisez la copie avec le sRGB activé en 3D, et la copie avec le sRGB désactivé en 2D.

Processus

Certains processus spéciaux peuvent être appliqués aux images qui sont importées sous forme de textures.

Corriger la bordure alpha

Les pixels de la même couleur environnante passent de la transparence à la non-transparence. Cela aide à atténuer l'effet de contour lors de l'exportation d'images à partir de Photoshop et autres.

../../_images/fixedborder.png

C'est une bonne idée de le laisser par défaut, sauf si des valeurs spécifiques sont nécessaires.

Alpha prémultiplié

Une alternative pour la correction des frontières sombres consiste à utiliser l’alpha prémultiplié. En activant cette option, la texture sera convertie dans ce format. N'oubliez pas qu'il faudra créer un matériau utilisant le mode de mélange PREMULT ALPHA sur les éléments de canevas qui en ont besoin.

HDR comme sRGB

Quelques fichiers HDR sont cassés et contiennent des données de couleur sRGB. Il est conseillé de ne pas les utiliser, mais, dans le pire des cas, activer cette option les fera paraître corrects.

Inverser la couleur

Inverse la couleur de l'image. Ceci est utile, par exemple, pour convertir une carte de hauteur générée par des programmes externes en carte de profondeur à utiliser avec Spatial Material.

Svg

Mode mise à l'échelle

Cette option ne s'applique qu'aux fichiers SVG. Elle permet de contrôler l'échelle de l'image SVG. L'échelle par défaut (1.0) fera en sorte que le SVG importé corresponde à l'échelle de conception originale.