• Jeux
  • Industrie
  • Ressources
  • Communauté
  • Apprentissage
  • Assistance
Développement
Moteur Unity
Créez des jeux 2D et 3D pour n'importe quelle plateforme
TéléchargerOffres et tarifs
Monétisation
Achat intégré (IAP)
Découvrez et gérez les IAP à travers les magasins
Mediation
Maximisez les revenus et optimisez la monétisation
Qualité des annonces
Protégez l'expérience utilisateur de votre application
Tapjoy
Construisez une fidélité utilisateur à long terme
Tous les produits de monétisation
Acquisition de nouveaux joueurs
Acquisition de nouveaux joueurs
Faites-vous découvrir et acquérez des utilisateurs mobiles
Unity Vector AI
Connectez les joueurs avec les bons jeux
Aura publicité sur appareil
Atteignez les utilisateurs sur l'appareil au moment de l'engagement maximal
Tous les produits de croissance
Cas d’utilisation
Collaboration 3D
Construisez et révisez des projets 3D en temps réel
Formation immersive
Entraînez-vous dans des environnements immersifs
Expériences client
Créez des expériences interactives 3D
Toutes les solutions sectorielles
Secteurs
Fabrication
Atteindre l'excellence opérationnelle
Distribution
Transformer les expériences en magasin en expériences en ligne
Automobile
Élever l'innovation et les expériences en voiture
Tous les secteurs
Bibliothèque technique
Documentation
Manuels d'utilisation officiels et références API
Outils de développement
Versions de publication et suivi des problèmes
Feuille de route
Examiner les fonctionnalités à venir
Glossaire
Bibliothèque de termes techniques
Informations
Études de cas
Histoires de succès dans le monde réel
Guides des meilleures pratiques
Conseils et astuces d'experts
Toutes les ressources
Nouveautés
Blog
Mises à jour, informations et conseils techniques
Actualités
Actualités, histoires et centre de presse
Centre communautaire
Discussions
Discuter, résoudre des problèmes et se connecter
Événements
Événements mondiaux et locaux
Histoires de la communauté
Made with Unity
Mise en avant des créateurs Unity
Diffusions en direct
Rejoignez les développeurs, créateurs et initiés
Unity Awards
Célébration des créateurs Unity dans le monde entier
Pour tous les niveaux
Unity Learn
Maîtrisez les compétences Unity gratuitement
Formation professionnelle
Améliorez votre équipe avec des formateurs Unity
Vous découvrez Unity ?
Démarrer
Démarrez votre apprentissage
Parcours essentiels Unity
Vous découvrez Unity ? Commencez votre parcours
Guides pratiques
Conseils pratiques et meilleures pratiques
Formation
Pour les étudiants
Démarrez votre carrière
Pour les enseignants
Boostez votre enseignement
Licence d'enseignement subventionnée
Apportez la puissance de Unity à votre institution
Certifications
Prouvez votre maîtrise de Unity
Options d'assistance
Obtenir de l'aide
Vous aider à réussir avec Unity
Plans de succès
Atteignez vos objectifs plus rapidement avec un support expert
FAQ
Réponses aux questions courantes
Contactez-nous.
Connectez-vous avec notre équipe
Offres et tarifs
Langue
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Réseaux sociaux
Devise
Acheter
  • Produits
  • Unity Ads
  • Abonnement
  • Asset Store Unity
  • Revendeurs
Formation
  • Participants
  • Formateurs
  • Établissements
  • Certification
  • Formation
  • Programme de développement des compétences
Télécharger
  • Hub Unity
  • Télécharger des archives
  • Programme version Bêta
Unity Labs
  • Laboratoires
  • Publications
Ressources
  • Plateforme d'apprentissage
  • Communauté
  • Documentation
  • Unity QA
  • FAQ
  • État des services
  • Études de cas
  • Made with Unity
Unity
  • Notre entreprise
  • Newsletter
  • Blog
  • Événements
  • Carrières
  • Aide
  • Presse
  • Partenaires
  • Investisseurs
  • Affiliés
  • Sécurité
  • Impact sociétal
  • Inclusion et diversité
  • Contactez-nous.
Copyright © 2025 Unity Technologies
  • Mentions légales
  • Politique de confidentialité
  • Cookies
  • Ne vendez ou ne partagez pas mes informations personnelles

« Unity », ses logos et autres marques sont des marques commerciales ou des marques commerciales déposées de Unity Technologies ou de ses filiales aux États-Unis et dans d'autres pays (pour en savoir plus, cliquez ici). Les autres noms ou marques cités sont des marques commerciales de leurs propriétaires respectifs.

Hero background image

Conseils d'optimisation mobile pour les artistes techniques - Partie I

Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.
Cliquez ici.

Ce que vous obtiendrez de cette page : Conseils pour optimiser les ressources artistiques, pour les développeurs de jeux mobiles travaillant avec Unity. C'est le premier de deux articles sur l'optimisation de l'art pour les jeux mobiles.

Vous pouvez trouver de nombreux autres conseils d'optimisation mobile dans ce livre électronique complet et ce cours Unity Learn sur l'optimisation de l'art 3D pour les applications mobiles.

  • Concentrez-vous sur la silhouette
  • Utilisez le Niveau de Détail (LOD)
  • Combinez les maillages et cachez les objets
  • Importation de modèles
  • Tailles de texture et espace colorimétrique
  • Cuisez les détails dans la texture
  • Textures en niveaux de gris teintées
  • Filtrage des textures
  • Tailles de texture et espace colorimétrique
  • Compressez les textures
  • Utilisez les canaux de texture pour regrouper plusieurs textures en une seule
  • Dépliage UV
Rendu 3D d'un personnage robot

Concentrez-vous sur la silhouette

Les polygones et les sommets sont coûteux en calcul sur les plateformes mobiles. Placez les polygones dans des zones qui contribuent réellement à la qualité visuelle de l'application, afin de ne pas gaspiller votre budget de traitement.

En raison de la petite taille de l'écran sur la plupart des appareils mobiles et de l'emplacement des objets 3D dans votre application, de nombreux petits détails triangulaires sur un objet 3D peuvent ne pas être visibles. Cela signifie que vous devez vous concentrer sur les grandes formes et les parties qui contribuent à la silhouette de l'objet, plutôt que sur les petits détails qui pourraient ne pas être visibles. Utilisez des textures et des cartes normales pour les détails fins.

Exemples de LOD

Utilisez le Niveau de Détail (LOD)

À mesure que les objets s'éloignent, Niveau de Détail (LOD) peut les ajuster ou les changer pour utiliser des maillages plus simples avec des matériaux et des shaders plus simples afin d'affiner les performances du GPU.

Plus de conseils de préparation LOD

  • Supprimez plus de polygones sur les zones plus plates, et n'utilisez pas de zones denses de triangles sur des objets avec un LOD inférieur.
  • Le LOD peut également s'appliquer à la complexité des shaders. Le shader et le matériau peuvent être optimisés pour les objets 3D qui sont plus éloignés. Par exemple, vous pouvez réduire le nombre de textures qu'un objet utilise à mesure qu'il s'éloigne de la caméra.
  • Il vaut souvent la peine de réduire le nombre de triangles entre chaque niveau de LOD de 50 %.
  • Vérifiez à quoi ressemble le LOD à différentes distances de la caméra.
  • Une topologie propre est essentielle pour les personnages et les objets qui se déforment ou sont animés.
  • Ne vous obsédez pas à avoir une topologie parfaite. Le joueur ou l'utilisateur final ne verra pas le filaire d'un modèle 3D une fois que vous avez appliqué une texture et un matériau.

Quand ne pas utiliser LOD

Le LOD n'est pas adapté dans toutes les situations. Par exemple, évitez de l'utiliser dans une application où à la fois la vue de la caméra et les objets sont statiques, ou où l'objet utilise déjà un faible nombre de polygones. Le LOD entraîne une surcharge mémoire et une taille de fichier plus grande car les données de maillage doivent être enregistrées pour pouvoir être utilisées en temps réel.

Occlusion dans Unity

Combinez les maillages et cachez les objets

Vous pouvez combiner plusieurs maillages en un seul pour réduire le nombre d'appels de dessin nécessaires pour le rendu. Pour appliquer cette technique, créez un GameObject vide dans la Hiérarchie et faites-en le parent des maillages que vous souhaitez combiner, puis attachez un script implémentant la méthode Mesh.CombineMeshes() au GameObject parent.

Utilisez le culling d'occlusion

Les objets cachés derrière d'autres objets peuvent encore être rendus et coûter des ressources. Utilisez le culling d'occlusion pour les écarter.

Alors que le culling de frustum en dehors de la vue de la caméra est automatique, le culling d'occlusion est un processus préalablement calculé. Il suffit de marquer vos objets comme Static Occluders ou Static Occludees, puis de cuire à travers le dialogue Window > Rendering > Occlusion Culling . Bien que ce ne soit pas nécessaire pour chaque scène, le culling peut améliorer les performances dans de nombreux cas. Consultez le tutoriel Working with Occlusion Culling pour plus d'informations.

Importer des modèles dans Unity

Importation de modèles

Voici quelques bons conseils à garder à l'esprit lorsque vous importez vos modèles.

  • Type d'animation: Lors de l'importation d'un maillage FBX qui ne contient aucune donnée d'animation, définissez le type d'animation sur Aucun dans l'onglet Rig des paramètres d'importation. Lorsque vous placez votre maillage dans la hiérarchie, ce paramètre garantira qu'Unity ne génère pas de composant Animator inutilisé.
  • Désactiver les rigs et BlendShapes: Si votre maillage n'a pas besoin d'animation squelettique ou de blendshape, désactivez ces options autant que possible.
  • Désactiver les normales et tangentes: Si vous êtes absolument certain que le matériau du maillage n'aura pas besoin de normales ou de tangentes, décochez ces options pour des économies supplémentaires.
  • Paramètres d'importation: Si votre modèle n'est pas modifié à l'exécution, désactivez l'option Read/Write Enabled dans l'onglet Modèle des paramètres d'importation pour éviter qu'une copie ne soit créée en mémoire.
  • Static/Dynamic Batching: Le Batching statique est une technique d'optimisation courante qui réduit le nombre d'appels de dessin. C'est idéal pour les objets composés d'un grand nombre de sommets qui ne bougent pas, ne tournent pas ou ne changent pas d'échelle pendant le rendu. Cochez Statique dans l'Inspecteur contenant le Mesh Renderer de votre modèle cible.
Comparaison de la compression des textures

Tailles de texture et espace colorimétrique

Les textures peuvent avoir des tailles différentes. Réduire la taille des textures qui nécessitent moins de détails aidera à réduire la bande passante. Par exemple, une texture diffuse peut être réglée sur 1024 x 1024, et la carte de rugosité/métallique associée peut être réglée sur 512 x 512. Faites de votre mieux pour réduire sélectivement la taille de la texture, et vérifiez toujours si des visuels ont été dégradés par la suite.

La plupart des logiciels de texturisation fonctionnent avec et exportent des textures en utilisant l'espace colorimétrique sRGB.

Nous recommandons d'utiliser des textures diffuses dans l'espace colorimétrique sRGB. Les textures qui ne sont pas traitées comme des couleurs ne doivent pas être dans l'espace colorimétrique sRGB. Des exemples de ces textures incluent les cartes métalliques, de rugosité et normales, car les cartes sont utilisées comme données plutôt que comme couleur. Utiliser sRGB dans ces cartes entraînera un visuel incorrect sur le matériau.

Remarque : Assurez-vous que le paramètre sRGB (texture couleur) dans la fenêtre de l'Inspecteur n'a pas de cases à cocher à côté des cartes de rugosité, spéculaire, normales ou d'éléments similaires.

Détails de texture sur les bardeaux de toit

Cuisez les détails dans la texture

Des éléments tels que l'occlusion ambiante et les petits reflets spéculaires peuvent être intégrés puis ajoutés à la texture diffuse. Cette approche signifie que vous n'avez pas à trop compter sur des shaders coûteux en calcul et des fonctionnalités Unity pour obtenir des reflets spéculaires et l'occlusion ambiante.

Démonstration de texture en niveaux de gris teintée

Textures en niveaux de gris teintées

Chaque fois que possible, utilisez des textures en niveaux de gris qui permettent le teintage de couleur dans le shader. Cela permet d'économiser de la mémoire de texture au prix de la création d'un shader personnalisé pour effectuer le teintage. Soyez sélectif avec cette technique, car tous les objets n'ont pas un bon aspect avec cette méthode. Il est plus facile d'appliquer cela à un objet qui a une couleur uniforme.

Filtrage de texture bilinéaire et trilineaire comparaison

Filtrage des textures

Le filtrage de texture améliore souvent la qualité de la texture dans une scène, mais cela peut également dégrader les performances car obtenir une meilleure qualité de texture nécessite souvent plus de traitement. Le filtrage de texture peut parfois représenter jusqu'à la moitié de la consommation d'énergie du GPU. Choisir des filtres de texture plus simples et plus appropriés peut aider à réduire les demandes énergétiques d'une application.

  • Filtrage le plus proche/Point: C'est la forme de filtrage de texture la plus simple et la moins intensive en calcul, bien que lorsqu'elle est vue de près, ce filtrage puisse donner un aspect pixelisé aux textures.
  • Filtrage bilinéaire: Le filtrage bilinéaire échantillonne et moyenne les texels voisins pour colorer les pixels dans une texture. Contrairement au filtrage le plus proche, le filtrage bilinéaire donne des pixels moins pixelisés, car les pixels ont un dégradé lisse. Un effet secondaire du filtrage bilinéaire est que les textures apparaîtront floues lorsqu'elles sont vues de près.
Sprite Atlas sur l'éditeur Unity

Tailles de texture et espace colorimétrique

La plupart de votre mémoire ira probablement aux textures, donc les paramètres d'importation ici sont critiques. En général, essayez de suivre ces directives lors de l'importation de vos actifs.

  • Réduisez la taille maximale : Utilisez les paramètres minimaux qui produisent des résultats visuellement acceptables. C'est non destructif et peut rapidement réduire votre mémoire de texture.
  • Utilisez des puissances de deux (POT) : Unity nécessite des dimensions de texture POT pour les formats de compression de texture mobile (PVRCT ou ETC).
  • Atlas vos textures : Placer plusieurs textures dans une seule texture peut réduire les appels de dessin et accélérer le rendu. Utilisez le Unity Sprite Atlas ou le TexturePacker tiers pour atlas vos textures.
  • Désactiver l'option Lecture/Écriture activée : Lorsqu'elle est activée, cette option crée une copie dans la mémoire accessible par le CPU et le GPU, doublant l'empreinte mémoire de la texture. Dans la plupart des cas, gardez cela désactivé. Si vous générez des textures à l'exécution, appliquez cela via Texture2D. Appliquez, en passant makeNoLongerReadable défini sur true.
  • Désactiver les mipmaps inutiles : Les mipmaps ne sont pas nécessaires pour les textures qui restent à une taille constante à l'écran, comme les sprites 2D et les graphiques UI. Laissez les mipmaps activées pour les modèles 3D avec une distance variable par rapport à la caméra.
  • Utilisez le filtrage bilinéaire : Cela aidera à trouver un équilibre entre performance et qualité visuelle.
  • Utilisez le filtrage trilineaire de manière sélective : Il nécessite plus de bande passante mémoire que le filtrage bilinéaire.
  • Utilisez le filtrage bilinéaire et le filtrage anisotrope 2x : Choisissez ceux-ci au lieu du filtrage trilineaire et du filtrage anisotrope 1x, pour améliorer à la fois l'apparence et la performance.
  • Gardez le niveau anisotrope bas : N'utilisez un niveau supérieur à 2 que pour les actifs de jeu critiques.
Comparaison de textures compressées

Compressez les textures

Utilisez la compression de texture évolutive adaptative (ATSC) pour iOS et Android. La grande majorité des jeux en développement ont tendance à cibler des appareils min-spec qui prennent en charge la compression ATSC. Les seules exceptions sont :

  • les jeux iOS ciblant les appareils A7 ou inférieurs (par exemple, iPhone 5, 5S, etc.) : Utilisez PVRTC
  • les jeux Android ciblant des appareils antérieurs à 2016 : Utilisez la compression de texture Ericsson (ETC2)
Canaux de texture

Utilisez les canaux de texture pour regrouper plusieurs textures en une seule

Le regroupement des canaux de texture aide à économiser la mémoire de texture car vous pouvez obtenir trois cartes dans une seule texture. Cela signifie moins d'échantillonneurs de texture. Cette approche est couramment utilisée pour regrouper la rugosité, la douceur et/ou le métal dans une seule texture. Elle peut également être appliquée à tout masque de texture. Par exemple, vous pouvez également stocker le masque alpha. Les images avec transparences peuvent avoir une empreinte mémoire plus grande car elles nécessitent un format 32 bits, mais en utilisant le canal libre pour stocker le masque alpha, vous pouvez garder la texture diffuse à 16 bits et réduire efficacement la taille du fichier de moitié.

Utilisez le canal vert pour stocker le masque le plus important. Le canal vert a généralement plus de bits car nos yeux sont plus sensibles au vert et moins sensibles au bleu.

UV manuelle dans Probuilder

Dépliage UV

Une carte UV projette des textures 2D sur la surface d'un modèle 3D. Le dépliage UV est le processus de création d'une carte UV.

  • Il est préférable de garder les îles UV, les unités individuelles d'une texture dépliée, aussi droites que possible afin de faciliter le regroupement des îles UV et de réduire l'espace gaspillé. Un UV droit aide également à prévenir l'effet d'escalier sur les Textures.
  • Sur les plateformes mobiles, l'espace de Texture est limité. En tant que tel, la taille de la Texture est généralement plus petite que sur une console ou un PC. Un bon emballage UV garantit que vous obtenez la meilleure résolution de vos Textures.
  • Envisagez d'avoir un UV légèrement déformé en gardant l'UV droit pour des Textures de meilleure qualité.
  • Dans certains cas, vous devrez exagérer et mettre en évidence les bords et l'ombrage pour améliorer la lisibilité de la forme. Puisque les plateformes mobiles utilisent généralement des Textures plus petites, il peut être difficile de capturer tous les détails nécessaires dans cet espace réduit.
  • Pour les applications mobiles, utilisez moins de Textures et intégrez tous les détails supplémentaires dans une seule Texture. C'est important car certains détails sont mieux intégrés dans la Texture diffuse elle-même pour s'assurer que ces détails sont visibles sur les petits écrans mobiles.