Blender est une application de modélisation 3d complète, permettant de gérer des géométries 3d, du son et des séquences de films. Dans cet exercice, nous n’allons utiliser qu’une infime partie de ses possibilités pour prendre le logiciel en main. De nombreux tutoriels vidéo sont disponibles en ligne pour faire d’autres tâches.
Installer Blender
Téléchargez la dernière version de Blender depuis le site et installez la.
Ouvrez Blender
En lançant Blender, vous découvrez l’interface:
L’application crée une configuration de base, avec une caméra, une source de lumière et un objet simple (un cube). Nous n’aurons pas besoin du cube. Cliquez dessus: son contour devrait devenir orange. Appuyez sur la touche X de votre clavier pour l’effacer. Confirmez l’effacement du cube.
Importez un modèle 3d
À la fin de l’exercice Exporter des objets 3D depuis QGIS pour le web et pour Blender, vous avez créé deux fichiers 3d glTF à l’aide du module Qgis2threjs: un “grand” (9MB à peu près) et un petit (4MB à peu près).
Si vous n’avez pas réussi à produire ces fichiers glTF, vous pouvez les télécharger ici.
Importez le “grand” fichier glTF dans Blender:
L’importation prend du temps, car Blender doit convertir le format glTF dans une représentation interne. Si l’importation échoue (c’est-à-dire, si rien ne se passe au bout de 5 minutes) essayez d’importer le “petit” fichier glTF. Si même cette importation échoue, téléchargez le modèle en format Blender déjà converti ici. L’archive zip contient même deux modèles déjà prêts: NEpopupalitionOSMoverlay.blend et NEpopupalitionOSMoverlay_light.blend, sans les cylindres de population, pour des ordinateurs de faible capacité.
La suite de cet exercice part du principe que vous avez réussi à importer le grand fichier glTF; une adaptation de votre part sera requise si vous avez pris le “petit” fichier ou l’un des deux modèles Blender préfabriqués.
Une fois l’importation terminée, vous devriez voir ceci:
Sauvegardez le modèle en format .blend dès que l’importation est terminée (Menu File > Save as). Cela vous évitera d’avoir à le ré-importer depuis le format glTF.
En haut à droite de la vue 3D, vous avez l’option de choisir entre plusieurs modes d’affichage, plus ou moins consommateurs de ressources pour votre ordinateur. Testez ces divers modes d’affichage. Pour la suite de cet exercice, choisissez “Material preview mode“:
Modifier le modèle importé
Collections et visibilité des couches et des objets
Dans le panneau des “couches 3D” à droite, en haut de l’écran, notez que deux éléments supplémentaires vient d’apparaître dans l’arborescence Scene Collection: vous retrouvez NE_combinedraster2, et Population2011CancontNE rencontrés dans l’exercice précédent.
Sachant que ce panneau de gestion de “couches 3D” est très similaire à celui des couches 2D dans Illustrator ou Inkscape, trouvez un moyen de cacher la couche de terrain 3D (Nommée Object_6938 sur l’image ci dessus). Vous devriez voir ceci:
Vous voyez les cylindres de population (ici en violet), tous reliés à un empty. L’usage de empties dans Blender n’est pas nécessaire mais utile. Prenez quelques minutes pour comprendre à quoi sert un empty. (Rien n’interdit de suivre un lien hypertexe dans cet exercice, voire de le quitter à tout moment pour faire une recherche internet…)
Vous devriez aussi voir un sol gris et un pourtour gris, créés dans l’exercice précédent avec Qgis2threejs. Nous allons déplacer ces deux éléments dans une nouvelle collection. Pour commencer, créez la nouvelle collection (Collection > New, menu accessible avec un click droit sur Scene Collection)
Sélectionnez le sol gris:
Et déplacez-le dans la nouvelle collection que vous venez de créer. (click droit pour faire apparaître le menu, ou simplement touche M du clavier).
Répétez ces actions pour le pourtour gris:
Vous devriez voir ceci:
Changer le matériau d’un objet
Nous allons éditer le matériau de l’objet 3d “side”.
Avec l’objet “side” sélectionné, dans le panneau d’édition, choisissez l’onglet Material.
Vous constaterez d’emblée que cet onglet est bien plus complexe que celui d’un logiciel de dessin vectoriel. Un matériaux en modélisation 3D ne possède en effet pas seulement une couleur et une transparence, mais également une granularité, une spécularité, une métallicité et autres aspects déterminant la manière dont un matériau réagit avec des sources de lumière. Voici quelques effets des divers paramètres sur une sphère colorée:
De plus, un objet peut avoir plusieurs matériaux, décrivant sa surface, son volume, ses parois intérieures et extérieures etc…
Pour rester simple, nous allons d’abord enlever le matériau de l’objet “side”:
Et créer un nouveau matériau: touche + pour créer un nouveau “material slot” puis “New”
Paramétrez ce nouveau matériau à votre guise en essayant divers paramètres. Voici un exemple de paramétrage:
Qui donne ceci: un matériau vert transparent. L’esthétique résultante est douteusement criarde, évidemment, mais ceci est un exercice d’exploration des outils de Blender, sans vocation de produire un rendu harmonieux à ce stade.
Il est impossible d’apprendre tout ce qu’il y a à savoir sur les matériaux Blender dans cet exercice. Le réflexe à apprendre est d’effectuer une recherche Internet pour obtenir un effet de matériau particulier ou pour comprendre un paramètre. Pour l’exercice, trouvez ce que veut dire “backface culling” et testez les effets de ce paramètre…
Modifiez à présent le matériau du sol (nommé “bottom” dans notre modèle initial) à votre guise.
Avant de poursuivre, sauvegardez votre travail.
Ajoutez des objets
Lors de la création d’un nouvel objet, Blender place l’objet sur la coordonnée (0, 0, 0). Dans notre cas, ce lieu est caché par les autres objets 3D déjà présents dans notre modèle. Pour faciliter le travail, créez une nouvelle collection nommée, par exemple “Objets”, et cachez les autres collections:
Création d’un polyèdre irrégulier
À présent, créez un cube
Vous devriez voir ceci:
Notez la présence de flèches rouge, bleue et verte pointant dans les trois directions de l’espace. Déplacez le cube vers le haut en tirant sur la pointe de la flèche bleue.
Changez les dimensions du cube à l’aide de l’outil Scale. Ce dernier fait apparaître des poignées en forme petits cubes, permettant d’étirer l’objet dans les trois dimensions de l’espace:
Faites subir une rotation à votre objet à l’aide de l’outil Rotate:
Jusqu’ici, nous avons travaillé en “object mode“; ce mode permet de déplacer et de déformer des objets entiers. Passez à présent en “edit mode” pour changer les vertices (points individuels) d’un seul objet. Notez qu’il est aussi possible de passer entre object mode et edit mode avec la touche Tab de votre clavier :
D’autres outils apparaîtront à gauche. Choisissez un point de votre parallélépipède et l’outil Move. Déplacez le vertex (point) comme vous le souhaitez.
Répétez cette opération avec d’autres points:
Choisissez l’outil “knife” pour couper l’objet, c’est-à-dire lui ajouter des points intermédiaires:
Une fois le découpage choisi, appuyez sur la touche Enter de votre clavier pour le confirmer. À l’aide de l’outil Move, déplacez ces nouveaux points:
Sélectionnez maintenant l’outil “extrude region“, puis tous les points composant une surface. Vous pouvez sélectionner plusieurs points en maintenant la touche Shift enfoncée.
Cliquez sur le symbole +, puis tirez sur la flèche jaune qui apparaîtra pour faire une extrusion:
Subdiviser les arrêtes de l’objet
Pour transformer davantage l’objet, il est plus utile d’avoir plus de vertices. Pour les obtenir, nous allons subdiviser ses arrêtes.
Appuyez d’abord sur la touche B du clavier pour être en mesure de sélectionner une région entière de vertices:
Subdivisez les côtés avec la commande Edge > Subdivide:
Répétez l’opération plusieurs fois pour obtenir un mesh plus fin:
Passez à présent en mode “sculpture”
Et essayez les divers outils. L’outil blob, par exemple, vous permet de simuler l’ajout de pâte à modeler sur votre objet:
Si les effets de l’outil ne vous satisfont pas, essayez d’affiner encore le mesh de l’objet sachant qu’un tel affinage double toujours le nombre de points et le poids du modèle dans la mémoire de votre ordinateur. Testez d’autres outils de transformation si vous le souhaitez. Repassez ensuite en mode “Object” pour doter votre objet d’un matériau de votre choix.
Ajouter une surface avec une image
Restons en mode object. Dissimulez l’objet précédent (le polyèdre irrégulier) pour qu’il ne vous dérange pas. Et ajoutez une surface (Plane):
Changez les dimensions de cette dernière à l’aide des outils que nous avons déjà vus (Scale et Move). Donnez lui aussi une position verticale à l’aide de l’outil Rotate.
Vous constaterez qu’il est difficile d’être exact avec ces outils. Pour la suite de l’exercice, nous voulons que notre surface aie une rotation exacte de 90°. Ceci peut être précisé à l’aide de l’interface Object properties, paramètre Rotation X
Nous allons doter la surface que nous venons de créer d’un matériau d’un nouveau type: le type texture.
Assignez d’abord un nouveau matériau à la surface. Vérifiez que le bouton “Use nodes” soit activé. Cliquez sur le bouton rond à droite de Base color pour accéder à l’élément de menu “Image texture“.
Ceci devrait désormais s’afficher en dessous de “Base color“.
Cliquez sur le bouton “Open” et choisissez une image de votre choix. L’image choisie est désormais la texture de votre surface.
Elle sera sans doute déformée (aplatie ou étirée). Vous pouvez résoudre ce problème en adaptant la taille de la surface à celle de l’image. Par exemple, pour une image de la taille 832 × 1389 pixels, nous pouvons adapter la hauteur et la largeur de la surface comme suit (Scale X: 8.32 Scale Y: 13.89) ou par toutes autre dimensions x et y respectant le rapport 832/1389 de l’image originale :
Créer une ligne
Cachez tous les autres objets pour qu’ils ne vous dérangent pas dans la conception de la ligne. Ajoutez un ligne avec le menu Add > Curve > Bezier
Si la ligne est trop petite, zoomez dans la fenêtre 3d ou agrandissez la ligne à l’aide d’une transformation d’objet (Scale X Y Z):
Passez en edit mode. Vous verrez qu’une ligne est constituée de deux points avec des poignées de manipulation de la courbe de Bézier (suivez le lien pour en apprendre davantage sur les courbes de Bézier, utilisées aussi bien dans la modélisation 3D que dans les logiciels de dessin vectoriel).
Pour l’heure, votre ligne est un objet purement abstrait, d’épaisseur 0. Il faut lui donner une profondeur de biseau (Bevel Depth) pour qu’elle devienne un objet visible dans le rendu final:
Comme tout autre objet dans Blender, elle a aussi besoin d’un matériau. Donnez lui en un, de votre choix:
À présent, sélectionnez l’extrémité d’une poignée de la courbe de Bézier et déplacez-la avec l’outil Move pour changer la courbe de la ligne:
Notez, ce faisant, que la couleur des flèches de l’outil move indique la direction des axes correspondant à celle du repère du point de vue 3D situé en haut à droite de l’écran. Cela peut aider de cliquer sur X, Y ou Z dans ce repère pour adopter un point de vue orthogonal exact correspondant à l’un de ces trois axes.
Allongez la ligne en saisissant l’une de ses extrémités:
Utilisez l’outil Extrude pour ajouter des points à la ligne:
Et l’outil Move pour déplacer ces nouveaux points
Fiat Lux
Le moment est venu de modifier les lumières de la scène. Tout d’abord, il est possible que le nombre d’objets affichés soit plus lourd pour les capacités de votre ordinateur. Passez en mode “Solid mode” pour alléger l’affichage:
Puis affichez toutes les collections et objets cachés pour pouvoir positionner vos objets d’une manière qui vous convient, par exemple ainsi:
Repassez ensuite en mode display render:
Display render est le mode de prévisualisation le plus complet, prenant en compte les sources de lumière.
Pour l’heure, il y a une seule source de lumière dans l’image et le fond est gris foncé. Changez la couleur du fond dans les paramètres World:
En l’état actuel, le fond, désormais blanc, émet de la lumière, ce qui conduit à une surexposition.
Nous voulons conserver le fond blanc, mais l’empêcher d’émettre de la lumière interagissant avec d’autres objets. Pour obtenir cet effet, sélectionnez, dans le panel en bas, à gauche, l’interface Shade editor qui donne un contrôle encore plus précis sur les matières et les lumières:
Le Shade editor peut s’appliquer au monde entier (c’est-à-dire à la scène entière) ou à un seul objet. Vous devriez voir ceci:
Les boites connectées listent les paramètres de divers effets de lumière et de matériaux, et donnent l’ordre d’application de ces effets.
À partir du menu Add > Input > Light Path, ajoutez une boite Light Path.
À partir du menu Add > Shader > Mix Shader, ajoutez un Mix Shader et connectez les boîtes d’effets comme suit. Ces paramètre stipulent que la blancheur du fond doit être visible à la caméra (Is Camera Ray), mais ne pas illuminer autre chose dans la scène. :
Vous devriez voir ceci:
Le fond est désormais blanc, mais le modèle demeure sombre. Il faut lui donner plus de lumière. Sélectionnez la source de lumière existante:
Puis déplacez-la pour voir ses effets:
Modifiez le type de lumière en type spot et observez l’effet de cette modification:
Il existe plusieurs types de sources de lumière dans Blender. Suivez le lien pour vous informer à leur sujet.
Modifiez à présent le type de lumière en type “soleil” (Sun), et baissez sa luminosité à 10. En changeant la position et la direction de la source de lumière, faites en sorte que le soleil illumine la surface contenant l’image de texture de la surface:
La surface de la carte est désormais plutôt pale, n’est-ce pas? Pour y remédier, nous pouvons accentuer les couleurs de sa texture, c’est-à-dire de l’image choisie tout à l’heure. Sélectionnez l’objet, dans l’interface 3d ou dans la liste des objets.
Dans l’interface Shader, choisissez Object plutôt que World.
Puis intercalez une boîte modificateur Brightness/Contrast entre BASE COLOR et Principled BSDF, en connectant les boîtes comme illustré ci-dessous. Ajustez ensuite la luminosité et le contraste de l’image.
Voici l’effet résultant:
Positionner la caméra et faire un rendu
Nous allons exporter le résultat sous forme d’image. Pour cela il faudra définir l’angle de vue de la caméra. Vérifiez l’angle de vue de la caméra actuel en appuyant sur le symbole caméra:
Très probablement, la caméra est très proche du modèle et braquée sur un détail. Revenez à la vue générale en re-cliquant sur le symbole caméra et positionnez vous dans un angle de vue qui vous convient. Si l’interface est peu réactive pendant cette opération, n’hésitez pas à repasser en mode “Display in solid mode” pour ménager les ressources de votre machine.
Une fois le point de vue idéal trouvé, alignez la caméra sur ce point de vue à l’aide du menu View > Align View > Align Active Camera to View.
Vous pouvez aussi déplacer manuellement la caméra dans l’espace, par exemple avec l’outil Transform, qui combine les déplacements, les mises à l’échelle et les rotations:
Une fois le point de vue idéal trouvé, lancez un rendu:
Une “rendu” est une image de plus haute qualité du modèle 3D. Durant le processus, le logiciel calcule, entre autres, le ray tracing, modélisant de manière plus approfondie le cheminement de la lumière indirecte, réfléchie par les surfaces sur d’autres surfaces. Plus le modèle contient d’éléments, plus le processus est long. Voici deux exemples de rendu:
Exercice optionnel
Essayez de reproduire l’image ci-dessus, en:
Cachant tous les éléments superflus dans la liste des objets et collections
Donnant aux cylindres une propriété Emission color
Englobant le volume dans lequel ces objets devraient luire par un “Irradiance Volume“
En allant Render Properties > Indirect Lighting et en cliquant « Bake indirect lighting ».