Dossier Techniques de modélisation avancée : Les différents types de surfaces géométriques

A l'origine était le polygone, la structure géométrique la plus simple. Puis sont apparues les formes splines, comme les patchs qui permettaient de fabriquer des formes plus élégantes avec très peu de points. Depuis quelques années, les surfaces polygonales avec de nouvelles techniques comme les surfaces de subdivision sont à nouveau très appréciées.

Au début des années 90, des modeleurs NURBS (Non Uniform Rational B-Splines) destinés à séduire les designers ont été intégré dans les logiciels 3D, comme Maya, Softimage et 3DS. Ces modeleurs à base de courbes à haut degré polynomial avaient fait leurs preuves en CAO pour la construction de surfaces complexes. Mais même si les principes mathématiques de base sont maintenant bien connus et éprouvés, que OpenGL fournit en standart une bibliothèque de fonctions très puissantes pour les gérer, la mise en oeuvre des NURBS, en développement et en utilisation, reste long et lourd. Enfin, topologiquement, les surfaces NURBS sont limitées et les discontinuités locales sont difficiles à contrôler.

Au final pour l'audiovisuel, il existe peu de modeleurs Nurbs vraiment performants en dehors de Maya - issu de l'expérience industrielle d'Alias - et de deux petits modeleurs qui arrivent à tirer leurs épingles du jeu : Amapi et Rhino. Les modeleurs Nurbs de Softimage et de 3DS Max n'atteignent toujours pas le niveau de celui de Maya. Quant à Houdini et Lightwave, par stratégie ou par manque de ressources, leurs éditeurs ont misé sur des modeleurs polygonaux et sur les Surfaces de Subdivision.

Les H-splines

Une tentative pour concilier surfaces splines et contrôle local date du Siggraph 1988 avec l'article de Forsey et Bartels sur les H-splines (hierarchical surfaces) appliquées à leur fameux dragon. Les détails peuvent être rajoutés localement en gardant une parfaite continuité et sans être obligé d'augmenter la définition du reste de la surface. En théorie, cette technique dite du "local refinement" s'applique aussi bien aux surfaces splines qu'aux polygones. Mais pour l'instant, l'utilisation des H-splines en production demeure marginale et peu convaincante. Ces surfaces bénéficient d'un effet de mode récent avec leur intégration en mode spline dans le nouveau plugin de modélisation pour 3DS Max, Rodin de Digimation.

Le retour des polygones

Les modeleurs polygonaux avaient semblé un temps utilement complétés par les surfaces patchs puis par les NURBS. Si l'utilité des NURBS reste vérifiée pour les objets industriels, par exemple pour garantir la précision de la modélisation d'une carrosserie de voiture, les surfaces splines ne sont plus du tout indispensables pour modéliser les formes organiques, comme les personnages. De même, si les metaballs ont permis très tôt de produire des nus humains bluffants, la technique est restée improductive, par manque de contrôle et absence de cohérence topologique en animation.
 
En revanche, l'augmentation de la puissance graphique des stations de travail a redonné une nouvelle jeunesse aux polygones. Les premières fonctionnalités précieuses ont été la réduction et la subdivision polygonale automatique, comme dans MetaForms de Lightwave.

Autre fonctionnalité extrêmement appréciée qui génère du polygone en quantité, le "displacement mapping" qui consiste à extruder un objet polygonal en fonction de l'intensité d'une texture procédurale ou mappée. La génération de terrain dans Bryce est un exemple connu de cette technique et Renderman possède une excellente intégration de ce procédé.

Les surfaces de subdivision

Mais surtout, la technologie des surfaces de subdivision a permis d'utiliser en interne aux modeleurs polygonaux, de manière cachée pour l'utilisateur, toute la puissance des surfaces splines. Une géométrie de départ simple, boîte englobante ou surface polygonale, est subdivisée et lissée de manière itérative. En pratique, on arrive en peu de subdivisions à une forme arrondie et plaisante, proche de la surface finale que l'on obtiendrait par une infinité d'itérations.

L'entité de base manipulé est le polygone mais la définition de la courbure de la surface, le résultat de l'animation des points de contrôle et la subdivision adaptative sont contrôlées par des B-splines. Ces surfaces ont été mises au point par Pixar et intégrées dans Renderman pour fabriquer les personnages de son fameux court-métrage "Geri's Game" en 1997, puis du long-métrage "A Bug's Life".

Une partie de l'efficacité de la technique est dans l'algorithme de subdivision qui a été licencié par PIXAR aux différents éditeurs de logiciels 3D. Un simple cube, après plusieurs étapes itératives de lissage, devient une sphère. La méthode de modélisation n'est pas du tout la même qu'en NURBS où les points de contrôle d'une sphère décrivent déjà une sphère.

Les surfaces de subdivision sont très pratiques pour fabriquer rapidement des formes organiques mais elles ne remplacent pas les NURBS car leur précision n'est pas leur point fort. Mais elles sont très productives d'autant plus que les opérations booléennes sont gérées simplement.

De nombreuses implémentations

L'outil Metaform de Lightwave était une première approche de la technique des surfaces de subdivision. Il permettait de construire et de déformer une surface souple de polygones à partir d'une boite simplifiée englobante décrivant les points de contrôle. Les premières versions souffraient d'un contrôle local réduit et les formes générées étaient toujours arrondies. La version récente 6.0 de Lightwave, intègre dans les surfaces de subdivision rebaptisées "Subpatchs" l'algorithme de subdivision Catmull-Clark de Pixar, permettant de mieux travailler la courbure locale.

Il est vrai que cette combinaison astucieuse de polygones et d'algorithmique splines a pu se diffuser lorsque les performances des cartes graphiques ont permis de visualiser en temps réel, le résultat haute définition générée par le modèle basse définition manipulé. On trouve les surfaces de subdivision maintenant dans pratiquement tous les logiciels 3D, plus ou moins bien inplémentées : 3DS Max, Maya, XSI, Lightwave, Houdini, Blender, trueSpace, Cinema4D, Mirai, etc

    SPARX
    Alain Xerri, responsable développement pub et cinéma
    Claude Chabot, chef de projet infographie

    Quels outils utilisez-vous pour la modélisation ?

    Nos besoins en modélisation portent principalement sur la fabrication de personnages destinés à être animé. Nos marchés sont l'animation (télé et films) d'une part et les effets visuels d'autre part, essentiellement pour la publicité mais aussi pour la fiction. Nous utilisons Softimage pour des raisons historiques mais actuellement tous nos nouveaux projets se font sur Maya et sur nos outils maison. Depuis plus de deux ans, nous avons volontairement abandonné les NURBS, sauf ponctuellement pour le design d'objets un peu complexes. Les NURBS étaient trop lourds à gérer et posent des problèmes de raccord de surfaces.

    Nous sommes revenus aux polygones standards. Le principe consiste à modéliser l'objet en basse définition et grâce à l'outil de tessellation du smooth de Maya, nous obtenons automatiquement la version haute définition. En phase de modélisation, le nœud de tessellation est connecté en doublon, nous visualisons ainsi en simultané la version basse définition et celle en haute définition. En phase de rendering, le modèle haute définition est recalculé automatiquement à chaque image de manière parfaitement stable. Les numéros de polygones, les vecteurs destinés au motion blur, tout est parfaitement cohérent d'une image sur l'autre.

    Et que pensez-vous des surfaces de subdivision ?

    Les surfaces de subdivision pourraient être avantageuses à utiliser par rapport aux polygones. C'est un intermédiaire possible entre les polygones et les NURBS mais actuellement tel que c'est implémenté, que ce soit dans Maya ou dans XSI, le gain n'est pas significatif. Même si l'implantation est en très forte amélioration dans Maya, la chaîne de production n'est pas sûre et peut révéler des surprises désagréables. Il manque par ailleurs encore des fonctions, par exemple pour la gestion des UV. Alors qu'en revanche la technologie des polygones est totalement standard, compatible entre les différents logiciels et bénéficie d'exellentes fonctionnalités. Rien ne vaut finalement des techniques qui semblent "rustiques" utilisées intelligemment.


© mars 2002 François Ploye et Pixel SA