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