Aller au contenu

Animation procédurale

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 8 avril 2007 à 17:40 et modifiée en dernier par 212.194.146.62 (discuter). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

En synthèse d'image par ordinateur, l'animation procédurale est l'animation d'objets virtuels par la génération en temps réel des mouvements, selon un ensemble de règles procédurales. L'animateur 3D spécifie les règles (par exemple des lois du monde physique décrites par des relations mathématiques), et les conditions initiales avant de lancer la simulation.


Comparaison avec les méthodes d'animation « classiques »

Les méthodes d'animation utilisées le plus couramment sont de deux types : l'animation par Images Clé (Keyframe) ou la capture de mouvements (Motion capture).

Keyframe

C'est une méthode d'animation dans laquelle on mémorise une suite de positions particulières des objets en mouvement, les positions intermédiaires étant calculées. L'animateur a un contrôle direct sur les positions, la forme et le mouvement des entités à animer.

Motion capture

Désigne de façon générique les techniques permettant de capter les mouvements d'un élément réel afin de les renvoyer dans un univers virtuel. Cette technique est employée pour faire correspondre des mouvements du vivant à ceux d'un avatar.

Limites de ces deux méthodes

Les animations obtenues par ces deux méthodes sont d'excellente qualité, surtout grâce aux progrès technologiques dans le domaine de l'informatique et du graphisme. En revanche, ces méthodes sont coûteuses en terme de temps et de coût de développement. Les ressources financières allouées aux équipes d'animation 3D dans les entreprises de jeux vidéo ou d'effets spéciaux par exemple ne cessent de grimper. De plus, l'équipement hardware nécessaire pour créer ces animations, ou jouer, est devenu de plus en plus élitiste. Enfin, ces animations sont « statiques », dans le sens où elles sont répétitives et prévisibles. Elles ne sont donc pas, ou très peu, interactives. Ainsi, le réalisme des mouvements, l'immersion du joueur ou du spectateur ou encore le gameplay se trouvent limités.

Ce qu'apporte l'animation procédurale

L'animation procédurale se propose dans un premier temps de déporter une partie des calculs de la carte graphique vers le processeur, pour toute la génération des mouvements. Ceci utiliserait à profit, et de manière plus intelligente, la puissance de calcul de nos processeurs actuels. Deuxièmement, le réalisme des animations est potentiellement parfait, en tout cas élevé, grâce à l'utilisation de règles mathématiques décrivant le comportant du monde réel. Puis, les animations sont interactives. Elles s'adaptent aux commandes du joueur ou de l'animateur, ainsi qu'aux propriétés changeantes et imprévisibles de l'environnement.

Il existe deux grandes catégories d'animation procédurale: la modélisation physique et la vie artificielle.

La modélisation physique

Cet ensemble de techniques permet de décrire les animations en ajoutant aux données géométriques des paramètres physiques. Ces techniques reposent sur la simulation de lois physiques simples et bien connues, comme la gravitation ou l'attraction/répulsion des masses. Voici les principales applications de la modélisation physique :

Le système de particules Lors de chaque itération, le système de particules prend en entrée les paramètres initiaux des objets (masse, force d'attraction...), leurs variables (position, vitesse, accélération, etc) ainsi que les forces en jeu dans l'environnement (gravité, vent...), pour actualiser les variables en fonction des lois physiques implémentées. Cette technique est utilisée pour simuler des phénomènes naturels comme la fumée, les nuages, les flammes, et l'eau.

Les surfaces flexibles Il s'agit de modéliser les surfaces flexibles comme les tissus, les vêtements... Typiquement, les modèles géométriques sont construits à partir de triangles, dont les sommets varient selon leur masse, position, vitesse, accélération, constantes d'élasticité, la force du vent...

La modélisation des corps solides C'est la simulation dynamique des interactions entre des objets solides. Celle-ci prend en compte divers paramètres physiques comme l'élasticité, la friction, la torsion, la masse... Les comportements générés sont par exemple, les collisions, les glissements, les chutes...

La dynamique des fluides Simule le mouvement des fluides: vagues, écoulement, turbulences de l'eau ou d'autres liquides.

La fourrure, les cheveux... Simule le mouvement naturel des poils, des cheveux.


La vie artificielle

La vie artificielle est un ensemble de techniques qui vise à imiter le comportement des êtres vivants.

L'animation comportementale Simulation des interactions d'organismes vivants (nuées (boids), prédateur-proie, humains virtuels)

Evolution artificielle Les organismes se reproduisent, et subissent des mutations. L'animateur définit quels sont les critères qui définissent le mieux l'adaptation à l'environnement, puis les organismes les plus résistants survivent. L'animateur joue le rôle de Dieu, et définit les règles de la sélection « naturelle ».

Fractales Les fractales permettent de simuler l'apparence d'objets naturels comme les arbres, les montagnes, les flocons de neige. Ils peuvent aussi simuler l'apparition de fissures par exemple.

Automates cellulaires Il s'agit de donner un petit nombre de règles simples à un grand nombre d'individus, en général d'apparence simple. Exemple: Jeu de la vie de Conway.

Utilisation actuelle dans l'industrie audiovisuelle

L'animation procédurale est encore jeune, et peu utilisée dans les films d'animation, ou les jeux vidéo par exemple. Toutefois, certains jeux à sortir courant 2007 intègrent des techniques d'animation procédurale, et il existe des logiciels de développement professionnels performants, permettant de créer des animations de ce type.

Un exemple de jeu: Spore

Spore (jeu vidéo) est le dernier projet vidéoludique de Will Wright, à qui on doit déjà SimCity et The Sims. Il s'agit d'un jeu de gestion, un simulateur global, ou encore « sim everything » (de son premier nom) en développement depuis l'année 2000, qui doit sortir courant 2007. Nous nous intéressons en particulier au système d'animation de ce jeu, particulièrement original. En effet, le joueur a la possibilité de créer de nouvelles créatures selon ses envies, en jouant sur le nombre de pattes, de têtes, de queues, sa taille, les proportions, etc. Ensuite, les créatures sont animées en temps réel, de manière automatique, selon les caractéristiques fournies par l'utilisateur. Et ceci pour tous types d'actions, comme le déplacement, l'accouplement, le combat... Enfin, on peut noter que d'autres aspects du jeu sont générés de manière procédurale, comme le contenu et la musique.

Un exemple d'environnement de développement

La société NaturalMotion édite deux logiciels de développement d'animations procédurales.

Endorphin est un logiciel de synthèse dynamique des mouvements, spécifique aux avatars. Il est donc particulièrement adapté aux jeux-vidéos ou aux films d'animation. Les animations peuvent être exportées dans les formats classiques (3D Studio Max...) ou en format vidéo. Les animations sont « statiques », dans le sens vu précédemment, mais générées par des régles procédurales. Elles ont donc un réalisme excellent, pour un temps de développement réduit.

Euphoria permet en revanche de gérer des animations en temps réel dans les jeux vidéo PC, PlayStation 3 et Xbox 360. Le moteur est plus léger que celui de endorphin. Il tourne parallèlement au moteur du jeu, qui l'appelle lorsqu'une animation procédurale est nécessaire. Les transitions sont imperceptibles par le joueur, et l'intégration aisée pour les développeurs. Euphoria est utilisé dans plusieurs titres, qui vont bientôt sortir : Indiana Jones (Lucas Arts), Star Wars: The Force Unleashed ou encore GTA 4 de Rockstar Games.


Conclusions

Nous obtenons de très bons résultats aujourd'hui, avec des techniques permettant de générer des animations automatiquement, en temps réel. Ces techniques apportent un niveau élevé de réalisme, d'interactivité et d'imprévus, que ce soit dans le cadre des jeux-vidéo ou des films d'animation. Actuellement, l'animation procédurale n'est pas tant une alternative aux techniques classiques, mais plutôt une approche complémentaire. En effet, il est difficile d'imaginer un environnement virtuel entièrement régi par des règles physiques plus ou moins complexes. La question est donc de savoir doser la proportion procédural/keyframe. En revanche, ces nouvelles techniques apportent un renouveau certain, dans un domaine qui devenait stagnant, et régi par des lois plus économiques que créatives.