Dans le pipeline traditionnel de création artistique pour jeux vidéo et rendus 3D, l'application de matériaux et la cuisson (baking) de textures après le dépliage UV représentent souvent l'une des phases les plus chronophages. La fonctionnalité 3D Texture Generation de Leonardo.ai permet aux créateurs d'importer directement des maillages au format Wavefront .OBJ, d'appliquer des textures générées par IA via des invites textuelles (prompts) le long des coordonnées UV, et d'exporter des ensembles de cartes PBR prêts à l'intégration dans Unreal Engine 5 ou Unity.
Pour les développeurs indépendants, les concepteurs de niveaux et les artistes d'environnement, la maîtrise de la préparation du maillage, de la structure des invites et de la gestion des tokens fait de Leonardo.ai un accélérateur précieux de prototypage et de production d'accessoires.
Prérequis techniques : Préparation du maillage OBJ
Avant d'importer un actif dans Leonardo.ai, le modèle 3D doit impérativement respecter deux exigences techniques fondamentales :
- Format de fichier strictement limité au
.OBJ: L'outil de texturation 3D ne prend en charge que les fichiers portant l'extension.OBJ. Les formats tels que.FBX,.GLTFou.BLENDne sont pas acceptés. - Dépliage UV indispensable (UV Unwrapping) : Le maillage doit posséder des coordonnées UV valides. Le moteur génératif exploite ce découpage pour projeter et cuire les cartes de texture sur la surface 3D. Un modèle dépourvu d'UVs ou présentant des îles superposées générera des distorsions ou des erreurs d'application.
Bonnes pratiques de géométrie et d'UV
- Éviter le chevauchement involontaire des îles UV : En dehors des zones exploitant volontairement une symétrie axiale, les îles UV ne doivent pas se superposer, sous peine de recevoir des détails de texture rigoureusement identiques.
- Emplacement stratégique des coutures (seams) : Placez les coutures dans les rainures naturelles, les biseaux ou les faces peu visibles de l'objet. Même si l'algorithme adoucit les raccords, de légères ruptures peuvent subsister aux frontières.
- Densité de texels uniforme (Texel Density) : Veillez à conserver une échelle homogène entre les îles UV afin d'éviter des variations visibles de netteté entre les différentes zones du modèle.
- Nettoyage topologique : Éliminez les arêtes non conformes (non-manifold), les normales inversées et les sommets en double dans Blender, Maya ou 3ds Max avant l'exportation.
Guide pas à pas : Du modèle brut à l'actif texturé
1. Importation et enregistrement du modèle
Dans l'interface de Leonardo.ai, accédez au menu des outils de création et cliquez sur Texture Generation (ou faites appel au point de terminaison de l'API REST POST https://cloud.leonardo.ai/api/rest/v1/generations-texture).
Téléversez votre fichier .OBJ muni de ses UVs. Leonardo enregistre la géométrie et lui attribue un identifiant unique modelAssetId, affichant le maillage neutre dans une fenêtre de visualisation 3D interactive.
2. Rédaction d'invites focalisées sur les surfaces
Contrairement aux invites pour images 2D, qui décrivent l'éclairage global, le cadrage ou l'arrière-plan, les invites pour textures 3D doivent se concentrer exclusivement sur la matière et ses caractéristiques tangibles :
- Matériau principal : Définissez clairement la matière de base (ex. : "weathered cast iron", "ancient chiseled sandstone", "scratched sci-fi armor", "hand-painted stylized oak bark").
- Usure et texture superficielle : Décrivez l'érosion des bords, les traces de rouille, l'accumulation de poussière, le niveau de brillance ou les microfissures.
- Colorimétrie et motifs : Mentionnez la palette dominante et les ornements sans ajouter de descriptions d'environnement.
- Exemple de prompt :
"ornate fantasy broadsword blade, damascus folded steel pattern, darkened battle scratches, polished brass crossguard with verdigris patina, aged leather wrapped grip"
3. Validation économique grâce au 3D Texture Preview (5 Tokens)
La génération complète d'un ensemble de textures 3D requiert 30 tokens, alors qu'un aperçu interactif (3D Texture Preview) ne coûte que 5 tokens.
Il est vivement conseillé de lancer d'abord un aperçu :
- L'aperçu projette rapidement l'effet de l'invite sur le maillage ;
- Faites pivoter le modèle à 360 degrés pour vérifier la cohérence de l'échelle des textures par rapport à la taille de l'objet et inspecter les raccords de coutures ;
- En cas de disparité, ajustez vos termes ou ajoutez des invites négatives (ex. :
--no blur, glossy, plastic look) avant d'engager le coût complet.
4. Lancement de la Full 3D Texture Generation (30 Tokens)
Une fois l'aperçu validé, lancez la génération complète. Les serveurs de Leonardo traitent la géométrie et calculent un ensemble multicanal de cartes PBR :
- Carte Albedo / Base Color : Détermine les couleurs diffuses et les motifs graphiques de la surface.
- Carte de Normales (Normal Map) : Consigne les micro-reliefs géométriques pour créer du volume sans alourdir le maillage polygonal.
- Carte de Rugosité (Roughness Map) : Données en niveaux de gris régissant la dispersion lumineuse et l'intensité des reflets.
Dans le visualiseur 3D intégré, ajustez la direction de la lumière pour observer comment la matière réagit en temps réel aux éclairages rasants et directs.
Intégration dans les moteurs de jeu
Au terme de la génération, téléchargez l'ensemble des textures et configurez vos shaders dans votre environnement de développement :
Intégration dans Unreal Engine 5
- Importez le fichier
.OBJd'origine (ou sa conversion.FBX) ainsi que les cartes de texture dans le Content Browser. - Créez un nouveau Material et ouvrez l'éditeur graphique.
- Branchez la carte Albedo sur l'entrée Base Color.
- Reliez la Normal Map à l'entrée Normal (assurez-vous que le paramètre de compression de la texture est sur Normalmap).
- Reliez la carte de rugosité à Roughness.
- Si le modèle comprend des pièces métalliques, pilotez l'entrée Metallic via un paramètre scalaire ou un masque dérivé de la rugosité.
Intégration dans Unity (URP / HDRP)
- Glissez le modèle et les cartes de texture dans le dossier Assets de votre projet.
- Créez un matériau configuré sur le shader Universal Render Pipeline/Lit ou HDRP/Lit.
- Affectez la texture Albedo au champ Base Map.
- Déposez la Normal Map dans le slot correspondant et cliquez sur Fix Now si Unity réclame un ajustement d'importation.
- Insérez la carte de rugosité dans le slot Metallic/Smoothness (en inversant éventuellement le canal de lissage selon les réglages de votre pipeline).
Retours d'expérience et contraintes de production
- Ombres intégrées dans la couleur de base : Les modèles de diffusion étant entraînés sur des images bidimensionnelles, il arrive que l'Albedo intègre des ombres directionnelles ou de l'occlusion ambiante (AO). Dans une scène de jeu pourvue d'éclairages dynamiques, cela peut générer des contradictions visuelles. Le cas échéant, effectuez une passe rapide de débouchage d'ombres (de-lighting) dans Photoshop ou Substance.
- Échelonnage des actifs selon la priorité : Leonardo excelle dans la production en série d'accessoires de décor, de caisses, d'armes secondaires, de rochers et d'éléments architecturaux modulaires. Pour les visages de personnages principaux ou les pièces mécaniques complexes exigeant des tuiles UDIM strictes, utilisez Leonardo pour esquisser la base visuelle, puis peaufinez les détails dans Substance 3D Painter.
- Gestion du budget de tokens : Les comptes gratuits reçoivent 150 tokens par jour (réinitialisés toutes les 24 heures), ce qui permet de générer jusqu'à 5 modèles complets quotidiennement. Les équipes nécessitant des volumes plus importants peuvent souscrire à un forfait mensuel avec Fast Tokens, report de crédits (Rollover Bank) ou piloter des générations automatisées via l'API REST.