Animation procédurale

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Animation Procédurale)
Aller à : navigation, rechercher

En synthèse d'image numérique, l'animation procédurale est une animation d'objets virtuels par génération en temps réel de 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 »[modifier | modifier le code]

Les méthodes d'animation utilisées le plus couramment sont de deux types : l'animation par images clé (key frame) ou la capture de mouvement.

Key frame (en)[modifier | modifier le code]

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

Capture de mouvement[modifier | modifier le code]

Article détaillé : Capture de mouvement.

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[modifier | modifier le code]

Ces méthodes sont coûteuses en termes 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[réf. nécessaire]. De plus, l'équipement matériel 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 la jouabilité se trouvent limités.

Ce qu'apporte l'animation procédurale[modifier | modifier le code]

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[réf. nécessaire]. 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 élevé, grâce à l'utilisation de règles mathématiques décrivant le comportement 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. Actuellement, l'animation procédurale n'est pas tant une alternative aux techniques classiques, mais plutôt une approche complémentaire. La question est donc de savoir doser la proportion procédurale/key frame.

Techniques utilisées en animation procédurale[modifier | modifier le code]

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

La modélisation physique[modifier | modifier le code]

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 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 dynamique des systèmes

Un exemple d'animation procédurale

Cette animation a été réalisée avec un logiciel de dynamique des systèmes (Dynamique des systèmes) disposant d'un modeleur 3D.
Les valeurs calculées sont associées aux paramètres du système bielle-manivelle.

Dans cet exemple la manivelle est motrice, on fait varier à la fois sa vitesse de rotation, son rayon et la longueur de la bielle, le déplacement du piston en résulte. L'équation de base de ce système est ici

La vie artificielle[modifier | modifier le code]

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)

Évolution 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 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[réf. nécessaire].

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[réf. nécessaire].

Utilisation actuelle dans l'industrie audiovisuelle[modifier | modifier le code]

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[modifier | modifier le code]

Spore (jeu vidéo) est le dernier projet vidéoludique de Will Wright, à qui on doit déjà SimCity et les 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 2008.

Le système d'animation de ce jeu est particulier. En effet, le joueur à 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, ou le combat.

Enfin, 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[modifier | modifier le code]

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éo ou aux films d'animation. Les animations peuvent être exportées dans les formats classiques (comme 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[réf. nécessaire]. Euphoria est utilisé dans plusieurs titres : Indiana Jones : Le Royaume du Crane de Crystal et Star Wars: The Force Unleashed de Lucas Arts ou encore Grand Theft Auto IV de Rockstar Games.

Voir aussi[modifier | modifier le code]