AywaAl Wan
Après plusieurs mois de travail, je suis très heureux de pouvoir présenter le vidéoclip musical réalisé en 3D, pour le morceau Al Wan, du groupe Aywa. L’esthétique choisie représentait un défi à la fois artistique et technique, dans la mesure où il est intégralement composé de particules, et vise à reproduire l’effet de l’encre se mouvant dans de l’eau.
Inspiré par la calligraphie aussi bien que par l’atomisme dans anciens, il s’agit d’évoquer une méditation poétique sur la spiritualité et le rapport à ce qui nous dépasse. L’ambition du métrage est de figurer une histoire de l’humanité, depuis l’échelle microscopique des premiers organismes monocellulaires, jusqu’aux dimensions impensables des galaxies et de leur myriades de planètes.
Un petit défi, sur le plan artistique. car il s’agit non seulement de reproduire en 3D l’effet si spécifique de l’encre dans de l’eau, mais également de donner forme à travers ce prisme à un ensemble d’objets, d’êtres et de situations qui conservent malgré tout un sens, esthétique et visuel.
Sur le plan technique également, car il a été nécessaire de simuler, de manière physiquement réaliste, un très grand nombre de particules, et de rendre le tout de manière convaincante. Il y a en moyenne entre 50 et 100 millions de particules par plan moyen de 250 images. Le métrage est rendu en 24i/s, et il dure un peu plus de 4 minutes, ce qui monte le nombre final de particules à plusieurs milliards. Tout a été produit grâce au logiciel de production 3D/Simulation Houdini.
Le temps de travail total sur le film s’élève à 5 mois, et a demandé plus de 300h uniquement pour le rendu.
Al Wan signifie “couleurs” en arabe, mais peut métaphoriquement également décrire la variété, ou la diversité. C’est une signification que nous avons essayé de traduire visuellement, en produisant un métrage en noir et blanc, auquel s’ajoutent peu à peu des tâches de couleurs, pour culminer dans une symphonie chromatique.
Inspirations
L’une des inspirations principales est le petit chef-d’oeuvre de réalisation et de technique qu’est cette publicité pour la télévision chinoise CCTV. Un grand merci à certains de ses techniciens qui m’ont donnés quelqiues directions techniques pour la réalisation de ce clip, sur les excellents forums officiels de Sidefx ainsi que sur le Reddit dédié à Houdini, de vraies communautés de passionnés, et de grands techniciens et artistes.
PérimètreTechnique
L’ensemble du clip a été réalisé sous cette merveille de logiciel qu’est Houdini, avec quelques éléments de textruging réalisés avec Substance Painter.
L’essentiel du travail (et de la difficulté !) a consisté à trouver des solutions à la fois techniques et artistiquement satisfaisantes pour diriger un très grand nombre de particules.
Si on veut faire les calculs, il y a entre 50 et 100 million se particules constantes par shot moyen de 250 images, le film est rendu en 24 images/s, et il dure au total un peu plus de 4mn, ça fait en tout plusieurs milliards de particules générée pour tout le film ! Et l’ensemble du cache de simulation pèse un peu plus de 600go…
La technique utilisée est celle de l’advection de porticules à partir de volumes. Elle consiste, en résumé, à produire une simulation de fumée (volume), dirigée selon un certain nombre de paramètres physiques (turbulences, noises, flotabilité, etc…), et de « calquer » dans un second temps la vélocité des particules sur celle de la simulation de fumée.
Un (très) grand nombre de particules
L’encre, et l’effet si particulier qu’elle donne lorsque plongée dans l’eau, est composée en réalité de milliers de particules microscopiques qui, mises bout-à-bout, forment cet effect filandreux caractéristique. Dans la mesure où on essaie au maximum de se rapprocher des conditions réelles, il faut donc simuler exactement la même chose en 3d, avec un système de particules. Et ça tombe très bien, car Houdini est spécialisé dans ce genre de simulations, au point où il est utilisée pour élaborer des simulations scientifiques.
L’idée est donc d’augmenter considérablement le nombre total de particules, à plusieurs millions (50/100 millions par plan). L’une des techniques utilisées pour cela est appelée « wedging ». Elle consiste à mettre en cache plusieurs fois le même ensemble de particules, mais en changeant à chaque itération la « seed » dirigeant la position de départ de chaque particules. On densifie ainsi le nuage de particules pour s’éloigner de l’effet granuleux et s’approcher au maximum de l’effet filandreux en question.
Wedging
En savoir plus sur l'aspect technique du wedging dans Houdini
Lors de la mise en cache de la simulation, dans le même nœud, on crée un attribut de wedge qu’on utilise pour piloter le paramètre ‘seed’ de la simulation de particules (‘pop’, dans le langage H). De cette manière Houdini mettra en cache la simulation autant de fois que le nombre de wedges indiqué (c’est-à-dire que si la simulation a 500 000 particules et que 2 wedges sont indiqués, on obtient 2 caches avec 500 000 particules chacune). Mais comme on utilise l’index de wedge pour piloter l’attribut seed de la simulation, chaque cache aura un attribut seed différent, et donc chaque particule dans la deuxième simulation sera à un emplacement légèrement différent de sa jumelle dans l’autre simulation. Conceptuellement, comme beaucoup de choses dans Houdini, c’est similaire à une boucle « for » dans les langages de programmation : on itère sur une opération spécifique tout en modifiant certains de ses paramètres internes.
Enfin, on merge le nombre total des wedges dans le nœud de cache (il sortira 1 million de particules, selon mon exemple précédent). C’est ce que j’ai fait dans la plupart des plans, en montant parfois jusqu’à 6 wedges, chacun avec 10 ou 20 millions de particules.
Interpolation
Je ne vais pas entrer trop dans les détails ici, car cela implique un peu de code vex et prendrait du temps à détailler. Mais autant que je sache, certains systèmes (comme Krakatoa, qui est toujours le roi dans ce domaine, mais que je n’ai pas réussi à configurer et à utiliser efficacement, donc j’ai opté pour une solution ‘full’ Houdini) ont une manière très spécifique d’interpoler entre les différentes positions des différentes particules. Dans certains des rendus du clip, j’ai essayé de reproduire cette façon de travailler, en calculant la position intermédiaire de la même particule à deux instants de temps, et en positionnant les particules à ces emplacements intermédiaires.
Enfin, ce genre de simulation exige un assez grand nombre de substeps.
Matériaux et rendu
<p style= »text-align: justify; »>Donc, l’idée est d’avoir un très grand nombre de particules, à une échelle très petite, mais cela peut ne pas suffire pour obtenir l’aspect vaporeux désiré. Un matériau qui n’est pas totalement opaque à certains endroits permet de révéler la profondeur du nuage de particules.
Une touche finale consiste à d’activer les options de flou de mouvement et de vitesse sur le moteur de rendu (ici Redshift), cela aidera à éviter l’aspect granuleux abhorré (!).</p>