Aller au contenu
Services Réalisations À propos Blog Carrières Contactez-nous
Détails du PBR cuit pour un asset d'arme
Tous les articles
Partie 2 — Chapitre 7 sur 9
·11 min de lecture ·Pipeline

Pipeline de création d’armes AAA Baking des textures

Préparer des maillages à haute et à faible polarité, contrôler les cages et les équerres, et produire des cartes de texture stables pour les armes VR à portée rapprochée.

Par Khaliman Alexander

Baking des textures

La baking transfère des détails à haute polymérase aux cartes de texture utilisées par le maillage à faible polymérase. Un résultat propre dépend de la préparation : triangulation fixe, groupes de baking organisés, chevauchements contrôlés, cage validée et compréhension claire de ce qu'une carte normale peut et ne peut pas corriger.

La baking est le processus de transfert des détails de la géométrie haute-poly à un maillage bas-poly grâce à des cartes de texture spécialement codées. Ces cartes permettent à l'asset en temps réel de préserver la complexité visuelle du modèle à haut risque tout en restant dans un budget de performance pratique.

Avant d'envoyer au boulanger les mailles de haute et de basse-poly, plusieurs étapes de préparation sont importantes.

Préparation de l'asset pour la baking

Trianguler le bas-poly avant l'exportation, déplacer les coquilles miroirs à l'extérieur de la tuile principale 0–1 pendant la baking, et séparer les parties entres les noms _low et _high des groupes. Ceci empêche la triangulation mal assortie et la projection non désirée entre les parties.

Premièrement, le maillage à faible pollinisation doit être triangulé avant l'exportation. Si ce n'est pas fait manuellement, le boulanger ou le moteur de jeu triangule automatiquement le maillage, et le résultat peut ne pas correspondre à la triangulation du paquet DCC original. Même de petites différences de triangulation peuvent changer l'ombrage et produire des artefacts de baking visibles.

Deuxièmement, les UV miroirs ou qui se chevauchent doivent généralement être déplacés à l'extérieur de l'espace UV principal 0–1 pendant la baking. Une approche commune consiste à déplacer les coquilles miroirs vers la prochaine tuile UDIM. Cela permet d'éviter que l'occlusion ambiante, la projection de normal maps ou l'ombre asymétrique ne soient mal cuites sur les parties miroirs.

Troisièmement, des éléments identiques ou entrecroisants devraient être séparés en groupes de baking. Une méthode fiable consiste à utiliser des conventions de nommage cohérentes, comme :

partname_low
partname_high

Cela permet au boulanger de correspondre automatiquement à chaque élément à faible pollinisation avec sa source à haut pollinisation correspondante. Il empêche également la géométrie non liée de projeter sur la mauvaise surface. Pour les grands assets, ce processus de nommage peut être automatisé avec des scripts ou des outils de pipeline existants.

Une fois ces étapes terminées, l'asset peut être importé dans le logiciel de baking.

Outil de baking

Marmoset Toolbag est l'exemple principal de ce workflow parce qu'il combine itération rapide, prévisualisation de haute qualité, groupes de matériaux flexibles, contrôle de cage, et la peinture biaisée. Les biseaux contrôlés préservent des reflets stables sur les bords qui autrement alias en temps réel.

Pour ce workflow, Marmoset Toolbag est un bon exemple. Dans notre cas, c'est l'outil de baking primaire en raison de sa rapidité, de sa flexibilité, de sa qualité de prévisualisation et de ses caractéristiques de production.

Pour le modèle à haute polyvalence, nous préparons généralement plusieurs groupes de matériaux avec différents réglages de shader biseau. Ceux-ci peuvent aller du comportement de biseau très aiguisé, adapté pour le métal usiné, aux biseaux plus doux pour le plastique moulé, le caoutchouc, ou les pièces moulées.

Techniquement, une partie de cette configuration peut être faite avant d'exporter dans le logiciel de modélisation. Cependant, Toolbag permet de valider et d'ajuster l'apparence pendant la baking.

Si des données photométriques ou numérisées sont disponibles, elles peuvent également être appliquées à ce stade avec un petit shader biseau. Dans la vie réelle, certaines bordures peuvent être extrêmement pointues, mais les reproduire trop littéralement en temps réel peut causer un alias. Un biseau contrôlé aide à préserver un point fort crédible sans créer de pixels instables.

Cartes que nous faisons cuire

Le four central comprend généralement l'occlusion ambiante, les normales de l'espace tangente, l'ID de l'objet, la courbure, l'épaisseur, la position, les normales de l'espace mondial et parfois les normales courbées. Chaque carte supporte l'ombrage en temps réel ou la texturation procédurale.

L'ensemble final de cartes au four dépend du type d'asset, des exigences de shader et du flux de texte. Pour ce qui est des armes, les cartes les plus courantes sont les suivantes.

Occlusion ambiante

L'occlusion ambiante définit les zones où les surfaces reçoivent moins de lumière ambiante, généralement parce que la géométrie est fermée ensemble ou partiellement fermée.

Il est utile pour les détails de base, en mettant l'accent sur les petites zones de contact et en soutenant la texturation procédurale.

Carte normale de l'espace Tangent

La carte normale de l'espace tangent stocke la différence entre l'ombrage bas-poly et le détail de surface haut-poly.

C'est l'une des cartes les plus importantes du workflow. Il permet au modèle bas-poly de reproduire visuellement des biseaux, des coupes, des rainures, des vis, des détails estampillés et d'autres informations haut-poly sans porter cette géométrie en temps réel.

Pour les jeux, nous faisons généralement cuire dans la convention normale cible requise par le moteur, comme l'orientation DirectX utilisée par Unreal Engine 4 et 5.

ID de l'objet

La carte Object ID attribue des couleurs uniques à différents objets ou groupes de matériaux.

Ceci est extrêmement utile lors de la texturation car il permet un masque rapide, la séparation des matériaux, la sélection procédurale et la génération contrôlée de couches.

Courbure

La carte de courbure stocke des informations sur les transitions convexes et concaves à la surface.

Les zones convexes représentent généralement des bords exposés, tandis que les zones concaves représentent des pliages, des cavités ou des zones encastrées. Cette carte est largement utilisée pour l'usure des bords de procédure, l'accumulation de saleté, les rayures et le vieillissement des matériaux.

Épaisseur

La carte d'épaisseur représente les parties épaisses ou minces du maillage.

Il peut être utile pour les effets de subsurface, les masques, les générateurs de procédures et certains comportements matériels. Elle est plus courante pour les personnages, les objets organiques ou les matériaux spécifiques, mais elle peut encore être utile dans un pipeline de surface dure.

Fonction

La carte de position code les coordonnées absolues XYZ de la surface du modèle dans l'espace 3D.

Il est utile pour les générateurs et les filtres qui dépendent de l'information spatiale, comme les gradients de l'espace mondial, la saleté directionnelle, les masques verticaux ou les effets de flou de l'espace mondial.

Carte normale mondiale de l'espace

La carte normale de l'espace mondial stocke la direction de chaque surface exposée dans l'espace XYZ, représentée par des valeurs RGB.

Il est utile pour les générateurs, les masques directionnels, les effets basés sur l'éclairage et la logique de texturation procédurale.

Bent Carte normale

Une carte normale courbée est semblable en concept à une carte normale, mais elle stocke la direction moyenne non comprise de la lumière ambiante pour chaque point du modèle.

Ceci est particulièrement utile pour les véhicules et les grands équipements de surface dure où l'occlusion ambiante standard peut ne pas fournir suffisamment d'informations directionnelles. Il peut aider à simuler un ombrage ambiant plus précis dans certains workflows.

Contrôle de la cage, du skew et de la projection

La cage définit la projection de basse à haute. Les boulons, les rainures, les trous et les parties minces ont souvent besoin d'une correction locale. Les tâches de correction répétées peuvent être automatisées avec des masques à distance UV au lieu de peints manuellement.

Avant la baking finale, la cage doit être soigneusement vérifiée.

La cage contrôle la façon dont la surface basse-poly se projette vers le modèle haute-poly.

La correction du traversier est également importante, surtout autour des boulons, des rainures, des trous et des détails mécaniques fins. Dans le sac à outils Marmoset, la peinture biaisée peut être utilisée pour contrôler la direction de projection dans les zones problématiques.

Ce processus peut également être partiellement automatisé. Par exemple, des masques de correction offset ou biais peuvent être générés avec Python en fonction de la distance de la coque UV au lieu d'être peints manuellement. Cela ajoute une certaine complexité au pipeline, mais pour les cas de production répétés, il peut gagner du temps et améliorer la cohérence.

Bake Résolution et paramètres de qualité

Faire cuire deux fois la résolution de texture finale, puis descendre l'échantillon. Un point de départ fort est l'échantillonnage 32x, les normal maps 16 bits, les groupes séparés, une cage validée, l'écheveau vérifié et les parties mobiles explosées où les intersections contaminent l'OA.

Pour les bakes de production, il est généralement plus sûr de faire cuire à 2x la résolution finale de texture en jeu.

Par exemple, si la texture finale est conçue pour être 4K, le four peut être généré à 8K puis échantillonné en aval. Cela aide à réduire l'alias et améliore la qualité des détails minces, des biseaux et des informations à haute fréquence.

Un point de départ fort pour des bacs de haute qualité est:

  • 2x résolution de texture finale
  • 32x prélèvement
  • Cartes normales 16 bits
  • Groupes de gâteaux séparés
  • cage validée
  • Correction de l'erreur vérifiée
  • Les pièces mobiles ont explosé ou décalé si nécessaire

Les éléments mobiles ou animés devraient souvent être déplacés de l'asset principal pendant la baking. Cela permet d'éviter les intersections Ambient Occlusion, surtout lorsque les parties sont rapprochées dans leur position d'assemblage.

Remarque importante à propos des normal maps

Les normal maps de l'espace Tangent ajustent la surface d'origine normale; elles ne peuvent remplacer l'ombrage bas-poly fondamentalement incorrect. Les transitions très raides nécessitent encore des bords durs, des coutures UV, des biseaux ou une géométrie de support.

Un problème commun dans les assets de jeu est d'essayer de lisser des angles très raides et de s'attendre à la carte normale pour tout réparer.

Dans la pratique, lisser les angles au-dessus d'environ 75 degrés peut facilement produire une mauvaise ombrage dans un moteur de jeu. La raison en est que les normal maps tangente-espace ne sont pas conçues pour redéfinir complètement la direction de surface. Ce sont des cartes de correction à base de pixel avec une profondeur de bits et une plage de valeurs limitées.

Une carte normale de l'espace tangente doit être comprise comme un vecteur qui ajuste la surface d'origine normale. Il peut corriger et améliorer l'ombrage, mais il ne peut pas remplacer complètement une direction normale fondamentalement différente.

C'est pourquoi les bords durs, les fentes UV et la planification topologique comptent toujours.

Si une transition de surface est trop nette, elle doit généralement être supportée par un bord dur et une couture UV, un biseau, ou une meilleure géométrie. Se contenter de la carte normale entraîne souvent des gradients, des ondulations, des artefacts de compression ou des points forts instables.

Pourquoi ne pas utiliser seulement les normales mondiales de l'espace?

Les normales de l'espace mondial peuvent convenir à des objets statiques uniques, mais elles se décomposent avec des UV miroirs ou se chevauchant, animation, rotation et géométrie réutilisable. Les normales de l'espace Tangent restent plus flexibles parce que le moteur les transforme après que l'objet se déplace dans la scène.

Une question naturelle est : si les normales de l'espace tangent ont des limites, pourquoi ne pas utiliser les normal maps de l'espace mondial à la place ?

Les normal maps de l'espace mondial peuvent être utiles, en particulier pour les assets statiques ou les objets uniques non déformants. Ils peuvent parfois réduire le coût de l'ombrage et éviter certains problèmes d'espace tangente.

Cependant, ils ne sont pas pratiques comme une solution universelle pour les assets de jeu.

Les normales de l'espace mondial ne fonctionnent pas bien avec les UV miroirs, les UV qui se chevauchent ou la géométrie animée. Une fois que l'objet se déplace, tourne, déforme ou utilise un espace de texture partagé, la direction de l'espace mondial stockée dans la texture ne se comporte plus correctement.

Dans les moteurs de jeu modernes, les normales tangent-espace sont transformées en espace mondial pendant le rendu, après que l'objet a été placé et transformé dans la scène. Cela rend les normal maps tangente-espace beaucoup plus flexibles pour les assets animés, les armes, les caractères et la géométrie réutilisable.

Les normal maps de l'espace mondial peuvent encore être forcées dans des cas précis, mais elles sont généralement mieux adaptées aux assets statiques uniques plutôt qu'aux assets interactifs.

Principe de production

Un four propre est le pont entre le détail à haut niveau et les performances en temps réel. La préparation est plus importante que d'essayer de réparer les problèmes de projection et d'ombrage après la baking.

Un four propre n'est pas seulement un point de contrôle technique. C'est le pont entre les détails à haute précision et les performances en temps réel.

Une bonne baking dépend de la préparation : triangulation correcte, UV propres, lissage contrôlé, configuration de cage appropriée, dénomination organisée, groupes de baking séparés, et une compréhension claire de ce que les normal maps peuvent et ne peuvent pas résoudre.

Pour les armes VR art, la qualité de baking est particulièrement importante parce que le joueur va inspecter l'asset à proximité. Toute erreur de projection, artefact d'ombrage, détail biaisé ou mise en évidence instable devient beaucoup plus visible en stéréo et en mouvement.