Accueil⚓︎
Qu'est ce que le projet Badger Pipeline ?⚓︎
Le but de ce projet est de créer un pipeline de production pour les films de 4eme année de l'ESMA Montpellier 2026. Ce pipeline sera basé sur le format USD (Universal Scene Description). Il utilisera principalement Houdini et Maya.
Note
Pour l'instant, le pipeline est en phase de recherche et de développement. Il n'est pas encore opérationnel. Le but de ce document est de présenter les avancées du projet et les choix techniques qui ont été faits.
Voir l'avancée du projet ici
Pourquoi Badger ? Car ça sonne plutot bien et qu'il fallais un nom de code au projet.
Qu'est ce que le format USD ?⚓︎
Le format USD (Universal Scene Description) est un format de fichier développé par Pixar pour représenter des scènes 3D. Il a été pensé pour etre le plus flexible et performant possible. L'avantage d'un tel format "universel" est qu'il peut etre utilisé par plusieurs logiciels de 3D, notament Houdini et Maya, et qu'il ne se base pas sur un logiciel en particulier.
Le format permet de stocker des informations sur la géométrie, les matériaux, les lumières, les caméras ...
L'USD est en train de s'imposer comme un standard dans l'industrie de l'animation et des effets visuels. De plus en plus de studios adoptent ce format pour leurs pipelines de production, car il permet une meilleure collaboration entre les différents départements (modélisation, animation, rendu, etc.). C'est pourquoi je pense qu'il peut etre un gros attout pour la création de nos films, ainsi qu'une corde de plus ajouter a notre arc.
Pourquoi le format USD ?⚓︎
Le principal avantage de l'USD réside dans son systeme de composition arcs (références de références ...).. Ce système permet d’emboîter plusieurs fichiers USD, chacun jouant un rôle précis dans la description de l’asset ou de la scène. Cela apporte de la propreté, et une flexibilité énorme.
Par exemple, il devient possible de séparer proprement la géométrie, le lookdev (matériaux, shaders), la déclaration de l’asset dans une scène ...
Cela permet une modularité extrême : si, au moment du rendu, on souhaite modifier un seul asset, il n’est pas nécessaire de remonter toute la hiérarchie de scènes ou de republier un fichier lourd depuis Maya ou Houdini. On peut directement remplacer ou surcharger le fichier concerné, sans casser l’ensemble.
Un autre avantage majeur : la gestion des niveaux de détail grâce aux systèmes de proxy. Le pipeline que je conçois repose justement sur ce principe : permettre l’affichage de géométries légères (proxies) dans le viewport, tout en gardant les versions high-res disponibles pour les étapes comme le rendu. Cela permet d’optimiser les performances des artistes, notamment en animation, où les géométries high-poly ne sont pas nécessaires.
Comment est structuré ce document ?⚓︎
Ce document est structuré en plusieurs sections pour faciliter la compréhension du pipeline USD que je développe.
-
Démarage : Cette section explique les étapes initiales pour commencer à utiliser le pipeline USD, y compris l'installation des logiciels nécessaires et la configuration de l'environnement de travail.
-
Départements : Chaque département du pipeline (Modélisation, Texturing, Rigging, Animation, Lighting, TLO) est détaillé dans une section dédiée. Pour chaque département, vous trouverez une description de son rôle, les entrées et sorties attendues, ainsi que des guides pratiques pour créer et publier des scènes dans Houdini ou Maya.
-
Structure : Cette section décrit la structure des fichiers et des dossiers utilisés dans le pipeline USD, ainsi que les conventions de nommage à respecter.
-
Outils : Ici, vous trouverez des informations sur les outils et scripts développés pour faciliter le travail avec le pipeline USD.
-
Références : La dernière section liste les ressources et documentations utilisées pour la création du pipeline, ainsi que des liens utiles pour approfondir vos connaissances sur l'USD.
Contribution⚓︎
Pour participer au projet, je vous conseille d'abord de me contacter afin de discuter des idées et des contributions possibles. Vous pouvez proposer des améliorations, signaler des bugs ou même contribuer directement au code si vous avez les compétences nécessaires.
Pour contribuer au code, voici la démarche à suivre :
- Forkez le dépôt GitHub du projet.
- Clonez votre fork en local.
- Créez une nouvelle branche pour votre fonctionnalité ou correction de bug.
- Faites vos modifications et testez-les.
- Commitez vos changements avec des messages clairs.
- Poussez votre branche sur votre fork.
- Ouvrez une Pull Request vers le dépôt principal en décrivant vos modifications.
- Attendez la revue de code et les éventuels retours. Envoyez moi un message si j'oublie de regarder votre PR.
Pour contribuer à l'écriture de la documentation, je vous invite à faire éxactement la même démarche que pour le code, mais sur un dépôt différent : GitHub de la documentation.
Pour cela, il vous faudras installer MkDocs, ansi que le thème Material for MkDocs. Vous trouverez toutes les informations nécessaires dans la documentation officielle de MkDocs : MkDocs Documentation et Material for MkDocs.
Vous pouvez aussi m'envoyer un message pour que j'ajoute votre nom dans la section des contributeurs ci-dessous.
Info
Voici un tutoriel pour vous aider au processus de contribution : Comment contribuer sur GitHub.
Contributeurs⚓︎
Thomas ESCALLE :
Développeur principal du pipeline USD, responsable de l'architecture et de l'implémentation des outils. Contributeur principal de la documentation. Accessoirement, chef suprême super cool (CSSC) du film Uptight.
Mathieu CARREY :
Développeur du plugin ZBrush, et Substance permettant ainsi les intégrations de ces logiciels dans prism, de la documentation associée, ainsi qu'une aide précieuse sur la réflexion globale du projet.
Merci aussi à :
Nathan LUBRANO DI VAVARIA : pour son aide sur la structure et les nomenclatures, ses retours, et pour avoir relu la documentation.