Animation basée sur la physique - Physically based animation

L'animation basée sur la physique est un domaine d'intérêt au sein de l'infographie concerné par la simulation de comportements physiquement plausibles à des taux interactifs. Les progrès de l'animation basée sur la physique sont souvent motivés par la nécessité d'inclure des comportements complexes et inspirés physiquement dans les jeux vidéo, les simulations interactives et les films. Bien que des méthodes de simulation hors ligne existent pour résoudre la plupart des problèmes étudiés dans l'animation physique, ces méthodes sont destinées à des applications qui nécessitent une précision physique et des calculs lents et détaillés. Contrairement aux méthodes courantes dans la simulation hors ligne, les techniques d'animation basées sur la physique concernent la plausibilité physique, la stabilité numérique et l'attrait visuel plutôt que la précision physique. L'animation basée sur la physique est souvent limitée à des approximations lâches de comportements physiques en raison des contraintes de temps strictes imposées par les applications interactives. La fréquence d'images cible pour les applications interactives telles que les jeux et les simulations est souvent de 25 à 60 hertz , avec seulement une petite fraction du temps alloué à une image individuelle restant pour la simulation physique. Les modèles simplifiés de comportements physiques sont généralement préférés s'ils sont plus efficaces, plus faciles à accélérer (grâce au pré-calcul, à des structures de données intelligentes, ou SIMD / GPGPU ), ou s'ils satisfont à des propriétés mathématiques souhaitables (telles que la stabilité inconditionnelle ou la conservation du volume lorsqu'un corps mou subit une déformation). Les détails fins ne sont pas importants lorsque l'objectif primordial d'une visualisation est l'attrait esthétique ou le maintien de l'immersion du joueur, car ces détails sont souvent difficiles à remarquer pour les humains ou sont autrement impossibles à distinguer à l'échelle humaine.

Histoire

L'animation basée sur la physique est maintenant courante dans les films et les jeux vidéo, et de nombreuses techniques ont été mises au point lors du développement des premières scènes d'effets spéciaux et des moteurs de jeu. Star Trek II: The Wrath of Khan a utilisé des systèmes de particules dans la scène d'explosion de Genesis pour créer l'effet visuel d'une onde de choc enflammée engloutissant une planète. Bien qu'il soit sorti avant que les moteurs physiques ne soient une caractéristique courante dans les jeux, System Shock a incorporé la physique du corps rigide dans son moteur et a été largement considéré comme innovant pour cette fonctionnalité et le nouveau sens d'interaction qu'elle offrait aux joueurs. Valve a ensuite développé Half-Life et a utilisé la physique du corps rigide pour créer des puzzles environnementaux pour le joueur, tels que des obstacles qui ne pourraient pas être atteints sans empiler des boîtes. Half-Life 2 comportait un moteur physique plus avancé qui incorporait des systèmes contraints tels que des poulies ou des leviers avec plus d'énigmes environnementales pour présenter ces fonctionnalités. Les moteurs physiques sont maintenant beaucoup plus courants dans les jeux, et leur apparition fréquente a motivé les recherches sur l'animation physique par des sociétés telles que Nvidia .

Animation basée sur la physique dans les jeux et les simulations

L'animation basée sur la physique est courante dans les jeux et les simulations où les utilisateurs s'attendent à une interaction avec l'environnement. Les moteurs physiques tels que Havok , PhysX et Bullet existent en tant que produits développés séparément pour être concédés sous licence et inclus dans les jeux. Dans des jeux tels que Angry Birds ou World of Goo , l'animation basée sur la physique est elle-même le principal mécanisme de jeu et les joueurs sont censés interagir avec ou créer des systèmes simulés physiquement afin d'atteindre leurs objectifs. Des aspects des jeux de réflexion physiques existent dans de nombreux jeux qui appartiennent à d'autres genres mais qui comportent une simulation basée sur la physique. Permettre une interaction physique avec l'environnement par le biais d'une animation basée sur la physique favorise les solutions non linéaires aux énigmes des joueurs et peut parfois aboutir à des solutions aux problèmes présentés dans les jeux qui n'ont pas été délibérément inclus par les concepteurs de niveaux. Les simulations utilisées à des fins autres que le divertissement, telles que les simulations militaires, utilisent également des animations physiques pour représenter des situations réalistes et maintenir l'immersion des utilisateurs. De nombreuses techniques d'animation physique sont conçues en pensant aux implémentations GPGPU ou peuvent être étendues pour bénéficier du matériel graphique, qui peut être utilisé pour faire des simulations physiques suffisamment rapides pour les jeux. Cependant, le temps GPU est souvent réservé au rendu, et les transferts de données fréquents entre l'hôte et l'appareil peuvent facilement devenir un goulot d'étranglement pour les performances.

Animation basée sur la physique dans les films

Les simulations peuvent être effectuées hors ligne (comme en dehors du moment où elles sont visionnées) dans le développement d'effets spéciaux pour les films. La vitesse n'est donc pas strictement une nécessité dans la production d'effets spéciaux mais est toujours souhaitable pour un retour d'information raisonnablement réactif et parce que le matériel requis pour les méthodes plus lentes est plus cher. Cependant, l'animation basée sur la physique est toujours préférée car des méthodes plus lentes et plus précises peuvent être coûteuses et contraignantes. La précision physique des petits détails d'un effet spécial n'a pas d'importance pour leur attrait visuel, limite le contrôle que les artistes et les réalisateurs peuvent exercer sur le comportement et augmente le coût monétaire et le temps requis pour obtenir des résultats. Il est nécessaire de pouvoir dicter le comportement de haut niveau des effets d'inspiration physique dans les films afin d'obtenir la direction artistique souhaitée, mais les comportements physiques de script au niveau de petits détails peuvent être irréalisables lorsque des fluides, de la fumée ou de nombreux objets individuels sont impliqué. L'animation basée sur la physique offre généralement plus de contrôle à l'artiste sur l'apparence des résultats simulés et est également plus pratique lorsque les effets souhaités peuvent plier ou défier la physique.

Sous-thèmes

Simulation de corps rigide

La physique simplifiée des corps rigides est relativement bon marché et facile à mettre en œuvre, c'est pourquoi elle est apparue dans les jeux interactifs et les simulations plus tôt que la plupart des autres techniques. Les corps rigides sont supposés ne subir aucune déformation pendant la simulation, de sorte que le mouvement des corps rigides entre les pas de temps peut être décrit comme une translation et une rotation, en utilisant traditionnellement des transformations affines stockées sous forme de matrices 4x4. Alternativement, les quaternions peuvent être utilisés pour stocker les rotations et les vecteurs peuvent être utilisés pour stocker les objets décalés par rapport à l'origine. Les aspects les plus coûteux en calcul de la dynamique des corps rigides sont la détection des collisions , la correction de l'interpénétration entre les corps et l'environnement et la gestion du contact au repos. Les corps rigides sont généralement simulés de manière itérative, avec un retour en arrière pour corriger l'erreur en utilisant des pas de temps plus petits. Le contact au repos entre plusieurs corps rigides (comme c'est le cas lorsque des corps rigides tombent en pieux ou sont empilés) peut être particulièrement difficile à gérer efficacement et peut nécessiter des graphiques de contact et de propagation de choc complexes afin de résoudre à l'aide de méthodes basées sur les impulsions. Lors de la simulation d'un grand nombre de corps rigides, des géométries simplifiées ou des coques convexes sont souvent utilisées pour représenter leurs limites à des fins de détection et de réponse aux collisions (car c'est généralement le goulot d'étranglement de la simulation).

Simulation de corps mou

Les corps souples peuvent être facilement mis en œuvre à l'aide de systèmes à mailles à ressort. Les systèmes de maille à ressort sont composés de particules simulées individuellement qui sont attirées les unes aux autres par des forces de ressort simulées et subissent une résistance des amortisseurs simulés. Les géométries arbitraires peuvent être plus facilement simulées en appliquant des forces de ressort et d'amortissement aux nœuds d'un réseau et en déformant l'objet avec le réseau. Cependant, les solutions explicites à ces systèmes ne sont pas très stables numériquement et sont extrêmement difficiles à contrôler le comportement des paramètres du ressort traversant. Les techniques qui permettent des corps mous physiquement plausibles et visuellement attrayants, sont numériquement stables et peuvent être bien configurées par les artistes étaient d'un coût prohibitif au début de l'histoire du jeu, c'est pourquoi les corps mous n'étaient pas aussi courants que les corps rigides. L'intégration à l'aide des méthodes de Runge-Kutta peut être utilisée pour augmenter la stabilité numérique des techniques instables telles que les maillages à ressort ou des pas de temps plus fins peuvent être utilisés pour la simulation (bien que cela soit plus coûteux et ne puisse pas rendre les maillages à ressort stables pour des forces arbitrairement grandes). Des techniques telles que l'appariement de formes et la dynamique basée sur la position abordent ces problèmes en pensant aux jeux interactifs et aux simulations. La dynamique basée sur la position est utilisée dans les moteurs de jeu grand public tels que Bullet (logiciel) , Havok et PhysX . La stabilité inconditionnelle et la facilité de configuration sont des propriétés particulièrement souhaitables des simulations de corps souples qui peuvent être difficiles à réaliser avec des systèmes à ressorts à mailles, bien qu'elles soient encore souvent utilisées dans les jeux en raison de leur simplicité et de leur vitesse.

Simulation de fluides

La dynamique des fluides numérique peut être coûteuse, et les interactions entre plusieurs corps fluides ou avec des objets/forces externes peuvent nécessiter une logique complexe à évaluer. La simulation de fluide est généralement réalisée dans les jeux vidéo en simulant uniquement la hauteur des plans d'eau pour créer l'effet de vagues, d'ondulations ou d'autres caractéristiques de surface. Pour les corps liquides relativement libres, des méthodes lagrangiennes ou semi-lagrangiennes sont souvent utilisées pour accélérer la simulation en traitant les particules comme des éléments finis de fluide (ou porteurs de propriétés physiques) et en se rapprochant des équations de Navier-Stokes . Il est rare de simuler des corps de fluide dans les jeux, bien que les caractéristiques de surface puissent être simulées à l'aide de méthodes similaires et que des simulations de fluides puissent être utilisées pour générer des textures ou des champs de hauteur afin de restituer l'eau en temps réel sans simulation en temps réel (cela est couramment fait pour les grands plans d'eau dans les jeux). Les simulations de fluides peuvent être calculées à l'aide de matériel graphique de base via GPGPU , et les champs de hauteur peuvent être calculés efficacement, ce qui entraîne un comportement ondulatoire à l'aide des méthodes Lattice Boltzmann . Alternativement, les caractéristiques de surface et les vagues peuvent être simulées en tant que particules et un champ de hauteur généré à partir des particules simulées en temps réel. Cela permet également une interaction efficace dans les deux sens entre le fluide et les objets flottants.

Systèmes de particules

Les systèmes de particules sont une technique extrêmement populaire pour créer des effets visuels dans les films et les jeux en raison de leur facilité de mise en œuvre, de leur efficacité, de leur extensibilité et de leur contrôle par l'artiste. Le cycle de mise à jour des systèmes de particules comprend généralement les trois phases : génération, simulation et extinction. Ces phases consistent respectivement à introduire de nouvelles particules, à les simuler au pas de temps suivant et à éliminer les particules qui ont dépassé leur durée de vie. Les attributs physiques et visuels des particules sont généralement randomisés lors de la génération avec la gamme et la distribution des attributs contrôlées par l'artiste. Les systèmes de particules peuvent en outre être conçus pour générer eux-mêmes des systèmes de particules afin de créer des effets plus complexes et dynamiques, et leur comportement de haut niveau peut être chorégraphié à travers un cadre d'opérateurs comme dans l'article canonique de Sims. Les premiers jeux qui rendaient des systèmes de particules souffraient d'artefacts d'écrêtage lorsque les particules recoupaient partiellement la géométrie de l'environnement, et cet artefact était particulièrement visible pour les grosses particules (qui étaient souvent utilisées pour remplacer la fumée). Les particules molles traitent ces artefacts grâce à un ombrage et une manipulation soigneux de la transparence des particules, de sorte que les particules deviennent plus transparentes à mesure qu'elles approchent des surfaces.

Flocage

Dans l'animation physique, le flocage fait référence à une technique qui modélise le comportement complexe des oiseaux, des bancs de poissons et des essaims d'insectes à l'aide de forces virtuelles. Ces forces virtuelles simulent la tendance des troupeaux à centrer leurs vitesses, à éviter les collisions et l'entassement, et à se déplacer vers le groupe. Dans ces simulations, les membres individuels du troupeau (parfois appelés boids, abréviation de bird-oid) agissent sans collaboration en utilisant uniquement des informations sur la position et la vitesse de leurs pairs pour créer efficacement l'illusion d'un comportement de groupe synchronisé. Le flocage peut également être utilisé pour approcher efficacement le comportement de foules d'humains, et les méthodes basées sur le flocage sont souvent utilisées pour les foules de PNJ dans les jeux. Unreal et Half-Life ont été parmi les premiers jeux à implémenter le flocage, qui a été utilisé pour modéliser le comportement des oiseaux et des créatures volantes présents dans les niveaux extérieurs.

Animation de personnage basée sur la physique

Les personnages dans les jeux et les simulations sont traditionnellement animés à l'aide de méthodes telles que les images clés qui définissent des animations à travers des compositions de mouvements statiques plus petits et séquencés pour transmettre un comportement plus complexe. Visuellement, ces méthodes statiques ne peuvent pas facilement transmettre des interactions complexes avec l'environnement et rendent difficile la réalisation de mouvements de personnages réalistes. Les techniques d' animation de personnages physiques permettent d' obtenir des animations dynamiques qui répondent à l'interaction de l'utilisateur, aux événements externes et à l'environnement en optimisant les mouvements vers des objectifs spécifiés compte tenu des contraintes physiques telles que la minimisation de l'énergie. L'adoption de l'animation de personnages basée sur la physique, par opposition aux méthodes plus statiques, a été lente dans l'industrie du jeu en raison du coût et de la complexité accrus associés à son utilisation. L'animation de personnages basée sur la physique a été utilisée dans la série de jeux vidéo Skate (jeu vidéo) et dans le jeu de tir à la première personne développé indépendamment StarForge .

Les références