Dossier Les effets speciaux en 3D : La Physique au service de
l'animation réaliste
Dynamique et Systèmes de
particules
Feux d'artifice,
traînées de missiles, chutes de météorites
ou de balles en caoutchouc, un certain nombre d'effets d'animations
tirent leur réalisme de l'exploitation des lois de la dynamique.
Les différentes lois physiques - gravitation, frottements dans
l'air, dans l'eau ou sur le sol, détection de collisions,
rebonds, tourbillons, influence du vent, déformation de fluides
ou de corps élastiques, etc - sont mises en œuvre dans
deux grandes classes de logiciels, les systèmes de particules
d'une part, où sont animés statistiquement des points
élémentaires et les moteurs dynamiques qui savent
gérer les objets avec des volumes non négligeables.
Les systèmes de particules
La commercialisation de systèmes de particules est très
ancienne et il en existe de nombreux de qualité. Ils savent
gérer un très grand nombre de particules
élementaires, parfois jusqu'à plusieurs millions, et
peuvent servir pour des applications variées. Les particules
peuvent non seulement être animées par des lois
dynamiques, pour des explosions, ou des cascades, elles peuvent aussi
être animées par des lois comportementales, avec un
leader, des zones à éviter ou des zones d'attraction.
Elles servent alors à animer des groupes d'animaux, comme des
bancs de poissons ou des vols d'oiseaux. Elles peuvent aussi servir
à créer de la fourrure ou de l'herbe, ou être
utilisées en rendering non réaliste pour positionner des
coups de pinceaux ou de crayons sur des scènes 3D.
Mais où les particules révèlent leur puissance
c'est pour l'animation automatique de très grands nombres
d'objets. Chaque grand logiciel 3D possède son propre particule
généraliste, ceux de Lightwave et de Maya étant
réputés depuis longtemps. Mais les usages en sont si
variés qu'il existe de nombreux plugins de particules parfois
concurrents et souvent complémentaires, qui sont vendus à
moins de 500 $. Du côté Lightwave, on trouve Napalm, qui
est la version 3 de Particle Storm et Impact, aussi en version 3, tous
les deux de Dynamic Realities. Il faut aussi signaler un excellent et
très intuitif produit standalone, Particle Illusion, (ex
Illusion de Impulse), dont la dernière version a
été présentée au Siggraph cet
été. Il est maintenant édité et
commercialisé par Wondertouch, une compagnie créée
par Alain Lorence, le développeur de Illusion. Ce produit, qui
est le moteur de particules utilisé dans Combustion de Discreet,
est facile d'utilisation et possède une très riche
bibliothèque d'effets prêts à l'emploi. Du
côté de 3DS Max, il existe aussi plusieurs plugins dont
Particle Studio de Orbaztech, Special Purpose Particles de Sisyphus
ainsi que Pandora et Sand Blaster, développés par
Digimation.
Un outil récent de
qualité
Parmi les produits récents, il faut signaler le plugin de Cebas
pour 3DS Max, Thinking Particles, qui a déjà
été utilisé pour plusieurs projets importants dont
"Tomb Raider". Les systèmes de particules peuvent y être
calculés par calcul hardware, ce qui permet, si on accepte un
rendering un peu simplifié, si on possède la bonne carte
OpenGL et beaucoup de mémoire, de calculer en des temps record
des scènes impressionanntes en nombre de particules. Par
exemple, avec Particle Illusion, 300 images d'un brasier en
définition vidéo sont calculées, grâce
à l'accélération hardware, en un peu plus d'une
minute avec un Pentium 3 à 533 MHz équipé d'une
carte GeForce 2 GTS et de 384 MB de mémoire RAM.
Beaucoup plus cher que ses concurrents, vendu aux environs de 1600
Euros TTC, Thinking Particles est aussi plus ambitieux et comparable
dans ses possibilités de programmation au très puissant
système de particules de Maya. Les systèmes de particules
les plus rapides à maîtriser proposent des
bibliothèques d'effets préparamétrés, mais
du coup il devient difficile de faire autre chose que ces effets
prédéfinis. Thinking Particles est davantage
contrôlable, il propose aux utilisateurs qui veulent
régler leurs propres effets spécifiques, un langage
interactif de description de scènes à base de
règles qui se révèle redoutablement efficace.
Il est ainsi possible de définir, grâce à un arbre
logique, le comportement de chaque groupe d'objets les uns par rapport
aux autres. A titre d'exemple, si l'on désire simuler la course
d'un vaisseau spatial pris dans une mer d'astéroïdes et qui
doit éviter les gros rochers mais en pouvant heurter les petits,
un simple enchaînement de règles suffit à animer
automatiquement l'ensemble. La programmation va prendre la forme
logique suivante : si le vaisseau vient proche (valeur de distance)
d'un rocher alors, soit le rocher est gros (taille supérieure
à une certaine valeur) et il l'évite, soit il est petit
et alors il l'ignore et rentre en collision. L'intérêt de
cette approche est de ne pas être dépendant ni du timing
de l'animation, ni de modifications dans la trajectoire initiale du
vaisseau. L'utilisateur construit interactivement le graph de
règles en enchaînant une arborescence de boîtes les
unes aux autres. Thinking Particle possède d'autres fonctions
précieuses dont une représentation des particules sous
forme de Metaballs, un peu à l'image des metaparticles de Max
mais en plus rapide. Un de ses autres atouts est de pouvoir associer
à chaque particule un bipède, ce qui permet d'animer
très rapidement des foules entières de personnages.
Rigid et Soft Bodies
Pour animer des petits objets, il est possible de remplacer les points
élémentaires d'un système de particules par des
objets gémométriques, qui vont suivre les animations
calculées. Mais il n'y aura pas de vrais calculs de
détection de collisions qui prennent en compte la forme
réelle des objets. Ceux-ci pourront entrer en
pénétration les uns avec les autres. Si les objets sont
trop gros pour que l'on puisse se contenter d'un calcul
simplifié des collisions et des déformations dues aux
chocs, on utilise une autre catégorie de logiciels de dynamique
qui permettent d'animer les "soft and rigid bodies". La plupart des
logiciels 3D ont intégrés ces fonctions. Là
encore, Maya montre sa maîtrise des techniques de simulation dans
son module dynamique. Certains logiciels comme Lightwave et XSI ne
proposent que le mode soft, et sont donc orientés vers la
simulation d'objets souples comme les vêtements, les tissus
(comme les drapeaux) ou les cheveux. Le mode rigide peut cependant
être obtenu en annulant la valeur d'élasticité.
Néanmoins, on peut espérer que lorsqu'un éditeur
propose un mode spécifiquement rigide, l'algorithme
général va être optimiser pour ce cas particulier.
Parmi les moteurs de dynamique, il existe un leader incontesté,
il s'agit de l'éditeur Havok. Son moteur dynamique traite aussi
bien des corps mous que des tissus ou des fluides. Havok fournit une
bibliothèque de développement Game Dynamics SDK qui est
surtout utilisé en temps réel pour la programmation de
jeux. Mais son moteur est aussi intégré dans d'autres
logiciels comme Virtools et est présent sur Internet. Il est en
effet le moteur de dynamique par défaut de Shockwave 3D de
Macromedia et est intégré dans Atmosphere de Adobe. Il
vient par ailleurs d'être intégré dans 3DS Max sous
le nom d'un nouveau module Reactor.
Pour en savoir plus :
Cebas (Thinking Particles)
www.cebas.com
Dynamic Realities (Napalm, Impact)
www.dynamic-realities.com
Digimation (Thinking Particles, Pandora, Sand Blaster, Particle Studio)
www.digimation.com
Orbaztech (Particle Studio)
www.Orbaz.com
Sisyphus (Special Purpose Particles)
www.sisyphus.com
Wondertouch (Particle illusion)
www.wondertouch.com
Havok (Game Dynamics SDK, Reactor, etc)
www.havok.com
© novembre 2002 François Ploye et Pixel SA