Revenir au site

Un artiste technique au CDRIN

Entre créativité et technologie

10 octobre 2023

Dans cet article, l’artiste technique Christophe Marois nous explique sa profession qui allie créativité et savoir-faire technique. Il illustre ses propos avec deux projets multidisciplinaires réalisés au CDRIN incluant la génération d’images de synthèse.

Je m'appelle Christophe Marois et je suis artiste technique au CDRIN depuis bientôt deux ans. Lorsqu'on me demande ce qu'est mon travail, je réponds généralement «Je fais de la programmation et de l'art en même temps», ce qui semble satisfaire mon petit frère… Mais concrètement, un·e artiste technique, qu’est-ce que c’est? À quoi ressemble mon travail?

Avant de rentrer dans le vif du sujet, je commencerai par spécifier ceci: quand je parle de «technique», je fais référence à ce qui suit une logique stricte, des conventions ou des règles, et dont le résultat final est dénué de nuances. Le côté «artistique» englobe tout ce qui touche à l’art, à l’interprétation, à la créativité, et dont le résultat n’est jamais une réponse précise. À mon avis, l’art et la technique sont toujours présents, quelle que soit la situation, mais le ratio varie selon la tâche et la personne.

En haut, une addition suivant le principe technique, ayant une seule solution. En bas, une addition suivant l’idée artistique, ayant un nombre infini de solutions

Dualité de l'artiste technique

Il existe beaucoup de définitions valides pour décrire un·e artiste technique. Moi, je suis artiste technique, artiste généraliste et programmeur.

Être artiste généraliste comme moi, c’est être un «touche-à-tout» qui possède un éventail diversifié de compétences couvrant de nombreux aspects de la création. Certains artistes 3D choisissent de se spécialiser dans un domaine en particulier, comme la modélisation de personnage, le texturing ou l’éclairage, pour devenir des véritables expert·es. De mon côté, j’ai plutôt opté pour la polyvalence. J’en connais donc suffisamment dans la majorité des domaines pour être autonome quelle que soit la demande et ses exigences. L’artiste généraliste intervient là où la polyvalence est plus importante que la qualité de chaque détail: dans une preuve de concept ou une phase de prototypage au sein d’une petite équipe, par exemple.

Être programmeur, c’est d'élaborer des programmes informatiques, des scripts en utilisant différents langages de programmation. Je maîtrise Python et j’ai des bases en Javascript et C#. Je suis aussi familier avec plusieurs concepts informatiques. Avec ce bagage technique, je peux créer des outils pour faciliter mon travail d’artiste, développer des jeux, résoudre des problèmes ainsi que d’automatiser des tâches répétitives, entre autres!

Je suis artiste technique puisque j’utilise mes connaissances d’artiste et d’informatique en harmonie. Cette créativité technique me permet d’avoir une vision d’ensemble sur un projet et de simplifier son déroulement. Je joue le rôle d'intermédiaire entre les équipes et de vulgarisateur des concepts informatiques ou artistiques. J’offre des formations, et je trouve des solutions (autant artistiques que techniques) aux limitations rencontrées. J’alterne entre des responsabilités d’artiste et de programmeur, toujours en gardant la vision globale.

Cette combinaison me rend extrêmement indépendant, même qu’il m’arrive de réaliser des mandats en solo!

Cela dit, au CDRIN, je travaille la plupart du temps sur plusieurs types de projet, avec différents experts, ce qui me permet d’en apprendre sur de nombreux savoir-faire: avec Annick sur les approches pédagogiques et les engins de jeu, avec Vahe sur l’intelligence artificielle ou encore avec Olivier Therrien sur les shaders. Il n’y a pas de silo d’expertise au CDRIN. Même en télétravail, on maintient des échanges réguliers et une collaboration étroite au sein de l’équipe, ce qui encourage la multidisciplinarité et, au bout du compte, notre capacité à innover.

L’IA dans les costumes numériques

D’ailleurs, j’ai récemment collaboré avec Shaghayegh (Sherry) sur un projet de recherche en intelligence artificielle, visant à extraire un patron de vêtement à partir d'un costume 3D en vue d'effectuer des ajustements de coupe.

Différents patrons simulés sur un corps humain 3D

Dans cette recherche, j’ai exploré plusieurs logiciels de création de vêtements, évalué les éventuelles difficultés, et élaboré un flux de travail pour générer des modèles de vêtements 3D à partir de patrons 2D. Après avoir programmé les outils nécessaires pour ce processus, j’ai créé, avec l’aide d’Anakim Gosselin, patronniste, plus de 23 patrons en 20 tailles différentes. Sherry les a simulées sur différents modèles 3D de corps humains, constituant ainsi un ensemble de données (dataset) comprenant 2760 patrons accompagnés de leurs équivalents en 3D. Cette collection a servi à évaluer le modèle d'intelligence artificielle du projet.

Résumé simplifié du flux de travail

La génération de données synthétiques

Comme je le mentionnais, au CDRIN, je m’implique dans divers types de projet. Mon rôle d'artiste technique est particulièrement clair dans la génération d'images synthétiques. [Pour en savoir plus sur cette technologie, je vous invite à consulter l’article de mes collègues Sherry et Vahe: Le pouvoir des données synthétiques: Les moteurs de jeu vidéo pour améliorer l'IA]

De manière simplifiée, une IA (intelligence artificielle) a besoin de données pour apprendre, généralement issues du monde réel. Mon travail consiste à mettre en place un système qui produit des images réalistes, pouvant compléter ou remplacer les données réelles. Puisque les images synthétiques sont ajustables et peuvent être produites rapidement, nous obtenons une IA plus précise.

À gauche: Une vidéo de jouets en bois placés à la main (dans la vraie vie),
À droite: Un générateur de données synthétique (fait à l’ordi)

La création d’un générateur de données synthétique n’est pas toujours une tâche simple. Il existe de nombreux domaines d’application pour l'intelligence artificielle, ce qui implique parfois des adaptations dans la définition d’«images réalistes». Autrement dit, je dois parfois reproduire du visuel qu’on n’a pas l’habitude de voir et que je dois interpréter, que je n’ai jamais vu de mes propres yeux ou encore qui ne pourrait jamais être vu. Dans des projets antérieurs, j’ai eu à reproduire des images prises depuis un avion, des images prises à l’échelle microscopique. J’ai même dû reproduire des images prises par des caméras capables de détecter des spectres lumineux invisibles à l'œil humain.

Pour développer un générateur de données synthétique, je commence par analyser la situation et rassembler des références. Ensuite, j’identifie les facteurs qui peuvent varier, tels que la taille des images, la position et la couleur des objets. Puis j’évalue ce qui peut être réalisé par un·e artiste technique, un·e artiste ou un·e programmeur·se. Dans le cadre d’un projet d’équipe, ce processus est discuté et les tâches sont réparties en fonction des préférences  je ne suis pas un dictateur! Une fois le travail terminé, il ne reste plus qu’à assembler les composants et le générateur est prêt!

Afin d'illustrer le processus, je vais prendre l’exemple d’un petit générateur de jouets en bois. Supposons que le mandat soit de créer un ensemble de données permettant de compter le nombre de jouets d’une forme spécifique lorsqu’ils sont dispersés. Voici le résumé du travail:

1. Analyse de la situation et collecte de références

Il est nécessaire de créer un générateur simple, capable de disperser des jouets. Les images générées doivent permettre de déterminer le nombre de jouets pour chaque forme visible.

Les jouets ont des dimensions de 5 cm de large et présentent une forme arrondie. Leur texture doit refléter le grain de bois, et ils sont peints de diverses couleurs.

2. Identification des facteurs pouvant varier

  • La forme, la couleur, la position et l’orientation des jouets
  • L’angle de vue et l’éclairage

3. Estimation du travail

  • L'artiste 3D peut configurer un environnement avec une variété d’éclairages réalistes.
  • Le ou la programmeur·se peut automatiser le processus de capture de photos et de modification des facteurs.
  • L’artiste technique peut générer des jouets en bois et les disperser de manière procédurale.

4. Création et placement procédural des jouets en 3D (dans Blender)

5. Résultat final
Chaque image est enregistrée en plusieurs versions: une version photoréaliste, une version avec des couleurs en fonction de la forme, une version avec des couleurs selon la peinture du jouet et une version 3D simplifiée. Toutes ces versions serviront à entraîner et évaluer l’IA.

Mon parcours

J'ai étudié au Cégep de Matane en animation 3D et synthèse d'images. J’étais novice en modélisation à l’époque, ce qui m’avait légèrement inquiété les premiers jours du programme. Pour surmonter cette crainte, mon amie et moi avons sollicité l’aide d’étudiant·es de deuxième année. Grâce à leur générosité, nous avons rapidement acquis des compétences si bien que nous sommes devenus tuteur·es au sein de notre groupe.

J’envisageais de devenir artiste généraliste et c’est en deuxième année que ma trajectoire prend un tournant inattendu: un étudiant d'informatique, Adrian, m’introduit à la programmation. J’étais très curieux d’en savoir davantage sur le fonctionnement des logiciels utilisés en 3D, et sur la manière de simplifier le travail de mes collègues. En quelques mois, avec l’aide de cours en ligne et d’Adrian, j’ai pu acquérir des bases en Python.

J’ai entendu parler du métier d’artiste technique pour la première fois vers la fin de ma deuxième année. Il était évident que ce travail me passionnerait, mais malheureusement, il n’y avait pas de formation officielle à ce sujet au Cégep . Lors de mon stage en 3D au CDRIN, j’ai eu la chance de collaborer avec Julien (Julien a exercé le métier d’artiste technique). C’est lui qui m’a éclairé sur les aspects essentiels de cette profession.

Pendant mon temps libre et avec le soutien de mes enseignants, j’ai entrepris de me spécialiser en tant qu’artiste technique. Quelques mois plus tard, je rejoignais l’équipe du CDRIN.

Le code est-il essentiel à l'artiste technique?

Pas nécessairement. Il existe plusieurs profils d'artistes techniques, certaines personnes se spécialisent en animation, en jeu vidéo ou en surfacing, sans jamais écrire une ligne de code. Certains logiciels proposent un système de programmation visuelle, qui est tout à fait suffisant. Il serait beaucoup plus rentable pour un·e artiste technique de commencer par cela que d’apprendre un langage de programmation (bien que l’apprentissage de Python ne fasse pas de mal).

De nombreux logiciels utilisent des nodes, comme Blender, Houdini, Unreal Engine, Unity, Substance Designer et Nuke.

Utilisation des nodes dans Blender pour faire de la modélisation procédurale

Les technologies que j'utilise

Au CDRIN j'ai la chance d'utiliser de nombreuses technologies, en fonction du projet, de l'équipe et de mes préférences, jusqu'à maintenant j'ai principalement exploré:

  • Blender*
  • Unity
  • Unreal Engine
  • Houdini
  • Maya
  • ImageMagick*
  • Python*
  • Krita*
  • Inkscape*
  • Obsidian
  • Visual Studio Code

*Je tiens à souligner que ces outils sont open source et gratuits, ce qui est important à mes yeux!

Finalement, je suis vraiment enchanté d’exercer la profession d’artiste technique au CDRIN. C’est un environnement qui m’offre l’occasion de perfectionner mes compétences tout en participant à des projets dans lesquels plus souvent qu’autrement, plusieurs expertises sont appelées à collaborer. Dans mon cas, l’équilibre entre art technique est toujours présent, mais il varie en fonction des tâches et des personnes impliquées. Le métier d'artiste technique est un constant d'apprentissage!

 

CONTACT

Vous aimeriez en savoir plus sur nos opportunités? Écrivez-nous: info@cdrin.com