Godot et Blender sont dans un pipeline, où sera le shader d’eau ?

Dernières avancées de la part de YannK autour du graphisme pour le test du nouveau client Khanat sous Godot.

Cet article contient de nombreux termes propres au graphisme et à la modélisation 3D. Ce n'est pas un article de vulgarisation. Il fait le point sur le travail de nos graphistes.

De nouvelles textures en cours de réalisation pour le client Godot, avec des vrais morceaux de PBR dedans

Ces derniers temps j’ai nettoyé un peu la page Contribuer : les dépôts du projet Khaganat en déplaçant en particulier ce qui ressortait du client OpenNeL pour éviter que des gens contribuent dessus en pensant que cela servira à Khanat (j’ai créé une partie « Dépôts obsolètes »). J’en ai profité pour réorganiser et renommer les dépôts sur le GitLab, en indiquant ceux qui étaient conservés pour des raison historiques, sans qu’on n’y travaille plus officiellement pour le projet: « Khanat assets - OpenNeL legacy », « Khanat assets export - OpenNeL legacy », « bpyNel workbench - OpenNeL legacy ».

J’ai également commencé à remplir le nouveau dépôt (j’en reparle plus bas) Khanat assets - 3D Godot Client. Il me faut encore lui créer sa page « Comment contribuer ». Je vais aussi refaire le dépôt Assets sources en le reformatant pour qu’il corresponde à nos besoins avec Godot. Pour celui-ci je ne vais pas l’archiver, il n’y avait pratiquement que moi qui contribuais. Lodnexus avait aidé un temps, mais de toute façon, j’ai tout gardé ailleurs. Je vais garder ce nom de dépôt et en refaire un de zéro bien propre, avec git LFS pour la gestion des gros fichiers.

Côté assets, j’ai fait pas mal de tri dans mes textures pour pouvoir partager avec Stan`. Il y a encore des trucs à améliorer, mais ça permet de refaire toutes les textures bien propres et en vérifiant bien qu'à chaque fois, c’est une création personnelle, ce qui me permettra de les mettre sous licence cc0, donc compatible avec celle de Khanat.

Screenshot de mon dossier de textures, CC-BY-SA YannK

J’ai également commencé à créer des assets pour Godot, histoire de tester les matériaux et de trouver des pipeline de travail. Mes plugins favoris commencent à être portés sous Blender 2.80 et c’est bien chouette, j’ai presque tout ce qu’il faut désormais.

Osquallo a créé une zone où on peut se balader pour voir les objets (c’est un projet Godot, on le charge, on fait F5 et on se balade, c’est tout - et F8 pour sortir). De son côté Deed a bossé sur un shader d’eau pour une fontaine vite faite. C’est bien motivant de ne plus être tout seul à devoir tout faire niveau graphisme de A à Z quand on veut ajouter le moindre truc.

La banque de modèle 3D dans Godot, CC-BY-SA Khaganat

D’un point de vue modélisation, j’ai bossé tout particulièrement sur un nouveau pipeline de modélisation pour le jeu vidéo, qui s’appelle du medium poly (workflow créé pour Alien Isolation et développé pour Star Citizen). Il se base sur une gestion fine des normales de vertex et l’usage de matériaux tuilables (donc parfois sans dépliage d’UV). Le but de cette technique est de gagner du temps pour passer du concept de l’asset à son intégration avec son modèle en jeu. Cela supprime énormément de travaux fastidieux. Ce n’est pas valable pour tous les objets, ce qui est organique en particulier me semble plus complexe à gérer ainsi. Mais ça va néanmoins bien faciliter la vie. Je balbutie encore avec cette technique, il me manque un addon essentiel sous Blender 2.80 pour bien maîtriser les normales (YAVNE power), mais ça devrait le faire.

De plus, avec Godot, plus besoin de faire un asset pour chaque état d’un coffre, par exemple : on fait une scène avec le bas, une avec le couvercle et ensuite un dernière avec les deux assemblés. Et on peut faire varier l’ouverture à volonté, de façon dynamique même, si on le veut. Plein de temps gagné !

 Un coffre, CC-BY-SA YannK

Je bosse aussi sur l’œuf de revif, pour lequel j’ai fait une texture d’obsidienne dont je suis assez content. Je m’en sers pour tester les decals dans le workflow, car cela permettra là encore de simplifier le travail et d’avoir un maximum de textures génériques et non plus un lot de textures dédié à chaque objet. Sur la capture d’écran, les textes sont ces fameux decals, qui viennent par-dessus la texture minérale. Avec un lot de decals et un seul matériau de base, on peut décorer plein d’œufs différents. Je commence à peine à tester, ce sera là encore de l’essai/erreur le temps de trouver mes marques.  Œuf d'obsidienne, CC-BY-SA YannK

J’ai aussi complété les alphabets binaires et de la légion, de façon à intégrer les chiffres et pour pouvoir se servir de ce dernier pour des inscriptions diverses (panneaux/signalétique essentiellement). Mais je n’ai pas eu le temps encore d’en faire des polices de caractère, ce ne sont que des svg pour le moment.  Message en alphabet légionnaire, CC-BY-SA YannK

Un mot pour finir : ça fait du bien de bosser avec des outils modernes (Blender 2.80 et Godot 3.1), mais surtout, surtout, ce qui est génial, c’est quand on a la documentation pour avancer.