Dans le conseil rapide d’aujourd’hui, le nouvel auteur Ankash Kallyat discutera de l’optimisation des textures dans Unreal Development Kit et de quelques éléments clés à retenir lors de l’importation de textures dans UDK. Nous allons examiner quelques moyens d'économiser de la mémoire en extrayant des cartes spéculaires à partir de cartes diffuses, ainsi qu'en utilisant les paramètres de niveau de détail pour optimiser le jeu..
Tutoriel republiéToutes les quelques semaines, nous revoyons certains des articles préférés de nos lecteurs tout au long de l'histoire du site. Ce tutoriel a été publié pour la première fois en décembre 2011.
Avant de commencer, je voudrais énumérer les formats pris en charge par UDK. Les formats de texture suivants sont pris en charge:
Je préfère surtout TGA, car il est maintenant pris en charge par la plupart des progiciels. De plus, vous pouvez modifier l'alpha. Je sauvegarde souvent les textures au format TGA, mais parfois les fichiers TGA sont enregistrés au format 32 bits et parfois avec un alpha simple, alors qu’ils ne contiennent en réalité aucune information alpha.
Cela est très grave car UDK importe des fichiers TGA et essaie de les compresser avec son compresseur intégré appelé DXTC. Cependant, l'alpha n'est pas complètement compressé ou parfois pas du tout par Unreal Engine 3. Il est donc préférable de sauvegarder le fichier sans alpha si vous n'avez vraiment pas besoin d'informations alpha dans Unreal Engine. Assurez-vous également que le fichier est enregistré avec le format RGB / RGBA 8 bits par canal pour éviter les complications lors de l'importation..
Ici, je vais commencer avec une simple texture de feuillage (la feuille du palmier bananier.)
Cliquez pour agrandirNous avons tous tendance à enregistrer des fichiers dans trois formats différents, à savoir les cartes diffuse, spéculaire et normale. Bien qu'il ne soit pas nécessaire de toujours sauvegarder une carte spéculaire distincte, nous pouvons l'extraire de la carte diffuse..
Cliquez pour agrandirComme indiqué ci-dessus dans l'éditeur de matériau Unreal, j'ai extrait les informations Rouge et Vert de la carte Diffuse, puis je les ai multipliées. Je l'ai à nouveau multiplié par une valeur constante de 18 juste pour augmenter le résultat.
Vous pouvez l’ajuster en fonction de vos envies ou importer une carte spéculaire de 256 x 256 au lieu d’utiliser le paramètre constant. Vous pourrez voir la seconde valeur multipliée commencer à briller un peu (ce qui est exactement ce que nous voulions,) après cela, branchez simplement le résultat dans le noeud "Spéculaire".
Vous pouvez également connecter la valeur du paramètre constant au nœud "Puissance spéculaire", si vous souhaitez obtenir un résultat spéculaire agréable et brillant. Ca y est, nous venons de créer une carte spéculaire à partir d’une carte diffuse et nous avons donc économisé assez de mémoire pour en charger une de plus. 1024 res carte dans le moteur.
Chaque fois que nous essayons de charger ou de sauvegarder une texture, nous oublions généralement de vérifier la résolution de la texture. Vérifiez toujours la résolution de la carte car UDK importe uniquement des textures avec une résolution de 2 (x2.)
Par exemple: 256 x 256, 512 x 512, 1024 x 1024, 2048 x 2048, etc. Encore une fois, assurez-vous que le fichier est enregistré au format RVB / RGBA 8 bits par canal, pour éviter les complications lors de l'importation. Pour vérifier cela, ouvrez le fichier dans Photoshop et allez à Image -> Mode -> et là vous devriez voir 8 bits / canal choisi. Si ce n'est pas le cas, cliquez simplement dessus. Après avoir chargé la texture, assurez-vous que vous avez défini le biais LOD.
Comme indiqué dans les propriétés de texture ci-dessus, j'ai importé la texture de la feuille de bananier avec une résolution de 1024 x 1024, mais j'ai défini le biais LOD sur 1. Ce qui se passe ici, c’est que la résolution diminue d’un pas (x2) qui est de 512 x 512, de sorte que vous n’aurez pas à charger photoshop pour cela..
La raison pour laquelle j'ai défini le biais de charge sur 1 C'est parce que notre maille est simple feuillage et 1024 x 1024 va drainer beaucoup de mémoire. Vous trouverez ci-dessous la différence entre "avec biais LOD" et "sans biais LOD".
Dans UDK, allez à Affichage puis à la fenêtre du navigateur et sélectionnez Statistiques sur les textures pour afficher les statistiques des textures chargées dans votre scène..
Comme vous pouvez le voir dans l'image ci-dessus, les textures sont chargées dans une dimension de 1024 x 1024 sans jeu de biais de la LD. Les textures utilisent chacune environ 1366 Ko de mémoire..
Dans l’image ci-dessus, les textures sont chargées dans des dimensions de 1024 x 1024 mais avec le biais LOD défini sur 1. Chaque texture utilise environ 342 kb de mémoire.
CONCLUSION
Pour les objets pour lesquels vous avez besoin de détails élevés, vous n'avez pas à suivre le processus ci-dessus. Mais pour les objets statiques simples comme le feuillage, l'herbe, les feuilles et tout autre maillage statique de ce type, vous pouvez opter pour le processus ci-dessus. Cela économisera beaucoup de mémoire, optimisant ainsi le gameplay.