J'ai conçu un sac à main de luxe entièrement configurable, accompagné d'une vidéo promotionnelle de qualité cinématographique, grâce à NVIDIA Omniverse — et je n'ai quasiment pas écrit de code à la main. Voici le processus complet : conception, modélisation 3D procédurale, boucle de débogage assistée par IA avec Claude, problèmes rencontrés et performances de rendu sur un Dell Pro Max 16 Plus équipé d'une NVIDIA RTX PRO 5000 Blackwell.

L'objectif était de créer un sac à main de luxe qu'un client puisse configurer en direct dans NVIDIA Omniverse et ensuite visualiser dans une vidéo promotionnelle soignée, le tout à partir d'un seul outil.
Je souhaitais explorer une question pratique : jusqu’où un designer peut-il aller dans NVIDIA Omniverse avec un assistant IA qui écrit et débogue le code ? Bien que je ne sois pas spécialiste USD ni Python, je comprends ce qui donne une belle apparence à un sac haut de gamme et je peux identifier les problèmes directement dans la fenêtre de visualisation. Claude s’est occupé de toute la partie technique, de l’écriture et des tests du code au débogage et à la mise au point du résultat final.

Le projet comportait quatre objectifs :
Tout fonctionne comme une extension Kit personnalisée (handbag.configurator) à l'intérieur d'une application basée sur USD Composer construite à partir du modèle d'application Kit de NVIDIA.
Figure 1: Rendu principal du sac fini, par exemple le modèle Maison Aurèle en cuir matelassé noir avec chaîne dorée

Figure 2: Capture d'écran de la fenêtre Omniverse avec le panneau du configurateur de sacs à main ouvert à côté de la fenêtre d'affichage
Le sac est entièrement procédural : Python génère chaque maillage à partir d’une poignée de paramètres, de sorte que modifier la largeur ou la longueur du rabat reconstruit l’ensemble du sac en moins d’une seconde.
J'ai opté pour une géométrie procédurale plutôt que sculptée car un configurateur nécessite des pièces qui s'adaptent les unes aux autres. Lorsque le corps s'élargit, le rabat, les coutures, les poignées, les anneaux de la bandoulière et même la carte graphique interne doivent suivre la même évolution. Chaque pièce est calculée à partir de la description du corps.
Le corps est constitué de sections horizontales (anneaux) empilées de la base au sommet. Chaque anneau est une superellipse ; une seule valeur de « rondeur des angles » permet donc de faire passer la forme d’un aspect anguleux à un aspect plus doux.
En plus de cette forme de base, trois effets lui donnent l'apparence du cuir plutôt que du plastique :
La base présente un biseau arrondi et quatre pieds métalliques sont placés en dessous.
Le sac est une coque creuse, et non un bloc plein. La paroi extérieure se replie sur un rebord en haut et se prolonge à l'intérieur, formant une doublure distincte, confectionnée dans un tissu différent.
À l'intérieur, j'ai ajouté :
Le rabat est la partie la plus difficile et a été retravaillé plusieurs fois (section 4). La version finale est une pièce de cuir pleine de 3 mm :
Toutes les surfaces utilisent des matériaux réalistes. Claude a créé neuf ensembles de textures de cuir répétables, avec des cartes de normales et de rugosité : nappa, veau grainé, saffiano, daim, verni, cuir façon crocodile, cuir façon serpent, cuir matelassé et cuir tissé. Des motifs imprimés, tels que des fleurs, du tartan, du léopard et un monogramme de vos initiales, sont générés dans les couleurs choisies et se fondent dans le grain du cuir.

Figure 3: Le sac fermé, vue de trois quarts, montrant la texture matelassée, le passepoil et les coutures.
Claude a joué le rôle de mon partenaire technique : j'ai dirigé la conception et jugé les résultats dans la fenêtre d'affichage, et Claude a écrit, testé et corrigé le code.
J'ai utilisé Claude via l'application de bureau Claude, connectée à mon dossier de projet et à l'application Omniverse en cours d'exécution. Cette configuration était essentielle. Claude pouvait lire le modèle d'application Kit, écrire les fichiers Python de l'extension, exécuter des tests et consulter le journal d'Omniverse après chaque modification.
La plupart de mes demandes étaient brèves et visuelles. Je prenais une capture d'écran, j'entourais le problème en rouge et j'écrivais une phrase, comme « les anneaux de la bandoulière ne touchent pas le sac » ou « le rabat ne s'ouvre qu'à moitié ». Claude a ensuite répondu :
J'ai ensuite examiné le résultat dans la fenêtre d'affichage et soit je suis passé à l'étape suivante, soit j'ai envoyé la capture d'écran suivante.
Figure 4: Les itérations
La boucle d'itération · 6 étapes
Un test hors ligne ayant échoué a renvoyé la modification directement au code, de sorte que la plupart des problèmes n'ont jamais atteint mon écran.
J'ai pris les décisions concernant le design : l'aspect du fermoir, l'ouverture du rabat, les mouvements de caméra utilisés et la présentation du produit. Claude a pris les décisions techniques et les a expliquées. Exemples :
À deux reprises, j'ai demandé des choses que Claude ne voulait pas construire telles que demandées, et dans les deux cas, il a proposé une alternative :
Pour la carte graphique NVIDIA à l'intérieur du sac, j'ai utilisé le logo officiel de mon kit de sponsoring comme autocollant, plutôt que de le faire redessiner.

Figure 5: Une de mes captures d'écran annotées (un problème encerclé en rouge) à côté du résultat corrigé
Presque tous les problèmes provenaient du même schéma : un souci visible sur une capture d'écran était dû à une cause géométrique que Claude pouvait mesurer et corriger.
| Défi | Cause première | Solution |
|---|---|---|
| Le premier sac semblait basique et en plastique | Un matériau plat unique sur un loft lisse | Neuf ensembles de cuir PBR procéduraux, imprimés en couleur, panneaux souples et bombés, pincement au niveau du gousset, passepoil et coutures |
| Les anneaux de la bandoulière flottaient à environ 1 cm du sac | Anneaux placés à la largeur nominale ; les soufflets se replient vers l'intérieur près du haut | Anneaux fixés à la surface latérale réelle sur des languettes en cuir cousues avec des rivets |
| Le rabat ressemblait à une lame fine comme du papier | Une feuille d'épaisseur nulle commençant en plein air au-dessus du sommet | Une coque en cuir de 3 mm d'épaisseur, reproduisant les contours du corps, avec un bord peint |
| Rien à l'intérieur du sac | Le corps était une masse fermée sous le rabat | Coque creuse avec doublure en tissu, bord roulé, poche plaquée et séparateur |
| Le fermoir ressemblait à une attache standard | Un cylindre et une capsule | Fermoir ovale bombé à tourniquet ; fente découpée dans le rabat avec œillet et plaque arrière |
| Une fente sombre apparut sur les côtés | Le rabat flottait au-dessus du bord et était plus étroit que la bouche | Le rabat repose sur le bord et couvre toute l'ouverture |
| Des plis sont apparus aux coins supérieurs du rabat | Le bord épousait trop étroitement le coin arrondi | Bords en « cuir rigide » uniquement près des coins |
| Le rabat semblait posé, non cousu | Les coutures ne couraient que sur le devant | Couture sellier tout autour du rabat, y compris à l'endroit où il rejoint le dos |
| Défi | Cause première | Solution |
|---|---|---|
| La publicité s'ouvrait en zoomant | Distance de la caméra prise en compte uniquement du boîtier, sans tenir compte de la bandoulière et des poignées | Adaptation de la caméra à la boîte englobante complète ; ajustement précis ultérieurement, résolu pour chaque image clé |
| Une augmentation de la vitesse de la caméra | L'appareil photo a retenu la plus grande des deux distances, créant ainsi un coude | Une spline lisse sur des distances logarithmiques : variation de vitesse inférieure à 5 % par image |
| Le rabat s'ouvrait en forme de « L » rigide | Une rotation rigide autour d'une charnière | Modèle à pliage : le rabat se replie au niveau de la charnière et sa courbure s'atténue lorsqu'il se soulève |
| Des marches sont apparues le long des bords du rabat lors de son ouverture | Chaque colonne se pliait sur une rangée entière, et non en ligne droite | Position de charnière fractionnelle par colonne, pour que le pli soit bien droit |
| Les poignées supérieures bloquaient le rabat | Des poignées bloquaient le passage du rabat | Les poignées se déplacent derrière la charnière et s'inclinent vers l'arrière de 82° lorsque le rabat s'ouvre à 150° |
| La chaîne est tombée trop vite et a à peine effleuré le sac | La gravité réelle est rapide ; les poignées et le rabat ouvert ne constituaient pas des obstacles | Rampe de vitesse réduite, collisions avec les poignées et le volet, frottement mesuré en temps et non en marches |
| La carte graphique était difficilement visible à l'intérieur du sac | La caméra était orientée à 58°, de sorte que la paroi avant masquait la carte | Prise de vue intérieure à 72°, visant le recto de la carte |
| La révélation de la carte a interrompu la fin | La durée de la vidéo était fixe | La durée de la vidéo s'adapte : révélation plus le temps nécessaire pour le plan principal et la chute de la chaîne |
Deux leçons se sont dégagées. Premièrement, une capture d'écran précise vaut mieux qu'une longue description : encercler l'endroit exact a permis de trouver la bonne solution presque à chaque fois. Deuxièmement, des vérifications numériques ont permis de déceler des problèmes avant même que je ne les remarque, comme le fait que la caméra ait accroché une sangle trop haute lors de la descente depuis la vue aérienne.

Figure 6: paire avant/après — ouverture du volet rigide vs. ouverture du volet souple
Le livrable final est un film promotionnel de 25 secondes réalisé par lancer de rayons, rendu dans Omniverse avec Movie Capture, avec configuration en direct dans la fenêtre d'affichage RTX.
Chaque modification apportée au panneau reconstruit directement la géométrie et les matériaux USD dans l'environnement ouvert. Grâce à RTX Real-Time 2.0, la fenêtre d'affichage reste interactive pendant que je modifie le cuir, les imprimés, les couleurs ou la quincaillerie, ce qui me permet de montrer aux clients les variations en temps réel.
Cette extension génère des maillages USD standard avec UV, matériaux UsdPreviewSurface, éclairages et caméra animée. Le fichier peut être exporté sous forme d'un fichier .usda autonome contenant ses textures, compatible avec tous les logiciels USD.
La vidéo promotionnelle est entièrement générée à partir du panneau : un seul clic suffit pour créer la trajectoire de la caméra, l'animation du fermoir et du rabat, la révélation de la carte et la physique de la chaîne sous forme d'échantillons temporels en USD.
| Temps (s) | Tir |
| 0–7 | Vue aérienne du sac, rotation lente, descente en spirale et gros plan sur le fermoir |
| 7–10.5 | Le bouton pivote de 90°, le rabat se replie, les poignées supérieures se rabattent |
| ~11 | La caméra filme l'intérieur du compartiment doublé |
| 13–15 | La carte graphique sort du sac et se tourne vers la caméra |
| 15–18 | Démonstration : une lente orbite autour de la carte flottante, avec un léger balayage sur celle-ci |
| 18–20 | La carte retombe dans le sac |
| 20–25 | Plan principal : la chaîne en or tombe sur le sac et se pose au sol |
Quelques techniques ont permis de lui donner l'aspect d'un véritable film publicitaire :
Le panneau affiche les paramètres RTX essentiels pour un rendu haut de gamme : profondeur de champ suivant le sac, bloom, flou de mouvement, grain de film avec vignette, étalonnage des couleurs, arrière-plan studio sans raccord et sol réfléchissant brillant.
Pour le rendu final, j'ai utilisé le path tracer de Movie Capture :

Figure 7: 3–4 images fixes de la publicité : vue aérienne, gros plan du fermoir, présentation de la carte, chaîne au sol
L'ensemble du projet — modélisation, configuration en direct et rendu final — a été exécuté localement sur une station de travail mobile, la fenêtre d'affichage RTX restant au-dessus de 140 FPS pendant que je travaillais.
Information : Je suis Dell et Dell a fourni l’ Dell Pro Max 16 Plus utilisé pour ce projet. La NVIDIA présentée dans la vidéo promotionnelle fait partie d’un partenariat avec la marque.
| Composant | Spécification |
| Ordinateur portable | Dell Pro Max 16 Plus |
| GPU | NVIDIA RTX PRO 5000 Blackwell (ordinateur portable), 24 Go de VRAM |
| mémoire système | 64 Go de RAM |
| processeur | Processeur IntelCore™ Ultra 9 285HX |
| Logiciel | NVIDIA Omniverse Kit 110.4 (application basée sur USD Composer à partir du modèle d'application Kit), RTX Real-Time 2.0 et lancer de rayons |
Mon premier rendu de test a capturé 241 images et encodé un fichier MP4 de 11,4 Mo en environ 10 minutes, soit environ 2,5 secondes par image.
Pour le film final, voici les chiffres issus de mon propre rendu :
| Mesures | Résultat |
| Paramètres de rendu final | 3840×2160, rendu par lancer de rayons, 256 pixels par pixel, vidéo MP4 |
| Images / durée de la vidéo | 599 images / 24,9 s |
| Temps de rendu total | 5 h 55 min |
| Temps moyen par image | 35,86 s |
| Utilisation du GPU pendant le rendu | 94% |
| Mémoire GPU dédiée utilisée | 9 Go |
| RAM système utilisée | 31,8 Go |
| Utilisation du processeur | 12% |
| Source d'alimentation | Sur alimentation secteur (Dell Pro Thunderbolt 5 Smart Dock) |

Figure 8: Gestionnaire des tâches, onglet Performances, page GPU pendant le rendu par lancer de rayons]
Les images finales en rendu 8K sont également disponibles au téléchargement sous forme d'archive ZIP. Cette archive pèse plus de 39 Mo ; je l'ai donc fournie séparément plutôt que d'intégrer les images en pleine résolution à l'article. Rendu 8K

Cette combinaison a fonctionné car chaque élément a fait ce qu'il faisait de mieux : j'ai évalué la conception, Claude l'a conçue et vérifiée, Omniverse l'a rendue et le poste de travail a permis de maintenir chaque étape locale et interactive.
Ce projet a vu le jour grâce à une combinaison de développement assisté par l'IA, de modélisation procédurale et de visualisation en temps réel. Claude m'a aidé à écrire et à peaufiner le code Python, tandis que NVIDIA Omniverse a donné vie au configurateur de sacs à main et à l'animation. La dernière étape a consisté à réaliser le rendu de la vidéo promotionnelle à l'aide du GPU RTX PRO 5000 Blackwell du Dell Pro Max 16 Plus.

Figure 9: Flux de travail assisté par IA, de la conception du concept au rendu cinématique dans NVIDIA Omniverse.
Le projet a été développé et rendu sur un Dell Pro Max 16 Plus, équipé d'une NVIDIA carte graphique Intel Core Ultra 9 285HX, associé à un Dell UltraSharp QHD de 49 pouces. Cette configuration a permis la modélisation procédurale, l'utilisation du configurateur Omniverse et le rendu final en 4K par lancer de rayons.

Figure 10: Mon poste de travail
Ce projet a démontré comment le développement assisté par l'IA et la visualisation 3D en temps réel peuvent s'unir pour transformer une idée en une solution opérationnelle. Ce fut une excellente occasion d'explorer de nouvelles possibilités créatives et techniques avec NVIDIA Omniverse.