Historique
Revenons dans le temps afin de bien comprendre d’où vient David, Mage voyageur.
Indie Asylum
À l’Asylum, David intègre une petite équipe de guerriers qui se penchent sur des projets de grande envergure. Il adapte les projets sur Unreal en appliquant les technologie reliées à Lumen et Nanite, travaillant de façon pionnière à adapter certain systèmes à ces nouvelles technologies.
Ceci lui a permis de travailler sur :
Création de systèmes de particules élaborés,
Approfondissement de connaissances en shaders et visual scripting (Blueprint)
Adapter d’anciennes technologies à Lumen et Nanite,
Éclairage et effets environnementaux,
Initiation au tooling,
Documentation et optimisation.
-
Travail d’analyse approfondie sur le système de rendu spécifique à Unreal 5 ainsi qu’un travail d’adaptation des plugins externe à ces deux systèmes, incluant :
Changement de variables utilisées pour les shaders
Changement d’algorithme pour la déformation de vertex en Nanite
Modification des sources de lumière
-
Combinaison et optimisation d’effets de particules, autant sous forme d'animation spritesheets que dans les générations constantes de particules.
-
Application de l’expertise dans les systèmes nodaux afin de créer des altérations visuelles (systèmes de particules, matériaux, postprocess) en temps réel sur les projets de jeu.
Travail d’outils et d’architecture d’outils via Blueprint et architecture.
Travail d’architecture et modification de matériaux dans le Material Graph
-
Outillage des artistes dont sur ces sujet:
Static High poly vertex painting layers avec Nanite
Système d’éclairage via data en temps réel avec changement d’état en interpolation
Le pooling et la gestion des effets de particules volumétriques
Émission de rapport hebdomadaire sur les changements des settings Unreal, accompagné des suggestions d’optimisation et des conseil sur l’altération des paramètres.
Ludia
Dans cette période, David a travaillé sur l’architecture de rendu plus en profondeur (Unity). Ici il a établi un système afin réduire le nombre de matériaux, d’instances de matériaux et de shaders. Ainsi, il a travaillé dans le custom render pipeline sur un projet fondé bien avant URP. Il y a également pris de l’expérience porting sur cellulaire.
Ceci lui a permis de travailler sur :
Shader Variant stripping,
Codage en HLSL pour concevoir des Uber Shaders,
Assemblage de data assets téléchargeables,
Communication entre art et programmation
-
La formule utilisée fonctionne en trois étapes.
La première demande la conception de keywords dans le script de shader HLSL (voir la section Uber Shader pour plus de détails).
La seconde demande la création d’un script IPreprocessShaders (nécessite un Scriptable Pipeline). C’est ici que l’exécution du stripping se déroule, donnant au compileur de l’exécutable les conditions pour retirer une variante, étant une combinaison de Keywords.La troisième demande des outils de vérification pour les assets bundles. Par exemple il a utilisé celui-ci :
(https://github.com/faelenor/asset-bundle-analyzer) -
Réduction de la librairie de shaders de 100 shaders à 5 Ubershaders.
Ce travail est directement relié au shader stripping considérant la quantité de keywords utilisés afin de créer le plus de variantes shaders à partir de cette petite quantité de shaders.Une architecture basée sur ces keywords et une création sur mesude du GUI pour utilisation par les artistes.
- Shader opaque
- Shader transparent et additif
- Shader multi-uvs
- Autres Shaders spécifiques (exemple: à fourrure)
Un travail d’adaptation modulaire a été produit pour rassembler logiquement des shaders (exemple: Un shader d’addition et un de soustraction utilisent les mêmes variables, donc nous gardons ces informations en commun entre les variables). -
Travail d’ajustement des couleurs et des textures de l’environnement à une data qui encaisse l’information pour la déployer en temps réel via la Database sur le serveur. Système créé afin de changer les saisons et les événements sans devoir créer une mise à jour officielle.
-
Assemblage de data assets téléchargeables pour lancer de nouveaux rosters sans avoir à créer de nouvelle mise à jour.
Travail constant avec les programmeur afin d’assembler le système de façon cohérente lors du chargement sur l’appareil mobile.
Luckyhammer
Dans un temps plus bref, David a conçu de l’éclairage, des effets spéciaux ainsi que de l’optimisation d’assets dans l’univers Lovecraftien. Durant ce temps, il a pris les atèles de la documentation, première ébauche de ce qui deviendra une passion pour l’enseignement et la vulgarisation.
Ceci lui a permis de travailler sur :
Deferred lighting dans Unity (incluant manipulation du .cginc et .hlsl d’éclairage),
Mise en place d’un système pour intégrer les postprocess,
Polissage des environnements et de l’ambiance
-
Expérience à la fois déjantée puis classique de l’univers Lovecraftien, il doit à la fois garder puis détruire ce qu’il connaît des règles d’éclairage, ce qui lui ouvre une porte sur de nouveau concepts à explorer :
Éclairage Dynamique
Effet de translucidité
Éclairage Différé -
Travail des effet dynamiques intégrés à la caméra pour donner des effets visuels périodique selon la position du joueur dans le monde.
Travail de l’effet peinturé selon la distance. -
Travail approfondi et étude des ambiances avec la directrice artistique, documentation et évaluation des besoins visuels.
-
Assemblage de documents texture avec illustration afin de concevoir l’éclairage et les postprocess pour les cinématiques. Documentation pour les bonnes pratiques artistiques en relation aux textures et shaders en communion avec l’éclairage.
Études et premiers contrats
Ajoutant des cordes à son arc, David passe par deux écoles notables où il commence en tant qu’artiste 3D. Il crée un projet étudiant avec 49 autres étudiants au Campus Ubisoft. Ensuite, il passe au études supérieures via l’université, au NAD. Il y apprendra à travailler sur sa vocation qu’on lui connaît aujourd’hui : les arts techniques, dont l’éclairage et les shaders.
Ce qui le met à part du groupe est son exploration pionnière de Unity au courant de ses études en 2013, logiciel qui n’était pas/peu enseigné à l’époque.
Il a eu quelques contrats dans des studios aux valeurs exotiques, le poussant à approfondir ses connaissances et à apprendre à travailler en équipe dès cette époque.
Ceci lui a appris à travailler sur :
Modélisation 3D,
Éclairage et systèmes de rendus,
Shaders
Rigging,
Textures et UVs
-
Reconnaissance de mon travail sur la modularité des textures pour différents objets.
Travail de modélisation low-poly avec bonne gestion de la forme dans les trois dimensions séparément.
-
Autant dans les logiciels 3D (3DSMax, Maya) que dans l’engin de jeu (Valve Hammer, Unreal 3, Unity), travail de l’éclairage au niveau artistique et compréhension technique des systèmes de rendu.
Travail en tant qu’artiste d’éclairage sur tous les projets durant mes études, autant collégiales que universitaires. -
Description text goes here
-
Assemblage de data assets téléchargeables pour lancer de nouveaux rosters sans avoir à créer de nouvelle mise à jour
-