[ [ [ Tempête autour d’un château - Yannis Lehuédé

 

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 ce projet. Nous analyserons certains de ces éléments, le premier défi technique ici concerne l’utilisation de particules pour des nuées de flèches.

D’abord, le contexte du plan se situe avant l’attaque du château. Les défenseurs regardent en direction du large et préparent leurs arcs. C’est un moment de tension face à une mer agitée pour les soldats qui attendent sans bouger.

Les seuls mouvements dans l’image sont les vagues, les flammes des lanternes, les drapeaux, les nuages et les herbes sur la falaise, fouettées par le vent.

Ensuite, un flot de flèches sera envoyé vers le large, avec quelques flèches enflammées. Cela représente la libération de l’énergie accumulée pendant la tension de l’attente.

Techniquement, ce qui est intéressant est surtout l’aspect "compositing" (empilement d’images semi-transparentes) que proprement 3D, mais commençons par la nuée de flèches.

Les projectiles sont faites de particules, des éléments qui sont animées automatiqueement en fonction des lois de la physique, avec une part d’aléatoire.

Elles sont éjectées d’emetteurs placés en haut des tours et des mars du château dans la direction de l’océan. Le flot des particules sont déviés en fonction de la gravité et du vent. La trajectoire générale des particules décrit une parabole, étant lancées à 45° vers le haut, et retombent sous la force de la gravité. Comme l’angle et la vitesse de chaque particule diffère légèrement (d’ue valeur aléatoire) de la trajectoire générale, le flot de particules émises forme une nuée. En joueant sur les valeurs aléatoires et le nombre de particlues émises, on peut contrôler la forme et la densité de la nuée.

Ensuite, un objet géométrique est assigné à chaque particule. Ici, c’est un cylindre très simple avec une pointe et des "plumes" en queue pour représenter la fléche. On peut utiliser plusieurs modèles, avec des plumes de couleurs variées ou des modèles de différentes longueur.

Pour que le mouvement de ces cylindres ressemblent à des flèches, il faut paramétrer les "instances" de géométrie pour qu’elles soient toujours alignées dans le sens du mouvement. La point de la flèche en l’avant.

Cette technique peut également être utilisée pour reproduire un vol d’oiseaux ou une simulation de foule. Cela nécessite parfois la gestion des collisions, comme sur la vidéo suivante où les particlues sont normalement détruites lorsqu’elles rencontrent un objet "de collision". Un script a été développé pour remplacer la flèche qui rencontre la cible par la même géométrie, en mémorisant la position et l’angle d’attaque lors de la collision.

Outre l’animation des flèches, un autre problème se pose : ce plan comprend énormément d’éléments animés et beaucoup de détails. Pour effectuer le rendu de cette scène, une distinction entre les éléments immobiles et animés a été faite. La scène a donc été décomposée et chaque élément a été calculé séparément sur fond transparent.

Les éléments immobiles sont :

  • le château, les murailles et les tours,
  • les falaises du premier plan et au lointain,
  • les éléments en bois accolés au château.

Les éléments animés :

  • les drapeaux,
  • les torches enflammées,
  • les soldats postés en haut des tours et des murailles,
  • l’océan,
  • le ciel et les nuages,
  • l’herbe agitée par le vent,
  • les rideaux de brume,
  • les nuées de flèches...

Avant le rendu de tous ces éléments, il a fallu préparer des caches et masques ainsi que des passes spéciales pour leurs ombres et les reflets quand c’était nécessaire.

Les masques étaient des reproductions grossières de la géométrie des murailles ou des falaises noires.

Ainsi, les éléments immobiles ont été calculés une seule fois et chaque élément animé a été rendu séparément. Avec cette optimisation de la scène, on gagne du temps par rapport à la solution de tout calculer sur la même image.

On peut aussi appliquer des traitements par la suite sur des éléments individuellement (fou de mouvement sur les nuées de flèches, ajout d’embruns sur l’océan...

Les flammes des torches ont été multipliées par ce moyen aussi, en évitant d’en calculer plusieurs dizaines en 3D, tout comme les rideaux de brumes.

Cette méthode de séparation des éléments permet de représenter plusieurs scènes en ajoutant ou enlevant des éléments sans avoir à tout recommencer (par exemple : un plan avec des archers qui attendent, un second lorsqu’ils bandent leurs arcs, un troisième avec les nuées de flèches...) mais aussi d’ajuster les couleurs de chaque élément séparé pour qu’il y ait une cohérence dans l’image.

Puis encore d’autres illustrations, couplées avec la simulation de foule décrite dans un autre article.

Archives