Mises à jour graphiques de STO - partie 2Dans la première partie de cette série, je vous ai parlé des mises à jour graphiques que nous allons apporter à
Star Trek Online à l'occasion de sa sortie sur PS4 et Xbox One. Le système de deferred shading nous a permis de placer des lumières à bien plus d'endroits que nous ne le pouvions auparavant. Les sondes lumineuses, quant à elles, apportent un niveau de réalisme subtil mais efficace aux environnements en réfléchissant la lumière et en offrant des réflexions plus précises. À présent, j'aimerais vous en dire plus sur la façon dont nous allons procéder à ces améliorations, et vous montrer certains de leurs résultats.
Commençons par les lumières, ou la tâche dantesque qui consiste à refaire l'éclairage d'un jeu comportant plus de 1000 types d'environnements ! Il est toujours bon de commencer par l'approche la plus simple. Nous avons commencé par regarder comment l'éclairage existant se comportait avec le deferred shading. C'est très simple, étant donné qu'il s'agit plus ou moins d'un morceau de code qui peut être activé ou désactivé pour l'intégralité du projet. Étant donné qu'il nous était facile de faire fonctionner l'éclairage actuel de STO avec le système de deferred shading, c'est par là que nous avons commencé.
Nous l'avons donc activé pour voir à quoi le jeu ressemblait avec cette base. Les résultats étaient déjà très bons à certains endroits, et particulièrement mauvais à d'autres. Il existe trois principaux types d'environnements sur STO : l'espace, les zones au sol en extérieur, et les zones au sol en intérieur. Parce que toutes les zones spatiales et terrestres en extérieur utilisent souvent des scénarios d'éclairage similaires - habituellement une source lumineuse unique, comme une étoile - elles ont fonctionné relativement bien dès le début. Avec les zones en intérieur... Nous n'avons pas eu autant de chance.
L'ancien système d'éclairage utilisait une combinaison de points lumineux clés capables de projeter des ombres et d'affecter les propriétés matérielles ainsi que les lumières vertex qui colorent la géométrie de la scène. Les lumières clés ne pouvaient pas être utilisées systématiquement, car elles étaient chères en ressources. Ce qui signifie que nous devions compenser avec des lumières vertex. Les lumières clés sont également très précises ; si vous voyez un faisceau de lumière circulaire en jeu, c'est une lumière clé. Les lumières vertex, au contraire, ont besoin d'une surface pour fonctionner. Les artistes les utilisent pour peindre des couleurs et valeurs autour de l'environnement en les pointant vers les sommets. Alors quand nous avons transformé toutes les lumières vertex en lumières clés grâce au deferred shading, une multitude de cercles lumineux se sont mis à apparaître aux quatre coins du monde ! Pas exactement l'effet que l'on espérait.
Nous avions besoin d'un nouveau moyen d'éclairer les zones en intérieur. Heureusement, nous avions pris une approche modulaire lors de la construction des espaces intérieurs de STO. La plupart de ces cartes sont composées d’éléments interchangeables telles que des tunnels, des sections de mur et de sol, qui s'emboîtent les unes dans les autres afin de créer des pièces et connecter des couloirs. Nous les appelons "kits d'environnement". Les kits contiennent également tous les éléments du style d'environnement concerné ; les meubles, les consoles, les réacteurs, etc. Nous avons décidé qu'éclairer les kits eux-mêmes et les laisser propager leur lumière sur l'environnement était la meilleure approche.
Mais des kits, on en a plein ! Des kits romuliens, des kits klingons, des kits de la Fédération, il y a un kit pour presque chaque espèce en jeu. Et certains kits contiennent des centaines d'objets. Les éclairer est un travail particulièrement fastidieux ; cela peut prendre des jours pour faire l'éclairage d'un kit complet, et une fois que vous avez fini, vous passez au suivant. Toute l'équipe avait ses écouteurs vissés sur ses oreilles pour pouvoir tenir le coup pendant la phase d'éclairage !
Maintenant que nous savions comment apporter l'éclairage à l'environnement, nous devions découvrir comment intégrer les sondes de lumière au jeu. Les grilles de sondes sont une combinaison de deux choses : des sondes diffuses qui simulent une lumière réfléchie, et des sondes spéculaires qui capturent les réflexions. Dans une scène donnée du jeu, il peut y avoir des milliers de sondes diffuses ; alors que les sondes spéculaires, elles, génèrent des textures et sont donc utilisées avec parcimonie. Nous n'avions ni le temps, ni l'envie de placer des sondes à la main dans chaque environnement du jeu. Cela nécessiterait l’attention d’une équipe de plusieurs personnes à plein temps pendant des mois, et ces gens se seraient probablement transformés en zombie avant la fin du processus.
Nous avions besoin d'une approche automatisée, alors nous avons développé notre outil d'application automatique de sondes : l'autoprobe. Les trois différents types d'environnement existants entraient encore en jeu ici, et chacun d'entre eux aurait besoin d'une solution qui lui soit propre. L'approche la plus basique lors de l'application des sondes dans une pièce est de la remplir avec des sondes diffuses et de placer une sonde spéculaire en son centre. Par conséquent, la préparation de nos zones spatiales s'est révélée plutôt facile. Toutes nos zones spatiales sont des sortes de grosses boîtes - enfin, très, très grosses boîtes dans notre cas. Et remplir bêtement une boîte de sondes, ce n'est vraiment pas compliqué ! Cependant, certains de nos premiers tests avec l'autoprobe dans l'espace nous avait placé des milliers de probes d'un coup alors que notre budget tournait plutôt autour d'un modeste 32... oups. Nous avons dû réajuster !
Après ça, nous sommes passés aux environnements extérieurs. Les éléments de kit peuvent également ressembler à des boîtes la plupart du temps, mais il arrive qu'ils aient des formes très irrégulières. Ces dernières nous ont donné un peu plus de fil à retordre. Heureusement, le moteur graphique requiert de l'équipe de développement que des volumes soient placés tout autour de l'espace de jeu en les désignant comme des pièces. Nous avons alors décidé que cela valait le coup d'essayer de travailler avec ces pièces de volume, et après de nombreux tests et essais nous sommes parvenu à automatiser les cartes intérieures.
Enfin, il ne nous restait plus que les zones en extérieur. C'était les plus difficiles, car elles contiennent habituellement du terrain. Le terrain, à l'inverse des grilles de sondes habituelles, est un environnement plein de bosses et de creux. Si une sonde se retrouve en-dessous du niveau du terrain, elle reçoit des données erronées et l'éclairage pourrait s’en retrouver entièrement saboté. La même chose peut se produire dans les zones en intérieur, par exemple lorsqu'une sonde se retrouve à l'extérieur du monde, elle peut prendre en compte la couleur du ciel par erreur et teinter toute la pièce en bleu. Et nous préférons largement passer notre temps à créer et peaufiner l'éclairage plutôt qu'à résoudre ce genre de bug.
Nous avons donc décidé de commencer par placer la grille de sondes dans les airs, et de projeter un rayon vers le bas afin de leur trouver un emplacement. En gros, nous les laissions "tomber" jusqu'à ce qu'elles entrent en contact avec quelque chose, et se placent automatiquement à cet endroit. Ensuite, nous avons créé d'autres couches en suspension au-dessus de la grille afin de nous donner un filet tétraédrique qui affecte tous les objets du monde de jeu. Après cela, l'outil cherche automatiquement les pièces et les remplit de sondes. L'autoprobe donne aux artiste un contrôle total sur toutes sortes de paramètres tels que les limites intégrées, l'espacement horizontal et vertical, et la distance d'alignement pour tous les différents types d'environnement.
Une fois les kits éclairés et l'environnement sondé, les prochaines étapes consistaient à passer en revue les zones individuelles à la recherche de problèmes et de peaufiner le tout (ce qui consiste notamment à modifier à la main l'éclairage et le placement de chaque sonde). Cela nous a pris des mois pour développer le processus, écrire les outils et éclairer les kits. À présent, nous en sommes à la phase de peaufinage, et nous sommes particulièrement heureux du résultat. Comme je l'ai déjà mentionné, l'impact de nos améliorations graphique est très varié selon les environnements, du plus subtil au plus drastique. Au final, nous avons atteint notre objectif de créer une expérience plus belle et plus réaliste pour tous les joueurs de
Star Trek Online, quelle que soit leur plateforme ou leur système.
Et ce n'est que le début. Nous avons passé plusieurs mois à moderniser l'éclairage du jeu, mais à partir de maintenant, les artistes spécialistes de l'environnement auront désormais ces nouveaux outils entre leurs mains pour chaque nouvelle zone qu'ils voudront créer. Cela modifiera totalement la façon dont ils envisagent la conception d'un nouvel environnement, et je pense que nous allons assister à un travail encore plus formidable de la part de l'équipe artistique de STO à l'avenir.
Jeremy Mattson
Artiste en chef
Star Trek Online
Source :
Mises à jour graphiques de STO - partie 2