L’échapée – Sebastien Vandeplassche

Making-of de L’échapée, un court-métrage très bien réalisé par Sebastien Vandeplassche

Le genre de court-métrage que j’aime bien: rythmé, rapide et efficace ! La mise en scène est là ainsi que la technique. Il y a plein de petits détails bien placés et j’ai trouvé la mécanique du court vraiment bien rodée. Avant d’attaquer, le fameux pitch : Une course vitale contre une entité mystérieuse.

Concept

Mon concept est une mise à jour d’un vieux projet réalisé en 2001 avec des outils plus modernes. Au lieu de faire des images fixes, j’ai pensé que ça serait plus intéressant d’en faire une animation pour connaître mon potentiel et la difficulté de la réalisation. J’ai ajouté une entité mystérieuse qui a un aspect de fumée. Ne connaissant pas sa véritable intention, il n’a pas d’autre choix que de s’échapper.

Inspiration

Pour les décors, je me suis inspiré des différents lieux urbains. Mes photos et les images glanées sur le net sont primordiales car elles me permettent d’avoir une bonne progression et de mieux définir les différentes étapes du projet.

a_001

Les deux décors ont été réalisés à part, je séparerai le processus du développement en deux parties.

Rue

Modélisation

Je me servais souvent de mes références afin de m’aider à visualiser et à modéliser. Je m’étais servi un modèle « humain » pour avoir une estimation cohérente des proportions et des mesures.
La modélisation ne représentait pas de difficulté majeure, elle était souvent assez simple. Je partais souvent d’une boîte ou d’un plan et je les convertissais en edit poly, je faisais quelques chanfreins pour mieux capter la lumière. Le modificateur FFbox a toujours été très utile pour déformer la plupart de mes objets.

a_002 a_003 a_004

Pour les modèles où le nombre de duplication était important, par exemple les plaques, je prenais soin de les déplier au départ sur quelques canaux de texture avec un Unwrap UVW. Une fois la duplication terminée, j’ajoutais un modificateur Displace avec une texture de bruit pour donner une surface irrégulière. Comme la répartition du bruit était trop uniforme, je créais un autre canal de texture sur ce modèle avec un UVW Mapping de type XYZ to UVW. J’ajoutais à la suite un Unwrap UVW que j’éditais pour éparpiller les objets. Cette méthode me prenait un peu du temps mais cela allait aussi me servir à texturer pour plus tard.

a_005 a_006 a_007

J’appliquais également ces méthodes sur les clôtures en béton, sur les barrières de jersey, sur le béton du dessous et du côté du pont, et pour finir sur les plaques du sol en béton, même si la plupart des objets n’ont pas de Displace.

a_008 a_009 a_010

Une fois définie une longueur suffisante de la rue, je mettais en place deux types de space warps : un FFbox et 2 Bends dont j’englobais la rue. Je sélectionnais les objets qui étaient sur la partie inférieure du sol, à l’exception de la façade, et je les liais sur le FFBox que je l’avais déformé pour faire baisser le niveau de la rue afin de laisser de l’espace entre le sol et le pont. Je prenais ensuite tous les objets visibles sur le viewport et je les liais sur les deux bends pour donner une route sinueuse.

a_012 a_013 a_014

J’avais récupéré 3 arbres qui se trouvaient sur le net, j’ajoutais un material by element sur les feuilles pour faire varier légèrement la couleur (pas encore visible). Je les ai convertis en V-Ray proxy pour économiser quelques ressources et je les disposais aléatoirement avec des tailles différentes sur le long des clôtures et aussi en dehors de la zone. J’utilisais V-Ray Fur pour créer quelques brindilles d’herbes. Je plaçais un plan sur un niveau légèrement inférieur au sol en béton pour découper ce plan avec un boléen. Ainsi je pouvais répartir plus efficacement les herbes.

a_015 a_016 a_017

Textures

Avec seulement mes 5Go de Ram, je ne pouvais utiliser de grandes textures bitmap. Donc la solution pour moi était de faire une combinaison de petites textures bitmaps réitérables avec des textures procédurales. J’utilisais l’excellent plugin gratuit BerconMaps (qui contient 5 textures différentes) pour étendre le contenu. J’ai le plus souvent retenu le BerconNoise au pattern complexe, le BerconGradient, et le BerconMapping.
Voici un exemple où je cherchais à faire une tache d’écoulement sur une façade. En utilisant le Gradient ramp l’effet était répétitif et peu convaincant, cela était dû à l’absence du mode xyz du bruit. Avec le BeconMapping, une texture de bruit (ou autre) allait servir à déformer la texture de dégradé en fonction de la valeur de strength, et comme le bruit était en mode xyz, l’effet était non répétitif.

a_018

D’autres exemples de ce qu’on peut faire avec le BeconMapping, la texture de base se déforme selon la valeur d’une texture (ici du bruit). Je les utilisais souvent pour faire des taches, des motifs, des effets en tous genres d’un aspect différent.

a_019

Pour texturer les différents modèles, j’employais très souvent une texture Composite et je la complétais des fois avec une texture Output pour donner plus de contraste en jouant sur la courbe. Sur la base d’un composite, j’utilisais une seule texture bitmap suivi d’une grande majorité de procéduraux avec ou sans masques de texture. L’effet de répétition était presque invisible et le résultat pouvait être réaliste. Pour mieux m’aider à visualiser le résultat étape par étape, je mettais le composite en self-illumination sur un shader standard et je lançais le rendu en « ActiveShade ».

a_020 a_021 a_022
a_023 a_024 a_025

Lighting

Ici pas de technique particulière pour les éclairages constitués d’une lumière directe et d’un VrayLight sur une demi-sphère qui avaient des réglages simples.

a_026 a_027 a_028

Shader

Là, que des matériaux VRay, pas de technique particulière non plus. Les diffuses, les reflects, les reflections glossiness, les bumps et les opacity sont employés avec ses textures, la plupart du temps j’utilisais des valeurs sans textures. Je laissais toujours la valeur de bump par défaut car le composite contenait de nombreuses textures, je manipulais plutôt le bump amount qui se trouve dans le Output de la texture.

a_029

Animation

J’animais les trois affiches avec le modificateur cloth pour les faire bouger au gré du vent.

J’employais l’outil Reactor pour mettre en mouvement le réverbère et le ballon. Chaque objet avait des propriétés physiques (la masse, la friction et l’élasticité) auxquelles j’attribuais des valeurs qui correspondaient le mieux aux types de matériaux qui interagissaient avec l’objet en mouvement. Les deux câbles était animés avec le modificateur Reactor rope et était attachés sur le réverbère. Face à l’effet aléatoire de la simulation, j’avais dû changer les différents paramètres jusqu’à obtenir l’effet désiré.

a_030 a_031 a_032

J’utilisais le Curve editor pour faire bouger la caméra. Je séparais en plusieurs frames avec plusieurs caméras pour simplifier le processus. J’avais créé une base de mouvement de course que je combinais avec un autre mouvement plus complexe en utilisant l’Animation Layer. Cet outil me permettait de conserver sous forme de calque les deux mouvements et de les retoucher plus facilement. Une fois terminé, je fusionnais toutes les caméras en une seule avec un script Animated Align que je retouchais à la suite pour assurer la fluidité des différentes transitions.

a_033 a_034 a_035

Je réalisais la fumée avec FumeFx. J’avais d’abord conçu une scène optimisée pour réduire la consommation en Ram et CPU pendant le calcul de la simulation. Je mettais en place plusieurs boîtes sur des portions dont j’adaptais la taille en fonction de la durée et de la vue de la caméra en mouvement. Les émétteurs produisaient uniquement de la fumée en bougeant sur une trajectoire définie.

a_036 a_037 a_038

Render Settings

Deux types de rendu étaient utilisés: un flythrough et un moving objects. Le premier était un rendu statique sans les objets animés et le deuxième avec, pour lequel je plaçais des spheres gizmos pour optimiser le calcul sur une zone-trajectoire visible de ces objets. Le color mapping était en Exponential pour donner l’aspect réaliste d’une scène extérieure. Je ne pouvais utiliser le render element car je n’étais pas en mode Linear. Mais comme je n’avais rien à retoucher, cela ne me posait pas de problème.

a_039 a_040 a_041

Egouts

Modélisation

Le décor était conçu au départ avec plusieurs volumes que j’accomodais avec les outils d’edit poly. Je répartissais de manière presque uniforme la densité de maillage du décor pour pouvoir ajouter du relief avec un turbosmooth. Les éléments qui assuraient le déplacement des passagers étaient réalisés avec des formes simples. Je liais l’ensemble de la scène sur des 2 bend space warps qui sont les mêmes que ceux de la rue. Les barres d’appuis et leurs supports présents le long du tunnel étaient liés en plus sur un noise space warps pour donner un aspect légèrement distordu.

b_001 b_002 b_003
b_004 b_005 b_006

Avec le turbosmooth, je densifiais le maillage de manière à donner des bosses et aussi à rendre irrégulières les surfaces avec un modificateur Noise.

b_007 b_008 b_009
b_010 b_011 b_012

Le casque était délicat à réaliser car il contenait pas mal de détails et d’éléments. Je visualisais régulièrement de nombreuses références pour aboutir à ce résultat. Je simulais la gravité des maintiens de tête avec Reactor que je les convertissais en edit poly à la suite. De même pour les gants mais avec cloth cette fois.

b_013 b_014

Textures

Comme sur la rue, j’utilisais la même méthode de texture. En raison de sa visibilité entière et de ses textures procéduraux, la charge du calcul en CPU était assez lourde pour faire un rendu animé, je le convertissais en render to texture car j’avais encore de la marge au niveau de la Ram. Cependant j’atteignais rapidement sa limite avec mes 3 textures très haute résolution en ayant calculé sur des portions clés alors qu’il me restait encore à calculer le long du tunnel, je m’arrangeais avec l’éditeur Unwrap uvw pour copier certaines textures avec les coordonnées de mapping sur les portions manquantes en des positions, rotations et symétries différentes.

b_015 b_016

Lighting

Je plaçais un couple d’omni à l’intérieur des chacunes des lampes dont un omni éclairait la scène en excluant ses verres. L’autre omni éclairait uniquement ces derniers pour leur donner de l’éclat, de l’intensité. Les éclairages tels le ciel et le soleil de la rue étaient encore présents dans la scène, les réglages restaient les mêmes.

b_017 b_018

Animation

Le ballon était toujours mis en mouvement avec Reactor. De même pour la fumée avec FumeFx, une partie était utilisée avec Particleflow comme émetteur pour lui faire suivre les murs.

b_019 b_020

Le liquide dans la fosse était animé avec des textures sur un VrayDisplacementMod. L’eau suivait un courant dont je devais faire varier la vitesse selon la qualité, les bords contenaient un dépot boueux qui stagnait légèrement.

b_021 b_022 b_023

Rendering

Avant de faire le rendu, j’avais mis en place la technique de linear workflow (LWF) pour que la lumière se propage plus loin dans la scène intérieure. Ici toujours les deux types de rendu, un « flythrough » et un « moving objects ». Comme l’environnement était clos, le scale du light cache était en mode World pour avoir un aspect uniforme et constant. J’évitais de mettre une valeur assez basse sur le sample size car sinon son aspect aurait été très granuleux. Le Render Element était activé avec ses différentes couches pour pouvoir faire une composition et faire quelques retouches dans After-Effects.

J’enregistrais en deux formats (Exr et Png) depuis le Vray frame buffer. Pour le Exr, je n’avais besoin que de la couche de réfraction (les verres lumineux), ce que j’expliquerai plus tard. Même si le clamp output était activé, j’avais mis une marge de valeur à 4 pour profiter un peu de sa plage de couleur étendue. Les rendus seront plus sombres car le gamma est désactivé (don’t affect colours (adaptation only)) que j’appliquais dans After Effects, afin d’avoir un rendu propre.

b_024 b_025

Post-Production

Dans un projet nouvellement créé, j’importais dans une composition les 2 types de rendus et l’ambiant occlusion que j’avais rendu à part. J’opérais de même pour les fumées qui se trouvaient dans une nouvelle composition. J’enregistrais le projet et je passais à la 2ème étape du processus.

c_001 c_002

J’ouvrais un deuxième nouveau projet pour faire la composition de l’égout. J’activais le protocole du LWF en changeant la profondeur des couleurs en 32bits et en sélectionnant le sRGB IEC61966-2.1 tout en activant le Linearize Working Space. Le gamma 2.2 était appliqué automatiquement sur le format Exr (si en 32bit), contrairement au png pour lequel je l’activais manuellement sur Interpret Footage.

c_003 c_004

Je retouchais, voire accentuais le reflet du sol de manière sélective avec le MultiMatteElement. Cette couche, qui contenait 3 couleurs sur des éléments clés, était idéale pour en faire un masque. J’en faisais de même sur le ballon, sur l’eau (avec un autre MultiMatteElement). La spéculaire était également retouchée. Une fois terminé, je fusionnais les images en une seule, en png, excepté la couche de réfraction que j’enregistrais toujours en Exr pour appliquer définitivement le gamma 2.2.

c_005 c_006

Je revenais sur le premier projet et j’importais les images retouchées de l’égout dans une nouvelle composition. Les deux types de rendu de la rue étaient fusionnés en un seul pour optimiser l’accès au disque dur et l’affichage. J’appliquais des corrections colorimétriques sur des calques de réglages afin de donner une certaine ambiance.
Sur la composition de l’égout, j’avais remis à 0% l’opacité du calque Green tone et je copiais-collais les 2 calques de la rue pour assurer une certaine continuité. Une fois arrivé dans la descente de l’égout, les calques blue-orange tone redescendaient à 0% et en même temps je remontais à 100% le calque green tone. Cela changeait de façon subtile les différentes tonalités.

c_007 c_008 c_009

Je superposais les deux scènes sur une autre composition, la rue était en premier plan et l’égout en arrière plan. J’alternais le plan une fois arrivé sur une frame clé, c’est à dire le moment où on voit l’envers du décors de la rue.

c_011 c_012 c_013

Pour l’effet d’éblouissement, je devais utiliser une technique de flou, le problème étant que le ciel se coupait sur le bord du cadre ce qui occasionnait une légère transparence. Donc j’exploitais le script Overscan dans 3dsMax pour générer une marge par rapport à sa taille d’origine sans pour autant modifier sa perspective. Une fois prêt, je lançais un rendu animé du ciel sur une scène vide et un autre sur l’égout et sa plaque uniquement en alpha (sans texture ni éclairage) du moment où on voit le ciel jusqu’à ce que, pendant la descente du tunnel, les bords forment largement un cercle complet. Ces marges permettaient de faire déborder le flou dans la composition.

c_014 c_015

Pour faire vaciller la luminosité dans l’égout, je m’étais servi la fonction wiggle pour faire varier aléatoirement l’opacité sur un calque de réglage avec une exposure. C’était la raison pour laquelle je conservais toujours dans le format Exr la couche de réfraction (contenant les verres lumineux) pour éviter de virer dans un ton grisâtre.

c_016

Le ReelSmart Motion Blur (lié par la passe de vélocité) était exploité pour générer les mouvement de flou. J’additionais un Radial blur au début de l’animation pour engendrer une impression de frénésie de course.

Il me restait une touche finale: le clap de fin. J’exécutais des rendus dans Max qui consistaient une combinaison des effets de particules et de textures qui dissipaient le texte. Je les mettais dans une composition d’After Effects, j’insérais une texture d’une projection lumineuse que j’éclairais, faisais vaciller, bouger et trembler avec la fonction wiggle toujours sur un calque de réglage pour plus de souplesse. Je terminais par une correction colorimétrique pour améliorer le rendu visuel.

c_017 c_018 c_019

J’espère que mon « Making-Of » vous a plu et que ça a été instructif pour vous. Merci à tous pour avoir pris le temps de le lire et un grand merci à Matt de m’avoir permis de le publier.

 

Join the discussion 2 Comments

  • JMEMY dit :

    C’est juste mortel! Merci!

  • Mathias dit :

    Bravo!
    Le court marche très bien, on se prend vraiment dans la frénésie de la course sans parler de l’énorme travaille de texture… !!!
    Le making of est très bien fait, j’ai appris beaucoup de choses.
    Encore bravo et merci!