Les ficelles du métier #2 – Blender
Blender, c’est quoi?
Blender. Faut-il encore présenter cet outil ? Oui ? Ok.
Blender est un logiciel gratuit et Open source de modélisation 3D (pour les novices, ça veut dire qu’il nous permet de créer les objets et personnages que vous retrouvez dans nos jeux).
Qui plus est, il est multiplateforme ! Cerise sur le gâteau, il est codé en Python.
Ceux qui nous connaissent ne seront donc pas surpris que nous utilisons ce logiciel.
Seul bémol, l’interface.
En effet jusqu’à Blender 2.5, l’interface graphique demeurait austère et requérait une solide connaissance des raccourcis clavier pour la moindre modélisation.
Ce problème a heureusement été résolu dans les versions plus récentes. Je rassure tout de suite les maniaques du clavier : les raccourcis sont toujours là, ils sont juste moins essentiels.
Pour les connaisseurs, le moteur 3D lui-même a été fort critiqué dans le passé mais Blender s’est rattrapé depuis, notamment avec son moteur Cycle, qui calcule l’image à partir d’une technique de calcul appelée ray tracing et qui nous a permis de faire de très jolies choses…
Évidemment, pour les jeux, ça demande un peu trop de performance. Nous nous en tenons donc généralement au moteur de rendu par défaut.
Les mains dans la pâte !
Ceux qui suivent le blog le savent, il y a trois ans, Christel, Bastien et Thomas ont été suivre une formation de 3D dans l’Institut de formation supérieure tout proche.
Petite anecdote amusante : le cours devait être donné sur 3D Studio Max, un autre logiciel de programmation. Cependant, en faisant pression sur le professeur, nous avons réussi à obtenir que le cours nous soit donné en parallèle sur Blender. Cela a tellement bien marché qu’actuellement le cours n’est plus donné qu’en Blender ! Nous n’avons donc aucun remord.
Nous avons suivi cette formation deux ans de suite, nous traînant en classe le samedi matin dès potron-minet pour apprendre la modélisation 3D et l’utilisation de Blender.
Bastien a même rempilé pour une 3e année (et a traîné Joan avec lui, sisi, souvenez-vous, elle avait participé avec nous au Ludum Dare 24).
Une formation, pour quoi faire?
Ce qui est particulier avec la modélisation 3D c’est que c’est un monde à part. Toute personne ayant déjà ouvert un logiciel de 3D “pour voir comment c’était” s’en rendra compte : s’en sortir sans formation ni tutorial, c’est la galère.
Penser en vertex, en side, en face et en node, ou appréhender ce qu’est une normal demande un peu de temps. Mais une fois passé cette étape, Blender devient accessible, grâce à sa nouvelle interface et aux possibilité qu’il offre.
Un exemple ? Les transformers, qui permettent de calculer automatiquement une série d’objets alignés, à l’aide du array, ou de travailler en symétrie en utilisant le mirror.
Interactivité !
De plus, et c’est pour nous un atout majeur, Blender s’interface parfaitement avec Unity 3D (voir un post précédent). Il faut comprendre par là que Unity 3D interprète sans difficulté le format natif de Blender (les fichiers .blend) et qu’il nous suffit juste d’ajouter les fichiers contenant nos models dans notre projet pour qu’ils y soient accessibles.
Sérieusement, on doit juste drag & dropper les objets et ils apparaissent ! C’est magique.
Projets GSM utilisant Blender
Eh bien, tous ceux faits en 3D !
OUT OF HERE
Premier essai plus ou moins abouti de jeu en 3D pour GSM Productions (lors d’un Ludum Dare, bien entendu ! Le Ludum Dare 20), les graphismes du jeu ont surtout consisté en cubes et cylindres très basiques.
Les différents objets du jeu ont néanmoins été modélisés et texturés dans Blender – une vieille version d’ailleurs, datant de l’époque de l’interface infernale. Un plugin Python écrit par un membre de la communauté les exportait vers l’un des formats utilisés par Panda3D (que nous utilisions avant de passer à Unity3D).
Player 2, Start! (LD24)
Non seulement le niveau 3 avait entièrement été modélisé grâce à Blender mais nous avions établi les colliders et placé les monstres et les éléments du jeu dans Blender avant export vers Panda3D.
Considérant qu’il s’agissait d’un plateformer dont trois niveaux sur cinq étaient en 2D, ce n’était pas notre choix le plus pertinent (mais on se soigne depuis).
Les personnages, quant à eux, avaient été modélisés sur Maya par un ami graphiste qui s’était joint à nous pour l’aventure : Jonas.
Get Well Soon! (LD27)
Évidemment, on n’allait pas ne pas parler de notre bébé du moment. L’entièreté de la version du Ludum dare avait été modélisée par Christel sous Blender (elle vous disait qu’elle s’était améliorée…) et l’animation, également sous Blender, avait été confiée aux bons soins de Bastien.
Dans les versions subséquentes (que vous pouvez toujours trouver sur FrenchCows), la grosse majorité des objets reste modélisée sous Blender. En effet Dimitri, qui nous donne un énorme coup de main notamment avec la modélisation des personnages, utilise ses propres outils.
(Promis, le prochain jeu 3D de GSM Productions ne comptera pas de point d’exclamation dans son titre…)
Bref !
En résumé, Blender est un logiciel puissant, abordable sur le plan technique, gratuit, Open source et multiplateforme. Que demander de plus ?