Blender
Blender est un logiciel qui prend en charge les différents aspects de la création 3D : la modélisation, l'animation, le rendu temps réel interactif, le rendu réaliste d'image ou de film, la composition et enfin la création de jeux ou de logiciels éducatifs 3D.
Les principales techniques de modélisation implémentées dans Blender sont :
- modélisation polygonale (objets maillés), surface Nurbs, courbes et surfaces de Bézier, surface implicite (metaballs);
- surface de subdivision avec un contrôle des arêtes vives;
- pâte à modeler multi-résolution (sculpting);
- déformation de maillage par volume de contrôle, armature et champ de déplacement;
- outils avancés pour la sélection et l'édition d'objets maillés;
- modélisation basée sur la physique;
- moteur de script Python : permet de réaliser des mini-programmes pour automatiser les tâches de création;
- dépliage des maillages-UV (UV-unwrapping) : dépliage conforme ou basé sur la minimisation des déformations;
- rendu sur textures (render baking) de la radiosité, des ombres ou encore des normales.
Techniques pour l'animation :
- animation par interpolation de position;
- animation par squelette avec cinématique et cinématique inverse;
- animation non-linéaire;
- animation basée sur la physique;
- moteur de script Python.
Moteur de physique pour la modélisation et l'animation :
- système de particules;
- simulation de corps rigides, de corps déformables ainsi que des fluides ou des cheveux;
- gestion des collisions.
Techniques de rendu et de composition :
- tracé de rayons avec sur-échantillonnage;
- radiosité;
- occlusion ambiante;
- effets spéciaux : motion-blur, halo, lens-flare, effets atmosphériques, profondeur de champ, flou de mouvement vectoriel (vector motion-blur);
- intégration d'un outil de rendu externe : YafRay (ou YafaRay);
- pour utiliser d'autres outils de rendu, on dispose d'une fonction d'exportation : Renderman (RIB), Povray, Virtualight, Lux render, Indigo, V-Ray;
- outils de répartition du travail de rendu sur plusieurs machines.
Rendu temps-réel et animation interactive :
- Blender dispose d'un mode temps-réel (gamemode) avec lequel il est possible de créer des animations 3D interactives -- dans ce mode, la plupart des objets modélisés et animés dans Blender sont directement utilisables comme objets interactifs;
- support des fonctionnalités OpenGL 2.0 (multi texture et GLSL);
- simulation physique des corps rigides ainsi que détection de collision;
- édition graphique de la logique de l'application interactive;
- ajout de fonctions interactives évoluées à l'aide de script Python (intelligence artificielle);
- gestion du son à l'aide de la SDL.
De nombreuses fonctionnalités on été ajoutées à l'aide du langage de script python.
Blender dispose d'un format de fichier propre (fichiers .blend).
Des scripts d'import/export sont proposés en standard pour de nombreux formats.
De nouveaux scripts d'import/export sont développés par la communauté et peuvent être téléchargés indépendamment.
Formats de fichiers 3D supportés (nativement ou via un script tiers) :
3D Studio, AC3D, COLLADA, FBX Export, DXF, Wavefront OBJ, DEC Object File Format, DirectX, Lightwave, MD2, Motion Capture, Nendo, OpenFlight, PLY, Pro Engineer, Radiosity, Raw Triangle, Softimage, STL, TrueSpace, VideoScape, VRML, VRML97, X3D, xfig
Formats d'image supportés :
TGA, JPG, PNG, OpenEXR, DPX, Cineon, Radiance HDR, Iris, SGI Movie, IFF, AVI, Quicktime, GIF, TIFF, Photoshop
Cinq personnes emploient Blender régulièrement dans notre laboratoire. C'est en outre le logiciel utilisé par nos partenaires industriels.
Dans notre cas voici quelques exemples d'utilisation :
Initialement Blender était utilisé pour modéliser les objets 3D nécessaires aux simulateurs médicaux développés par l'équipe. Certaines personnes l'utilisent aussi pour réaliser des scènes 3D avec un rendu haute qualité afin d'illustrer les méthodes décrites dans les articles. Enfin nous utilisons aussi une version modifiée de Blender (avec le support des table tactiles et des périphériques de réalité virtuelle) pour nos travaux sur l'interaction 3D.
La principale difficulté de Blender réside dans son interface spécifique et dans la grande variété des techniques à connaître. Il nécessite donc un apprentissage non négligeable et une pratique régulière. Certaines opérations de modélisation complexes comme les opérations booléennes sur des maillages triangulés ne fonctionnent que partiellement et un certain manque de documentation à ce sujet peut être pénalisant.
Techniquement, le mode temps réel interactif ne supporte pas toutes les fonctions de la partie modélisation de Blender. La qualité du rendu dans le mode temps réel est perfectible au regard des standards actuels comme Ogre3d, OpenSceneGraph.