Dossier 3D, 2D avec Linux : Blender, le chouchou des développeurs de jeux

La suite Blender est devenue le favori des logiciels 3D en open source. Il est particulièrement apprécié dans les sociétés de jeux. Son moteur de rendering est correct mais classique, incluant des particules, des lumières volumiques, du motion blur et de la radiosité mais sans ray-tracing. Il est par contre réellement multi-plateformes, tournant sur différents UNIX dont Linux, Windows et Macintosh. Il faut dire que sa distribution a été facilitée par la taille réduite du fichier à télécharger qui fait 1.5 Mb. Enfin il possède un langage de script intégré, à base du très puissant langage Python. On trouve donc de très nombreux plugins, mais étant le fruit du travail de passionés, ce ne sont pas les mêmes suivant la plateforme.

Originalement développé par la société hollandaise NaN (Not a Number), qui a déposé son bilan l'an dernier. Blender a alors été repris par la Fondation Blender, qui a réussi le tour de force de réunir les cent mille Euros nécessaires au rachat du logiciel en moins de deux mois. Blender continue ainsi en logiciel libre, sous licence GNU GPL, pour la joie des 250 000 utilisateurs recensés dans le monde. Une nouvelle version 2.26 est d'ailleurs annoncée prochainement.

Une interface sans fioritures

L'interface peut dérouter les utilisateurs habitués à des interfaces plus visuelles et plus intuitives. L'apprentissage n'est pas immédiat, il vaut mieux soigneusement consulter la documentation pour se repérer dans les multiples options d'affichage et la profusion d'outils. Une fois assimilée son organisation très carrée et maîtrisée ses multiples raccourcis, l'interface se révèle pourtant redoutablement efficace. La fenêtre principale est configurable et permet de visualiser la scène sous différents modes, fil de fer, ou rendu OpenGL avec lumière ou aplat. Plusieurs fenêtres secondaires existent dont la fenêtre de graph, où on peut régler les poses-clefs et les courbes d'animation, la fenêtre de timeline, où on édite les paramètres temporelles de la séquence, ainsi qu'une fenêtre schématique bien pratique.

Pour la gestion de projet, Blender sauvegarde toutes les données d'une scène dans un seul fichier dont l'extension est .blend. Néanmoins, il offre la possibilité d'accéder aux données incluses dans un fichier sous forme de librairies. Les objets, les matériaux, les textures ou les animations peuvent facilement être appelés dans une autre scène ou copier pour être réutiliser.

Des modules classiques

Côté modélisation, la dernière version Blender 2.2 est très complète avec des outils de modélisation polygonale, des Nurbs, des Metaballs ainsi que les surfaces de subdivision et un outil de smoothing automatique. Les scripts Python permettent aussi de se configurer ses propres fonctions de modélisation. Seul regret, mais c'est pour ne pas payer de licence inutile et cela demande un gros travail de mise à jour, les formats d'import et export sont limités à DXF, Inventor et VRML. L'outil de paint 3D est aussi un peu sommaire, limité à la peinture de couleurs au sommet des polygones mais il peut déjà rendre des services.

Même chose en animation, Blender propose en standard l'édition d'un squelette et de la cinématique inverse, un bon éditeur de graph et des outils de déformation nécessaires au skinning et à l'animation faciale. Le système d'animation "Ipo" permet de combiner les clefs et l'animation par trajectoires. Le moteur d'animation inclut de la détection de collision et de la dynamique. Blender est capable de tout animer, surfaces géométriques, textures ou éclairages. Là aussi, les scripts Python servent à générer des animations procédurales, qui peuvent aller jusqu'à des lois comportementales, très utiles pour des personnages de jeux.

En rendering, pas de grosses surprises, on retrouve le minimum de ce qui est attendu à l'heure actuelle d'un logiciel 3D, ombres douces, lumières volumiques, motion blur, mais pas de ray-tracing. Les images peuvent être calculées jusqu'en 4096x409, avec des modes spéciaux, comme le panoramique. Il existe aussi en standard quelques fonctions basiques de post-production, qui servent de mini outil de montage.

Dédié au temps réel

Enfin, Blender est apprécié pour la fabrication de jeux, car il inclut un moteur de jeux temps réel. Il est possible d'éditer et de paramétrer une scène temps réel, avec l'aide d'un système de dynamique puissant, qui tient compte de la gravité, de l'impact des armes, de la collison de détections et de l'interaction entre personnages. Pour fabriquer rapidement des jeux simples, c'est un outil idéal. Et là aussi, l'usage de scripts Python permet de rajouter des comportements et des interactions plus sophistiqués. De plus, tout le jeu peut aisément être compacté dans un seul fichier et joué sur Internet via un plug-in Blender. Les développeurs espèrent bien que la compacité et la portabilité de Blender lui permettent de se positionner sur les jeux destinés aux consoles, aux PDA et aux téléphones mobiles. Car là aussi, Linux pourrait bien avoir un rôle important à jouer, la taille de son code est minimale pour une très bonne fiabilité de résultat.

    Michel Maigrot
    formateur indépendant sur Blender3D, qu'il utilise depuis trois ans.
    michel maigrot

    Dans quel cadre faites-vous des formations pour Blender ?

    J'interviens généralement dans le cadre de formations au multimédia, organisées dans un cadre universitaire ou pour le compte de sociétés privées. Ces programmes mélangent 3D, Vidéo numérique, Php, SQL, Kylix, etc. Elles ne sont pas dédiées spécifiquement à la 3D, et ne prétendent pas former des professionnels à la 3D. Elles ne peuvent que fournir les bases
    Techniques. Elles sont assez peu utiles si elles ne sont pas complétées par un travail personnel de l'intéressé qui l'élèvera au dessus du niveau moyen.

    Est-ce que Linux est réservé au final aux grosses sociétés ?

    Je ne crois pas que ce soit Linux qui soit réservé aux grosses boîtes mais plutôt la 3D elle même. Une des raisons essentielles d'utiliser Blender est qu'il dispose (tests officiels à l'appui) du meilleur rapport vitesse de rendu/qualité d'image de la planète. Mais à moins de disposer d'un système de cluster particulièrement onéreux, toute production 3D se limitera à de l'image fixe ou des animations assez basiques pour le particulier ou la Pme-Pmi. Pour ma part je pourrais sans problèmes créer des illustations pour des livres, des pochettes de disques, parfois réaliser de petites animations à intégrer dans des présentations interactives, ou créer des modèles 3D pour des jeux vidéo mais pas beaucoup plus.

    Blender a été repris par une fondation, continue-t-il à évoluer ?

    La réorganisation du code source est en cours, des apports mineurs mais néanmoins intéressants ont déjà été apportés. La release 2.26 est attendue avec impatience. Le développement du logiciel d'export Povanim de Jean Michel Soler en fera tôt ou tard un modeleur de référence pour Povray. Pour le reste je suis confiant mais il est encore trop tôt pour porter un jugement.

Pour en savoir plus :

http://www.blender.org
http://www.blender3d.org
http://blender.free.fr/

Documentation : http://download.blender.org/documentation/ 
Documentation française : http://jmsoler.free.fr/didacticiel/blender/tutor/index.html
Ressources : http://www.blender-cafe.org/
Communauté anglophone : http://www.elysiun.com/
Communauté francophone : news://zoo-logique.org/3D.Blender

© mars 2003 François Ploye et Pixel SA