Créer le Poly bas
Le stade à faible polarisation définit l'équilibre entre le nombre de polygones, l'ombrage, les fractionnements UV, les exigences d'animation et les performances d'exécution. Le but n'est pas simplement de s'adapter à une limite de triangle, mais de distribuer logiquement la géométrie.
Une bonne maille en temps réel dépense la géométrie sur la silhouette, les formes fonctionnelles, les zones d'interaction rapprochées, les parties mobiles et les zones qui affectent l'ombrage. Les détails plats, cachés, répétitifs ou comestibles ne devraient pas consommer le même budget.
La phase de faible polarisation est l'une des premières étapes majeures de l'optimisation du pipeline de production d'assets. C'est là que nous définissons l'équilibre entre le nombre de polygones, l'ombrage propre, les fractionnements UV, les exigences de déformation et les performances d'exécution.
Un principe que j'ai constamment observé dans la production de jeux est que la création d'un asset faible en polypole ne consiste pas seulement à s'inscrire dans une limite technique. La tâche la plus importante est de distribuer la topologie de manière optimisée et logique.
Une bonne maille basse-poly dépense la géométrie où elle compte en fait : sur la silhouette, les formes fonctionnelles, les zones d'interaction rapprochées, les parties mobiles et les zones qui affectent l'ombrage. En même temps, il évite de gaspiller des polygones sur des surfaces planes, des zones cachées, des détails répétitifs qui peuvent être cuits, ou des pièces qui seront rarement vues par le joueur.
Avant de discuter de l'optimisation de la topologie, il est important de comprendre pourquoi nous ne pouvons pas simplement utiliser la géométrie à haute densité, la sortie CAO ou des assets cinématographiques directement dans un projet VR en temps réel.
Pourquoi Triangle Compte n'est qu'une partie de l'histoire
Les triangles visibles ne représentent qu'une partie du coût réel. Les coutures UV, les scissions dures-normales, les limites des matériaux, les couleurs vertex et les données de peau peuvent dupliquer les sommets et augmenter les données traitées par le GPU. La même maille peut également participer aux ombres, aux réflexions, à la profondeur et aux passages de vecteur de mouvement.
Le nombre de triangles est utilisé comme mesure de performance familière depuis les premiers jours des accélérateurs 3D consommateurs. Pour les artistes, il reste un moyen pratique d'estimer et de communiquer la complexité géométrique. Cependant, du point de vue technique, le coût de rendu ne commence pas par des triangles, mais par des sommets.
Un maillage en temps réel n'est pas seulement une collection de polygones visibles. Il contient plusieurs types de données vertex:
- Position du vertex
- Vertex normal
- Coordonnées UV
- Données Tangent et Bitagent
- Couleur vertex
- Poids des os
- Attributions matérielles
- Fendaisons UV et fractions dures-normales
Cela signifie que le nombre de triangles visibles et la quantité réelle de données de vertex traitées ne sont pas toujours la même chose. Les coutures UV, les bords durs, les fractionnements de matériaux et les données de peau peuvent tous augmenter le nombre final de vertex traité par le GPU.
Au moment de l'exécution, les données de maillage sont chargées, envoyées dans des tampons GPU, transformées, ombragées, rastérisées et utilisées dans plusieurs passes de rendu. Selon la scène, la même géométrie peut aussi contribuer aux ombres, aux réflexions, aux passages de profondeur, aux vecteurs de mouvement ou à d'autres systèmes de rendu.

Référence du pipeline graphique parJeunedo Lee· Source:Référence du pipeline
Le coût devient encore plus complexe lorsqu'il s'agit de lumières dynamiques, de matériaux transparents, de réflexions et de post-traitement. La performance n'est pas toujours linéaire. Une scène peut sembler stable avec des millions de polygones, mais après avoir ajouté un autre asset, une source de lumière de plus, ou un matériau plus cher, le taux d'images peut soudainement devenir instable.

Un cube ne contient que 8 points d'angle géométriques, mais un cube classique prêt à jouer avec les normales du visage dur nécessite 24 sommets GPU - quatre sommets séparés pour chacun de ses six visages. Après triangulation, il contient 12 triangles référencés par 36 indices.
Planification du budget d'optimisation
Les budgets de géométrie doivent commencer par la plate-forme cible, le taux d'image, la mémoire, le cadre du pire cas, l'éclairage, VFX, et l'importance de l'écran de l'asset. Pour l'Direct Action, la cible moyenne d'armes est d'environ 10 000 à 40 000 triangles, passant à 60 000 à 80 000 pour des biens exceptionnellement complexes.
Une stratégie d'optimisation appropriée commence par la compréhension du matériel cible.
Avant de définir le budget faible, l'équipe doit comprendre :
- Plateforme cible
- Taux cible
- Budget de mémoire
- cadre attendu le plus cher
- Nombre d'armes, de personnages, d'accessoires, de véhicules, de VFX et de biens environnementaux visibles
- L'éclairage et la complexité de l'ombre
- Frais de post-traitement
- Importance de l'asset à l'écran
Ce n'est qu'après cela que l'équipe pourra définir des limites réalistes pour chaque catégorie d'assets.
Pour l'Direct Action, nous avons défini le budget moyen des armes à environ 10 000 à 40 000 triangles par arme. Pour les biens exceptionnellement complexes, comme les mitrailleuses ou les systèmes très détaillés avec de nombreuses pièces mécaniques visibles, le budget peut atteindre 60 000 à 80 000 triangles.
Il s'agit d'un budget de géométrie relativement élevé, plus proche de ce qui est souvent vu dans les productions AAA écran plat. Dans notre cas, cette décision était motivée par le niveau de détail de gros plan que nous voulions que les joueurs vivent en VR.
Cependant, un budget polygonal plus élevé ne fonctionne que si l'asset est structuré correctement.
Meshes statiques contre géométrie squelettique
Les pièces d'armes rigides n'ont pas automatiquement besoin de peau. Les composants statiques évitent les déformations pervertex inutiles, tandis que les mailles squelettiques doivent être réservées aux pièces qui ont réellement besoin d'animation complexe. Le compromis est la gestion des composantes et les frais généraux éventuels de tirage.
L'une des stratégies clés d'optimisation est d'utiliser des mailles statiques chaque fois que possible, au lieu de forcer l'arme entière dans une maille entièrement dépouillée.
Pour les pièces non déformées, les mailles statiques sont souvent plus efficaces. Un maillage statique peut utiliser une matrice de transformation unique pour tous ses sommets, tandis qu'un maillage dépouillé nécessite des calculs pervertex supplémentaires pour l'influence osseuse, la déformation et l'animation.
Cela signifie que les pièces d'armes rigides n'ont pas toujours besoin d'être dépouillées. Dans de nombreux cas, il est préférable de les garder en tant que composants statiques séparés et de réserver les mailles squelettiques uniquement pour les éléments qui nécessitent une animation complexe.
Par exemple:
- Des pièces rigides simples peuvent rester statiques
- Les groupes mécaniques mobiles peuvent être fixés séparément
- Seules les parties sensibles à la déformation ou à l'animation doivent utiliser des données squelettiques
- Les aides à l'animation cachées ou internes peuvent utiliser une géométrie très peu détaillée
Cette approche permet de réduire le coût du shader vertex inutile et évite de surcharger à la fois CPU et GPU avec des calculs dynamiques où ils ne sont pas nécessaires.
Toutefois, cette méthode introduit également des compromis. Un plus grand nombre de composants de maillage statique peut rendre l'asset plus difficile à gérer, à animer et à assembler. Il peut également augmenter les appels de tirage s'il n'est pas traité avec soin. Par conséquent, l'objectif n'est pas de diviser tout en autant de pièces que possible, mais de trouver un équilibre pratique entre la flexibilité de l'animation, le coût de rendu et la maniabilité de la production.
Direction normale et ombrage amiable
Une direction normale constante rend les détails cuits et met en évidence plus stable à mesure que la géométrie est réduite. Une bonne gestion normale préserve les grandes formes, améliore les transitions LOD et empêche les réflexions stéréo bruyantes lorsqu'un joueur VR tourne l'arme.
Un autre élément important de la préparation à faible polarisation est le contrôle de la direction normale pour la génération agressive de DL.
En attribuant des directions normales cohérentes ou unifiées à des groupes de polygones sélectionnés, nous pouvons rendre l'asset plus convivial aux normal maps tangente-espace et aux futures DL. Cela permet de préserver une ombrage stable lorsque la géométrie est réduite.
Dans la pratique, cela signifie que l'artiste devrait penser à l'ombrage non seulement pour le maillage final, mais aussi pour la dégradation de l'asset à distance ou sous des contraintes de performance.
La direction normale propre peut aider:
- Réduire l'ombrage visible des artefacts
- Faire des détails cuits plus stables
- Améliorer les transitions LOD
- Préserver la lecture visuelle de grandes formes
- Évitez les points forts bruyants sur la géométrie simplifiée
- Rendre l'asset plus facile à optimiser plus tard
Pour l'art des armes, c'est particulièrement important parce que les réflexions et les faits saillants sont perçus en stéréo et en mouvement. Une mauvaise gestion normale peut rendre une surface instable, cassée ou visuellement bruyante lorsque le joueur tourne l'objet dans ses mains.
Principe de production
Un asset faible en polypole ne devrait pas ressembler à une copie simplifiée du modèle en polypole élevé. Cela devrait ressembler à une représentation en temps réel soigneusement conçue.
La phase de faible polarisation n'est pas simplement une réduction des triangles. Il s'agit de construire une version en temps réel de l'asset qui conserve l'intention artistique, préserve la silhouette, supporte l'animation, travaille avec la texture au four, et reste stable sous les contraintes de performance.