1/ Installation

Blender est un logiciel de modélisation et d'animation 3D gratuit et OpenSource.

Nous utiliserons la version Windows, mais le tutoriel sera identique pour les versions Linux et Mac.

Tout d'abord, allez récupérer Blender sur le site officiel https://www.blender.org/download/get-blender/.

Si vous avez déjà Blender, vérifiez bien que la version est ultérieure  à la 2.49, sinon vous ne pourrez pas utiliser les fichiers d'enregistrement en extension ".blend" de Blender directement dans Unity, sans passer par un export intermédiaire.

Blender nécessite aussi l'installation de Python pour exécuter certains scripts... c'est facultatif, ça ne devrait pas vous empêcher de faire ce tutoriel, mais si vous voulez l'installer pour approfondir l'usage de Blender, je vous conseille de télécharger la version de Python 2.6 ici : https://www.python.org

Dans le cas contraire, si Python n'est pas installé, vous aurez le message suivant à l'installation :  


2/ Premier lancement

Une fois le logiciel lancé, vous devriez avoir une fenêtre de ce style:  

Cette interface par défaut est constituée de 3 zones ("area"). L'image suivante illustre le positionnement des 3 zones par défaut en les coloriant (respectivement en vert, bleu et rouge).  


2-1/ Autospie d'une zone

Une zone est immuablement constituée d'un menu et d'un "panel".

Prenons pour exemple l'image suivante, elle est constituée d'un menu (en rose) et d'un panel (en bleu/vert) :

  

Une zone à un type. Ce type se trouve indiqué par l'icône sur la gauche du menu. Dans notre exemple, l'icone est la suivante :

Elle indique que le "panel" de la zone est une "3D View", c'est-à-dire un espace tri-dimensionnel où nous allons pouvoir créer de la 3D et la visualiser.  

 

2-2/ Les différents types de zones

Une zone peut changer de type à tout moment pour prendre l'un des types parmis la liste suivante :  

On conclut donc que notre interface par défaut est constituée des zones :

- "user preferences" en haut, pour avoir accès aux menus "généraux"
- "3D View" pour éditer nos maillages 3D
- "Buttons Window" qui est une zone un peu foure-tout, où on fait en général du paramétrage  

 

3/ Customiser son interface

Blender permet de moduler l'interface selon ses activités et il est ainsi possible de faire varier le nombre, le type et la disposition des zones.

Pour illustrer le propos, rien ne vaut une bonne vidéo.  

 


4/ Naviguer dans la scène par défaut

Vous aurez remarqué que la "3D View" affichée par défaut contient déjà des élements. A savoir une caméra, une lumière et un cube.

Voici une vidéo qui montre comment naviguer dans cette "3D View"  et dans cette scène par défaut :

 

Récapitulatif des touches et inputs utiles à la navigation :

- molette souris : zoomer/dézommer
- souris bouton droit : sélectionner un objet dans la scène
- souris bouton gauche : sélectionner un "gizmo"/helper lorsqu'un objet est sélectionné (pour le déplacer, le tourner, etc...)
- touche "a" : sélectionner/déselectionner tout les objets de la scène
- touche "n" : afficher/masquer le panneau de transformation de l'objet (pour éditer  précisément sa position/orientation/scale)
- touche "s" : scaler l'objet sélectionné à l'aide d'un déplacement de la souris (sans aucun bouton souris enfoncé)
- touche "r" : rotationner l'objet sélectionner
- touche "g" : graber (prendre) l'objet sélectionner et le déplacer en fonction des déplacement de la souris (sans aucun bouton souris enfoncé)
- touche "7" du pavé numérique : positionner le point de vue de telle sorte à regarder le plan (XY)
- touche "1" du pavé numérique : positionner le point de vue de telle sorte à regarder le plan (XZ)
- touche "3" du pavé numérique : positionner le point de vue de telle sorte à regarder le plan (YZ)
- touche "5" du pavé numérique : alterner entre une caméra perspective (avec point de fuite) et une caméra orthogonale (sans point de fuite)
- touche "8"/"4"/"6"/"2" du pavé numérique : tourner la caméra selon des axes inhérents au repère de la caméra
- touche "0" du pavé numérique : vue de la caméra posée dans la scène par défaut (vue utilisée pour le rendu précalculé)
- Alt + bouton souris gauche enfoncé + déplacement souris : orientation caméra
- Maj + Alt + bouton souris gauche enfoncé + déplacement souris : déplacement caméra (pan)
- Echap : permet d'annuler certaines actions en cours, comme le grab  ("g" + déplacement)
- Ctrl+z : défaire une action

On remarque également dans la scène une sorte de petite cible qui n'arrête pas de bouger quand on effectue malencontreusement un clic gauche dans la 3D View : 

Cette cible sert à beaucoup de chose dans Blender.

Elle sert à indiquer où va être créer le prochain élément que vous rajoutez à la scène : 

 

Ou elle peut servir à indiquer l'endroit où vous souhaitez que le point de pivot (ou centre géométrique) de l'objet se situe : 

 

5/ Editer le cube présent dans la scène

5-1/ Transformations  du cube en 'maisonnette'

Quand on modélise un objet 3D, on part généralement de forme simple (comme un cube) et on rajoute des vertices, des "edges" et des faces a notre forme simple de départ.

La terminologie des élements rencontrés lors de la modélisation est la suivante :

- vertex : c'est un sommet. 3 vertices peuvent former une face
- edge : c'est une arête qui relie 2 vertices
- face : c'est une surface triangulaire (ou parallélépipèdique) qui est définit par 3 (ou 4) vertices ainsi que 3 (ou 4) edges
- normale : c'est une direction pour distinguer le devant du derrière d'une face
- les objets sont constitués par un ensemble de vertices, d'edges et de faces

Nous avons vu le déplacement du cube dans la section précédente, nous allons maintenant voir l'édition du maillage du cube.

Pour se faire, on sélectionne l'objet dont on veut modifier/préciser la modélisation et l'on appuie sur la touche "tab". On bascule alors du mode "Object" (qui sert à manipuler les objets) au mode "Edit" qui sert à éditer le maillage d'un objet.

Une vidéo vaut mieux qu'un long discours, voyons voir comment nous pouvons modifier notre cube par défaut pour en faire une "maisonnette" : 

Ce que nous avons vu dans cette vidéo :

- Appuyer sur "Tab" lorsqu'un objet est sélectionné permet de basculer entre "Object Mode" et "Edit Mode"
- "Object Mode" permet de positionner/rotationner/scaler un ou plusieurs  objets de la scène
- "Edit Mode" permet de rentrer dans l'édition de maillage de l'objet sélectionné
- Les menus sont truffés d'entrées possédant une nomenclature de raccourcis clavier. Retenir les raccourcis clavier permet de gagner beaucoup en temps et en "fluidité d'utilisation"
- En "Edit Mode", lorsque 2 vertices sont sélectionnés, une edge (reliant les 2 vertices) est également sélectionnée. Ce qui nous permet de jouer avec le menu [Object > Edges > ...]
- En "Edit Mode", pour sélectionner un vertex, on utilise le clic gauche souris
- En "Edit Mode", pour sélectionner plusieurs vertex, on utilise le clic gauche souris en maintenant la touche Maj 

 

5-2/ Agrandir la  'maisonnette' grâce à l'extrusion

Afin de rajouter facilement des faces à notre modèle, on s'oriente la pluspart du temps vers l'extrusion.

Pour ce faire :

- on passe en "Edit Mode"
- on sélectionne le "select mode" "face" pour sélectionner des faces et non pas des vertices ("vertex" est le "select mode" par défaut)
- ensuite on va dans [Mesh >> Extrude] (ou on utilise le raccourci clavier "e")
- on déplace à la souris les faces sélectionnées pour l'extrusion et on clique gauche pour terminer (un clic droit pendant l'extrusion permet d'annuler le déplacement effectué jusqu'alors tout en restant en mode extrusion)

Vidéo récapitulant l'opération : 


5-3/ Changer le toit de la  'maisonette' grâce à la fusion de vertices et à l'orientation des edges

Nous avons pour le moment un toit à "2 pans ". Mais admettons que nous voulions changer cela pour un toit à "4 pans ", comment faire ?

Le plus simple va être de rapprocher les 2 vertices constituant l'arête du haut du toit actuel et de les fusionner de sorte à ce qu'ils ne forment plus qu'un vertex à la fin.

Seulement vous allez voir dans la vidéo récapitulative que tout n'est pas si immédiat... En effet, en jouant avec les positions des dits vertices, on s'apperçoit que les faces des murs ne sont pas agencées correctement  et de ce fait la verticalité des murs n'est plus assurée.

Heureusement pour nous, il suffit de réorganiser les edges (arêtes) constituantes des faces des murs. Ce sera l'occasion de passer en "Edit Mode" puis en "select mode edge" et de tourner les edges grâce au menu [Mesh >>Edges  >> Rotate Edge CW] (CW : clock wise, soit dans le sens des aiguilles d'une montre).

La vidéo suivante récapitule les manipulations à effectuer : 

6/ Trucs utiles  en vrac pour la modélisation

Il y a tant de fonctionnalités dans Blender que les couvrir toute serait juste prétencieux.

A défaut, on expose ici des manipulations qui pourrons être utiles à la modélisation.

6-1/ Créer des faces

Pour le moment, nous avons créé des faces supplémentaires grâce à la technique d'extrusion. La vidéo ci-dessous se propose de supprimer manuellement une face de notre modèle et de la recréer "à la main".

On remarque que Blender gère les faces triangulaires mais aussi des faces quadrilataires... sachant qu'au final dans un moteur de jeu, toutes les faces non triangulaires sont en général  traitées comme un ensemble de faces triangulaires.

Pour votre modélisation, vous pouvez donc user et abuser des faces quadrilataires, de sorte à obtenir un maillage moins détaillé lorsque vous passé en "edit mode" (ou en visualisation en fil de fer). 

 

6-2/ Afficher des informations sur les normales et sur l'orientation des faces

Nous ne nous sommes pas encore attardé sur les autres zones que la "3D View" et son menu. Mais pourtant on trouve des choses intéressantes dans la zone "Buttons Window".

Cette zone va permettre de régler tout un tas de choses, comme les matières et textures utilisées pour tel ou tel objet, mais va aussi permettre d'afficher des informations en plus (ou en moins) afin de nous faciliter la vie lors de la modélisation.

Nous allons donc voir comment certains boutons de cette zone vont être capables de nous informer sur l'orientation des faces et par voie de conséquence, sur l'orientation des normales. 

 

7/ Texturer

C'est bien joli tout ça, mais notre maison n'est pour le moment non texturée et possède une couleur grisatre du plus "bel" effet.

7-1/ Material

Un materiau (material) est un ensemble de teintes qui vont indiquer la manière qu'a un objet réagit à la lumière.

Voici une vidéo dans laquelle on crée un nouveau matériau, puis on trifouille un peu les paramètres :

 

7-2/ Material avec Texture

Parmis les paramètres des matériaux, on trouve des cannaux de textures que l'on peut utiliser si l'on a au préalable créé des textures Blender.

La vidéo suivante montre donc comment rajouter une texture dans notre fichier blender, puis comment l'associer au matériau déjà créé :

Pour ce qui est de trouver des textures, un petit tour sur https://www.cgtextures.com/ peut combler vos attentes. Sinon vous pouvez toujours sortir votre Photoshop ou Gimp afin de laisser libre cours à votre imagination.

Voici l'image dégotée sur cgtextures pour utilisation dans la vidéo précédente :

7-3/ Créer des coordonnées de texture "customisées"

On l'a vu dans la vidéo précédente, le mapping par défaut de Blender ne convient pas au mapping qu'on attendait pour notre maison.

Heureusement Blender propose à l'utlisateur de définir des coordonnées de texture pour chacun vertex via un outil et une méthodologie au nom barbare : l'unwrapping.

Cette méthode devrait faire l'objet d'un Programmatech entier pour être vraiment couverte de fond en comble. Mais faute de temps, on se contentera d'une vidéo qui montre comment utiliser l'outil d'unwrap (à défaut également de montrer un bon unwrapping).

7-4/ Améliorer le mapping

Dans la vidéo précédente, notre maison se retrouve au final entièrement recouverte d'une texture de brique, toit  inclus... Ce qui n'est pas très logique. Pour remédier à ce problème, 3 solutions sont envisageables :

- découper la maisonnette en 2 objets : l'objet "toit" et l'objet "murs" et utiliser 2 textures distinctes  (une texture de tuile pour le toit et une texture de brique pour les murs)
- utiliser une texture dite "d'atlas" qui contiendrait une texture de mur et une texture de tuile pour le toit
- un materiau qui possèdent plusieurs canneaux de textures

Nous opterons pour la solution la plus simple, à savoir créer une texture d'atlas pour notre maisonnette. Comme ceci nous n'aurons pas à créer plusieurs objets, ni a utiliser un materiau multicanaux plus compliqué à mettre en oeuvre. De plus cette technique est la plus souvent utilisée dans une application temps réelle car c'est la plus optimale : on ne change qu'une fois de texture pour dessiner l'objet (vu qu'il n'y a qu'une texture !) et on n'a qu'un objet à dessiner (vu que le toit et les murs sont "accrochés").

Voici la texture d'atlas que l'on pourrait utiliser : 

Et voici le résultat de la scène, une fois l'unwrapping quelque peu modifié pour prendre en compte le changement de texture : 

Conclusion

Il existe autant de manière de modéliser qu'il existe d'artistes. Ainsi un maillage pourra diverger fortement selon la méthodologie utilisée.

Et nous avons présenté ici qu'une méthodologie parmi d'autre. C'est la méthodologie que j'utilise pour modéliser, mais des personnes plus compétentes pourront utiliser des techniques meilleures pour arriver au résultat.

Vous comprendrez donc qu'il est nécessaire de s'entrainer et encore s'entrainer pour paufiner sa technique et parfois passer des heures à corriger un maillage véroler par des opérations plus ou moins douteuses ^^.

Ce Programmatech  ne présente en aucun cas LA méthodologie, et ne se veut pas une référence, mais juste un point de départ pour aborder ce fantastique outil qu'est Blender. 

 

Plus loin

Dans le prochain épisode, nous verrons comment utiliser dans Unity les fichiers .blend produits ici. Patience... en attendant, voici un petit indice de comment procéder (pour les pressés ^^). 

On notera que pour le moment le résultat de l'import est loin d'être optimal. Nous corrigerons tout ceci en effectuant des allers-retours entre Unity et Blender. 

En attendant, rendez-vous dans les commentaires du billet principal pour discuter de Blender !

 

Guillaume