Simulation de foule

avril 2005

Cette scène a été déve­lop­pée dans le cadre du projet de jeu vidéo médié­val sur DVD, comme le pré­cé­dent arti­cle. Cette fois-ci, le sys­tème de par­ti­cu­les a été poussé un peu pllus loin pour se foca­li­ser sur la géné­ra­tion de foule, avec une scène de charge de sol­dats pré­cé­dent une bataille. On étudiera ici les outils 3D per­met­tant de créer l’impres­sion de mul­ti­tude de sol­dats dans l’envi­ron­ne­ment.
La scène se déroule sur un ter­rain déser­ti­que rocailleux avec un peu d’herbe et des mon­ta­gnes au loin­tain. Comme la caméra ne bouge pas dans les deux pllans qui com­po­sent cette séquence, les éléments dedé­cor (le ter­rain, l’herbe les mon­ta­gnes et le ciel) on été cal­cu­lés une fois, en tant qu’éléments non-animés (images fixes).
Rappelons que les éléments animés néces­si­tent autant de calcul de rendu qu’il y a d’images, ce qui est assez long lorsqu’il y a beau­coup d’éléments. Sur ces pllans, il y a énormément de sol­dats à l’image, donc tout ce qui peut être économisé en temps de calcul est sal­va­teur.
Les dif­fé­rents éléments qui com­po­sent l’image, rendus sur des cal­ques semi-trans­pa­rents seront ensuite ras­sem­blés sur la com­po­si­tion finale (images fixes et ani­mées).
Penchons-nous main­te­nant sur le sys­tème de géné­ra­tion de foule. On réu­ti­li­sera le sys­tème de par­ti­cu­les comme dans l’arti­cle pré­cé­dent sur les nuées de flè­ches, mais en l’amé­lio­rant un peu. Il faut d’abord ana­ly­ser ce dont on a besoin : de nom­breux sol­dats qui cou­rent. Pour recréer l’illu­sion de mul­ti­tude, il faut abso­lu­ment que les sol­dats soient dif­fé­rents (cou­leurs des tuni­ques, armes,, bou­cliers...) et qu’ils ne cou­rent pas tous de manière syn­chro­ni­sée, comme "marche au pas". On limite la dif­fi­cultée en ne pré­voyant pas de com­bats au corps-à-corps, uni­que­ment des char­ges.
Commençons par créer le ter­rain. Une simple plan­che hori­zon­tale suf­fira, si elle est suf­fi­sa­ment étendue. Elle ser­vira de sol, sur lequel les par­ti­cu­les glis­se­ront. Il peut être bos­selé de col­li­nes.
Ensuite, on peut créer des émetteurs de par­ti­cu­les, placés au dessus du ter­rain. Configurons ceux-ci pour qu’ils émettent un cer­tain nombre de par­ti­cu­les pen­dant un cer­tain temps.

Si on ajoute un champ de gra­vité, les par­ti­cu­les "tom­be­ront" sur le ter­rain, qui doit être un objet de col­li­sion, per­met­tant qu’elles s’y posent.

Un autre champ peut être adjoint au sys­tème de par­ti­cu­les : une force de vent. Les par­ti­cu­les glis­se­ront dans dans la direc­tion défi­nie par ce champ.

On peut également ajou­ter une tur­bu­lence pour que le mou­ve­ment des par­ti­cu­les se fasse en zig-zag.

Evidemment, toutes ces forces phy­si­ques doi­vent être para­mé­trées fine­ment pour que l’effet de dépla­ce­ment des par­ti­cu­les soit réa­liste. On pourra ré-ajus­ter les valeurs de ces para­mè­tres une fois qu’un soldat sera assi­gné pour chaque par­ti­cule...

Une der­nière chose à faire pour ces par­ti­cu­les est de défi­nir une autre force : ajou­ter un repous­soir entre chaque par­ti­cule si elles s’appro­chent trop les unes des autres. Ainsi, il n’y aura pas de soldat qui entre en col­li­sion avec un autre.

L’étape sui­vante est d’attri­buer un soldat pour chaque par­ti­cule. Comme il y peut y avoir beau­coup de par­ti­cu­les (et donc de sol­dats) dans la scène, il faut que chaque modèle ait une géo­mé­trie assez simple. Ceci dépend du niveau de détail sou­haité (selon la dis­tance des sol­dats de pre­mier plan par rap­port à la caméra).

Dans ce plan, les per­son­na­ges sont animés, il faut donc créer un cycle d’ani­ma­tion (qui se répète sans cou­pu­res) de marche ou de course pour le soldat.

Pour créer la mul­ti­tude, il est néces­saire de faire des varian­tes du soldat (avec des habits ou des cou­leurs dif­fé­ren­tes, des armes et bou­cliers avec des varia­tions...) et aussi, créer des déca­la­ges dans le cycle d’ani­ma­tion pour chaque per­son­nage. Si ce der­nier point n’était pas pris en compte, tous les sol­dats du sys­tème de par­ti­cu­les bou­ge­raient de la même manière ! Ce pour­rait être inté­res­sant pour une parade mili­taire, mais n’est pas l’effet désiré ici.

Dans la séquence animée, il y a 22 sol­dats dif­fé­rents, comme sur l’illus­tra­tion du haut de l’image ci-des­sous :

JPEG - 49.8 ko

Notons que sur l’illus­tra­tion du bas, tous les sol­dats mar­chent de la même manière (la posi­tion de leurs jambes sem­blent iden­ti­ques).

Donc, il suffit ensuite d’attri­buer à chaque par­ti­cule un per­son­nage choisi aléa­toi­re­ment (sous Maya, à l’aide d’un petit script d’une ligne). Il suffit de régler l’orien­ta­tion de la géo­mé­trie (un soldat) pour qu’elle s’aligne auto­ma­ti­que­ment dans le sens du mou­ve­ment, comme pour la nuée de flè­ches de l’arti­cle pré­cé­dent.

La géné­ra­tion de foule est ainsi ache­vée.

Pour aller plus loin, on peut com­pli­quer le sys­tème en ajou­tant des éléments de col­li­sion, ou des objets repous­soirs comme sur la vidéo sui­vante.

On peut flui­di­fier les chan­ge­mennts de direc­tion ou défi­nir un cycle d’ani­ma­tion pour"faire faire un vrage" au per­son­nage concerné. De la même manière, il estt pos­si­ble d’attri­buer une ani­ma­tion de combat à un per­son­nage dont la par­ti­cule s’appro­che d’une autre par­ti­cule (d’un sys­tème "ennemi").

Pour aug­men­ter l’effet de mul­ti­tude, on peut attri­buer une tex­ture de cou­leur unie à chaque per­son­nage (défi­nie aléa­toi­re­ment pour chaque par­ti­cule) et lancer le cal­cull de rendu des sol­dats. On obtient une mul­ti­tude de nuan­ces de gris qui ser­vi­ront pour aug­men­ter les dif­fé­ren­ces de per­son­na­ges, au moment du com­po­si­ting des cal­ques de l’image.

A la phase de com­po­si­ting, il faut ras­sem­bler les dif­fé­ren­tes cou­ches (images fixes de décor par exem­ple) et les éléments animés (les sol­dats, leurs ombres, les flè­ches...).

En cal­cu­lant les "rideaux" de fumée et de brume, il est pos­si­ble d’uti­li­ser le calque des nuan­ces de gris dif­fé­ren­ciant les per­son­na­ges pour mas­quer par endroit la brume sur les per­sonn­na­ges et aug­men­ter de cette façon l’effet de mul­ti­tude de l’armée.

Voilà une des­crip­tion basi­que de la géné­ra­tion de foules ani­mées (crowd simu­la­tion en anglais), mais les pos­si­bi­li­tés d’exten­sion de cette tech­ni­que sont iné­pui­sa­bles, à voir ce qui est néces­saire...

JPEG - 189 ko

Dans la même rubrique

Voici un trucage qui représente une action virtuellement impossible. Remettre un élément qui était flou, hors de la zone de focus de l’objectif de la caméra, net ! Évidemment, cet...
Ce plan a été particulièrement hardu à réaliser. On ne se douterait de rien en regardant sa version truquée (ci-dessus), et pourtant... La vitre du passager avant-droite n’était pas...
Toujours pour le court-métrage "Ring a Ding Ding" de Valérie Flores, un grand nombre de plans mettant en scène la bague, il était nécessaire de la mettre en valeur. Certaines...
Pour "Ring a Ding Ding", un court-métrage réalisé par Valérie Flores, il y eu un grand nombre d’effets à réaliser en post-production. Parfois, cela était pour la raison qu’ils...
Voilà un modeste projet où j’ai un peu mis en scène des morceaux de film. C’était à l’origine tiré d’une série de poses pour une séance photographique. Elles ont été assemblées en...
Ce projet est né d’une volonté d’expérimenter différents aspects du logiciel 3D. Pour le coup, j’ai trouvé intéressant de montrer des tests relativement peu concluants, d’assumer et...
Le réalistateur du court-métrage Toxic voulait ajouter une animation avec des aiguilles qui se plantaient à l’écran pour afficher les lettres du titre au moment del’apparition à...
Sur ce plan du court-métrage Toxic, c’est la seule fois où on aperçoit le visage du tortionnaire. Comme on est dans un univers onirique, où on se demande si c’est l’imagination du...
Toujours pour le court-métrage "Toxic" de Jopo (produit par FunkU Reprazent en 2007), ce plan nécessitait de matérialiser les ondes sonnores. Dans l’histoire, la tête du...
Explorons une série d’effets visuels pour un court-métrage : "Toxic", réalisé en 2007 par "Jopo" pour Funk U Reprezent. Le film a été tourné en pellicule puis monté en numérique. Il...
Voici un projet de court-métrage sur le Skate-board. Nous allons nous arrêter sur des techniques pour "vieillir" un plan, mais le montage du film est également intéressant pour...
Voilà un petit projet pour le titre d’une vidéo de skate : "T’inquiète", réalisée en 2007 par Darktone. Il s’agissait de créer une mer de nuages, qu’il n’avait pas été possible de...
Les plans avec la mer en gros plan ont constitué le plus gros travail dans ce projet d’animations médiévales. L’atmosphère du ciel a nécessité des nuages volumétriques animés et...
Dans le cadre d’un projet de jeu vidéo sur DVD ayant pour thème le jeu de rôle médiéval, une bibliothèque de plans a été réalisé en 3D. Plusieurs outils ont été développés pour servir...
Dans le cadre du projet d’animation du véhicule à voile sur la mer, voici la création de personnages en 3D, avec rig pour l’animation, vêtements en "cloth simulation" et fourrure......
Le projet que voici est une expérimentation technique. Il s’agit de simuler un bateau. Pour réduire le champ d’application, ce ne fut pas un bateau qui vogue sur l’eau (une...
Voici un petit projet pour une compagnie ferroviaire (la SNCF). Il s’agissait de réorganiser les ateliers de manière plus ergonomique, pour permettre aux ouviers de mieux gérer...
Un ami voulait monter un programme de télévision anglaise. Il lui fallait une séquence de présentation, et éventuellement un habillage pour les décors (il désirait filmer sur...
Toujours dans le cadre de ma formation universitaire, j’ai réalisé un projet pour le cours de compositing. Il fallait mixer plusieurs sources d’images animées (vidéo, 3D,...
Toujours dans le cadre universitaire, un projet de groupe a été proposé. Le sujet imposé était de réaliser une animation totalement en 3D (avec Softimage XSI) Ce fut l’opportunité...
Humpty Dumpty sat on a wall, Humpty Dumpty had a great fall, All the king’s horses ans all the king’s men, Couldn’t put him back together. Ce projet, en cours...
Ayant délaissé quelques temps la création numérique, me voilà à faire des projets universitaires en 3D (pour une formation technique, pas prioritairement artistique). La première...
Après avoir abandonné mon vieux Mac et le fidèle logiciel 3D, me voilà à expérimenter avec Blender (un logiciel gratuit qui tenait sur une seule disquette !) sur mon premier modèle...
Voilà un projet d’architecture et d’animation de personnages. J’ai tout d’abord réalisé un stade de manière assez simple (un profil révolutionné autour d’un axe vertical). Cette...
Le film "Jurassic Park" (de Steven Spielberg en 1993) avait marqué les esprits. C’était le premier film qui mettait en scène des animaux entièrement de synthèse. Pour...
Voilà de nouveau un film qui inspire une expérimentation technique : recréer une surface d’océan. A cette époque, c’était une tâche des plus compliquée pour les professionnels du...
Vous l’aurez deviné, ce projet était une copie d’une scène d’un film connu pour ses effets spéciaux. Le but était de recréer une image proche, travaillant l’éclairage intérieur et...
Voici venu le temps de tester les logiciels de paysage. Après quelques essais avec des générateurs de fractales, j’ai utilisé la première version de Bryce pour réaliser une paysage...
Cette image, entièrement en 3D représentait un projet avec beaucoup d’élements différents. Le but de l’exercice résidait dans les textures. Les bâtiments sont simples, mais les...
Voilà la plus vieille image que j’ai conservée. Il s’agit de la reproduction d’une scène du film Star Wars (probablement le Retour du Jedi) Elle date des années 90 quand...
J’ai commencé l’infographie à l’âge de 12 ans sur un vieux Macintosh de bureau. On m’a procuré Photoshop 3 avec sa documentation papier que j’ai dévorée en quelques semaines avant le...

Archives

février