Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== L'animation procédurale ====== Le but est de comprendre et de décortiquer les fondements mathématiques, physiques ou algorithmiques à la base de l'animation procédurale. En faisant rebondir une balle. <WRAP center info> 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. //[[wp>fr:animation procédurale|Wikipedia]]// </WRAP> L'intérêt principal de l'animation procédurale est la possibilité de générer des schémas complexes, par exemples aussi proches de la réalité physique que possible, à partir d'outils et règles simples. Artistiquement, c'est aussi la possibilité de faire émerger de nouvelles pistes à travers un contrôle relatif des systèmes. Parcequ'en plus de la possibilité d'inclure directement des variables aléatoires, et de créer des systèmes instables, l'évolution du système étant fondamentalement basé sur des calculs mathématiques indénombrables, la prédiction de son évolution par l'observateur tend à se complexifier au fur et à mesure que les règles s'étoffent ou que le temps avance. C'est un nombre de chances accru de se trouver face à des comportements inattendus, surprenants et pleins d'inspiration. En animation par images clé on définit la valeur de différents attributs à des temps donnés, et l'on peut potentielement modeler le comportement de cette évolution entre les clés. On définit par avance l'évolution de valeurs dans le temps, afin de modeler ou mimer un mouvement. A la lecture de l'animation, le logiciel -qu'il s'agisse d'un logiciel de création 3D ou d'un moteur de jeu vidéo- assigne à chaque instant les valeurs demandées, et reproduit le mouvement demandé. [{{ animation-procedurale:courbes.png |Une courbe d'animation comprenant cinq clés (Blender). Cette courbe représente l'évolution d'une valeur au fil du temps, par exemple la position verticale d'une balle qui rebondis.}}] En animation procédurale, on définit les **conditions initiales**, par exemple en plaçant des objets dans l'espace et en définissant leurs propriétés physiques, et on définit les **règles** de la simulation, par exemple en ajoutant des forces ou des conditions. A aucun moment on ne modèle directement l'évolution des valeurs dans le temps, mais on prépare le système en prévoyant son évolution future. A la lecture de l'animation, le logiciel modifie à chaque instant les valeurs en appliquant à l'état courant les effets du système. [{{ animation-procedurale:simulation.png |Les éléments d'une simulation (Blender).}}] Dans l'illustration ci-dessus, les conditions initiales sont : - Il existe un objet ayant une certaine forme (sphérique), une certaine position, une certaine taille et une vitesse nulle. - Il existe un objet ayant une certaine forme (cubique), une certaine position, une certaine taille et une vitesse nulle. Les règles sont : - La sphère est rigide et peut se déplacer (//active rigid body//). - Le cube est rigide et ne peut pas se déplacer (//passive rigid body//). - Une force de gravité (//gravity field//) affecte la sphère (//affect selected objects//). - Si deux éléments rigides se rencontrent il y a collision et force de réaction. Lorsqu'on lance la simulation, la sphère chute et rebondis sur le cube. Si on comprend facilement l'évolution du système, toute la question est désormais : **comment?** Alors pour comprendre comment ça fonctionne, on va programmer l'animation dynamique de notre balle nous même, en partant de zéro. Même pas peur.