Tous les articles
Tutoriels · 7 min read

La densité de texels bien faite : un standard, imposé à toute une équipe

Ce qu'est la densité de texels, les valeurs en pixels par centimètre qu'utilisent réellement les jeux publiés, comment la mesurer avec une texture de damier, quand enfreindre la règle pour les assets héros, et comment imposer un standard pour que l'environnement d'une équipe se lise comme un seul monde.

Close-up of a red brick wall with pale mortar joints

La densité de texels, c'est le nombre de pixels de texture qui couvrent une unité réelle de surface, et la garder cohérente fait la différence entre un environnement qui se lit comme un monde unique et cohérent et un qui ressemble à des assets de cinq jeux différents collés ensemble. Cet article la définit clairement, donne les valeurs en pixels par mètre qu'utilisent vraiment les jeux publiés, montre comment la mesurer avec une texture de damier, explique les rares endroits où l'on devrait enfreindre la règle, et expose comment imposer un standard unique à une équipe sans surveiller chaque UV à la main.

Un mur de briques, chaque unité de même taille, la même densité de détail Un mur de briques est une leçon de densité de texels en pierre : chaque brique porte la même quantité de détail par centimètre. Quand un asset de ta scène a le double de la densité de texels de son voisin, les joueurs ressentent l'anomalie même s'ils ne peuvent pas la nommer.

Ce qu'est vraiment la densité de texels

La densité de texels, c'est la résolution de texture par unité de surface : habituellement des pixels par mètre ou par centimètre. Une texture de 1024 pixels sur un mur de 4 mètres fait 256 px/m ; la même texture sur un mur de 2 mètres fait 512 px/m, deux fois plus nette.

Un « texel » est un pixel de texture. La densité de texels mesure combien d'entre eux atterrissent sur une quantité donnée de surface dans le monde. C'est le pont entre ta résolution de texture (une propriété d'image) et l'échelle de ton modèle (une propriété du monde), et parce qu'elle dépend des deux, deux assets aux textures 2K identiques peuvent paraître radicalement différents si l'un est mappé sur une surface deux fois plus grande que l'autre. C'est cette discordance que ton œil attrape : une porte nette à côté d'un mur flou, ou une caisse tranchante contre un sol mou. La cohérence, pas la résolution maximale, vend un look unifié.

Les valeurs qu'utilisent les jeux publiés

Un standard courant est 512 px/m (≈5,12 px/cm) pour les surfaces d'environnement générales, descendant à 256 pour le grand terrain lointain et montant à 1024+ pour les props héros dont la caméra s'approche. Choisis ta base d'après le plus près où le joueur arrive.

Il n'y a pas de nombre universel (il est fixé par ta plateforme cible, la distance de caméra et le budget mémoire) mais les plages de travail sont bien établies :

  • Grand terrain / architecture lointaine : ~256 px/m : le joueur ne s'approche jamais, donc le détail là-bas est de la mémoire gaspillée
  • Environnement jouable général (murs, sols, props moyens) : ~512 px/m est une base courante et confortable
  • Assets héros vers lesquels la caméra pousse (un prop clé, un détail à hauteur de visage) : 1024 px/m ou plus
  • Mains / armes en première personne : la plus haute de toutes, parce qu'elles sont toujours à quelques centimètres de la caméra

Le principe derrière les nombres : la densité de texels devrait proportionner à quel point le joueur s'approche. Fixe ta base d'après ta distance de caméra courante la plus serrée, puis descends d'un cran pour les choses toujours lointaines. Un studio choisit un nombre de base, l'écrit dans l'art bible, et y tient chaque asset général.

Comment la mesurer

Applique une texture de damier avec une valeur pixels-par-carré connue à ton modèle à son échelle finale. Si les carrés semblent de même taille sur chaque asset d'une scène, ta densité de texels est cohérente : des tailles de carrés discordantes révèlent le problème instantanément.

La texture de damier (ou « grille UV ») est l'outil le plus utile ici. C'est un motif carrelé de carrés colorés ; quand tu l'assignes à tes assets à l'échelle mondiale finale, chaque carré représente un nombre fixe de texels. Une densité cohérente signifie que les carrés ont la même taille physique sur chaque surface. Un mur dont les carrés sont deux fois plus grands que ceux du sol est sous-texturé par rapport au sol : maintenant tu peux voir la discordance de densité au lieu de deviner. La plupart des outils DCC et moteurs ont un vérificateur de densité de texels ou un script qui rapporte les px/m directement ; dans tous les cas, la texture de damier est le contrôle visuel rapide au feeling que chaque artiste devrait garder à une touche de distance.

Le squelette exposé en béton et acier d'un bâtiment en construction La construction réelle tient chaque élément à des tolérances partagées pour que les pièces s'emboîtent. Un standard de densité de texels est la même idée pour les surfaces : une spéc partagée qui fait lire des assets construits indépendamment comme une seule structure.

Quand enfreindre la règle

Augmente la densité sur les assets héros où la caméra s'attarde, et baisse-la sur les choses toujours lointaines ou minuscules à l'écran. Une densité uniforme partout gaspille de la mémoire sur le lointain et affame le proche : cohérence veut dire cohérente POUR SA DISTANCE DE CAMÉRA, pas identique partout.

« Densité de texels cohérente » ne veut pas dire un nombre pour tout le jeu : ça veut dire une densité délibérée appropriée au rôle de chaque asset, sans discordances accidentelles entre voisins. La statue héros vers laquelle le joueur marche mérite 1024+ ; la silhouette de montagne à deux kilomètres va bien à 128. L'art est que les descentes soient intentionnelles et documentées, pas le résultat aléatoire de qui a modélisé quoi. Un modèle mental utile : budgétise ta mémoire de texture comme tu budgétises les polygones, dépense-la où la caméra passe son temps, et affame les endroits qu'elle ne visite jamais.

L'imposer à une équipe

Un standard que personne ne peut vérifier est un standard que personne ne suit. Rends-le imposable (une texture de damier partagée, un script de rapport de densité dans l'étape d'import, et une spéc d'une ligne dans l'art bible) pour que les assets conformes soient le chemin de moindre résistance.

C'est ici que la densité de texels cesse d'être une compétence artisanale solo et devient un problème de pipeline. Dans une équipe, la densité dérivera au moment où elle dépend de chaque artiste se souvenant d'un nombre, parce que les gens modélisent à différentes échelles, importent avec différents réglages, et jugent à l'œil différemment. Ce qui tient la ligne, c'est l'outillage :

  • Une texture de damier partagée que tout le monde assigne de la même façon, pour que les discordances soient visibles à chaque revue.
  • Un contrôle de densité à l'import : un script qui rapporte les px/m et signale tout ce qui sort de la bande convenue avant que ça entre dans la library.
  • Une spéc d'une page : le nombre de base, les exceptions héros et terrain, et le workflow du damier, dans l'art bible que tout le monde lit le premier jour.

La cohérence est aussi un problème de trouvabilité : pour tenir des assets à un standard, il faut pouvoir tous les voir, les comparer et repérer l'intrus : c'est pourquoi un navigateur de contenu qui rend des vignettes cohérentes et te laisse trier une library énorme, comme celui de Numivo, rend discrètement la discipline de densité de texels plus facile : l'exception saute aux yeux d'un coup au lieu d'être découverte in-engine trois mois plus tard.

Chiffres de terrain à voler

  • Base d'environnement générale : ~512 px/m (≈5,12 px/cm)
  • Terrain lointain / architecture lointaine : ~256 px/m, plus près gaspille de la mémoire
  • Assets héros / caméra proche : 1024 px/m et plus
  • L'outil qui la rend visible : une texture de damier / grille UV à l'échelle finale
  • L'imposition qui tient : damier + rapport à l'import + spéc d'une page, pas la mémoire et le harcèlement

Mini-FAQ

Une densité de texels plus haute est toujours meilleure, non ? Non, elle coûte de la mémoire de texture et de la bande passante de streaming pour du détail que le joueur pourrait ne jamais voir de près. Au-delà de la résolution que la caméra peut résoudre à cette distance, les texels supplémentaires sont du pur gaspillage. Adapte la densité à la distance de caméra, pas à « aussi haut que possible ».

Le texturage par trim-sheet et tiling change-t-il ça ? Ça change comment tu atteins la cible, pas la cible elle-même. Les textures en tiling et les trim sheets sont souvent le moyen le plus facile de garder la densité cohérente sur de grandes surfaces, parce que le même sheet à la même échelle donne la même densité partout où il est utilisé.

Comment réparer une library déjà incohérente ? Mesure un échantillon représentatif avec le damier pour trouver l'écart, conviens d'une base, et répare de façon opportuniste : re-densifie les assets à mesure que les scènes les tirent, plutôt que de tenter une repasse héroïque de toute la library. Les assets qui comptent sont réparés en premier parce que ce sont ceux en usage.

Et le mobile ou la Switch ? Même concept, bases plus basses : tu pourrais faire tourner 256 px/m comme standard général au lieu de 512. La discipline est identique ; seuls les nombres bougent pour tenir dans le budget mémoire.

La densité de texels est un de ces fondamentaux sans glamour qui sépare les environnements d'aspect professionnel de ceux d'étudiant. Choisis une base, rends-la visible avec un damier, impose-la avec un contrôle à la porte, et tes assets construits indépendamment se liront enfin comme un seul monde crédible.