Blender: briques du mur avec le modificateur displace
Dans ce tutoriel pour Blender en français (mis à jour vers Blender 2.93), nous continuons le mini-cours sur la façon de créer un mur 3D à partir d'une photo. Dans le tutoriel précédent https://www.graphicsandprogramming.net/fra/tutorial/krita/creer-textures-krita/krita-tutoriel-carte-displacement-hauteur-normales nous avons créé les différentes textures dans le logiciel Krita (carte de déplacement, carte de hauteur, carte normale, carte de rugosité, carte spéculaire) à utiliser comme cartes dans un programme de modélisation 3D, dans notre cas Blender. En particulier, nous allons maintenant utiliser la displacement map (carte de déplacement) pour donner une forme approximative aux briques de notre mur à l'aide du modificateur "Displace". Cette méthode facilite les opérations de modélisation car, en lisant les données contenues dans les cartes de texture, le logiciel déplace automatiquement les sommets des maillages, créant des structures complexes en peu de temps.
Étant un exemple à des fins didactiques uniquement, pour montrer le modificateur de déplacement, nous utiliserons un plan simple comme structure de base, dont les dimensions et les proportions coïncident avec celles des textures. Pour faire cette correspondance, nous démarrons le logiciel Blender et importons la photo de départ du mur, que nous avions appelée "diffuse_map.jpg", avec l'addon "File > Import > Images as Planes"
(si l'addon n'est pas présent, vous pouvez l'activer dans "Edit > Preferences > Add-ons")
(Cet addon créera également automatiquement une "UVMap" pour le plan et liera la texture importée à un shader "Principled")
Ensuite, nous plaçons la caméra et une lampe de type "Sun" pour que nous puissions voir le mur en biais
Nous donnons à la lampe "Sun" Strength:4.5
sélectionnez l'espace de travail "Shading" et pour l'instant déconnectez la texture contenant l'image du shader Principled
la méthode de déplacement déplace les sommets présents dans le maillage, donc plus il y a de sommets, mieux le maillage pourra représenter les données de texture de déplacement. Cependant, en particulier dans les projets complexes, cela impliquera une augmentation considérable de la mémoire.
On pourrait subdiviser le maillage plusieurs fois, mais cela pourrait provoquer des ralentissements lors de la création d'une scène et nous ne pourrons plus modifier ce que nous avons fait pour réduire le nombre de sommets, créons donc une structure en deux parties : une base subdivision puis au-dessus d'une réalisée via un modificateur "Subdivision Surface", dont les paramètres peuvent être modifiés ultérieurement à volonté. On sélectionne ensuite le plan et, en appuyant sur la touche TAB, on bascule le mode d'interaction du "Object Mode" au "Edit Mode", puis on clique avec le bouton droit de la souris sur le plan et, dans le menu contextuel qui apparaît, on sélectionne le "Subdivide"
dans la fenêtre apparue en bas à gauche on choisit le nombre maximum de coupes disponibles, c'est-à-dire 10
on pourrait insérer la valeur 100 et ainsi créer une subdivision qui est déjà suffisante
mais pour la raison expliquée plus haut nous laisserons la valeur 10.
Dans la "Properties Window" en cliquant sur l'onglet "Modifier Properties", cliquez sur le menu déroulant "Add Modifier" et associez le modificateur "Subdivision Surface" (présent dans le groupe "Generate").
Pour éviter que les coins du rectangle supérieur ne s'arrondissent
cliquez sur le bouton "Simple"
nous appuyons sur la touche TAB et revenons en "Object Mode", puis nous appuyons sur zéro sur le pavé numérique pour activer la vue caméra
cliquez à nouveau sur "Add Modifier" et ajoutez le modificateur "Displace" (qui se trouve dans le groupe "Deform")
appuyer sur le bouton "New" pour associer une texture, dont on peut accéder aux paramètres de deux manières, soit en appuyant sur le bouton à droite soit en cliquant sur l'onglet "Texture Properties"
Quittons le genre "Displace", donnons un nouveau nom "Displacement map", avec Type:Image or Movie, puis cliquez sur le bouton "Open" pour charger l'image "displacement_map.jpg" que nous avons créée dans le tutoriel précédent
et en regardant dans le viewport nous remarquons un résultat un peu étrange
on remarque deux choses: la résolution du maillage est encore trop faible pour définir les briques et que les briques ressortent trop.
Pour augmenter la résolution, nous augmentons la valeur de "Levels Viewport" dans le modificateur "Subdivision" en l'amenant à 4, commençant ainsi à voir les briques d'une manière plus définie
Pour diminuer l'épaisseur des effets de texture de déplacement, nous modifions la valeur "Strength" dans le modificateur "Displace" en donnant la valeur 0.015
c'est une valeur relativement petite, mais il ne faut pas exagérer, car la texture diffuse que nous utilisons ne couvre pas les parties latérales de la seule brique et pourrait donc être trop étirée à ces points, alors vérifiez toujours jusqu'où vous pouvez aller et si en dans certains cas l'outil de déplacement est celui qu'il vous faut ou non (pour les petits reliefs une carte normale suffit).
En regardant le mur de côté, en appuyant sur la touche 3 du pavé numérique, on constate que le maillage est effectivement devenu plus épais en correspondance avec les briques.
On appuie sur la touche 0 du pavé numérique pour revenir à la vue de la pièce et on constate cependant qu'il y a moins de briques que la texture, car elles sont plus grosses.
Cela se produit parce que dans le modificateur "Displace", nous avons laissé le système de coordonnées "Local" alors que nous avions une UVMap. Nous changeons ensuite le système de coordonnées en "UV"
et on obtient
où le nombre et la position des briques correspondent désormais à celui de la carte diffuse.
Connectons maintenant la texture de la carte diffuse au shader Principled BSDF
et dans les "World Properties" nous insérons le hdri "neurathen_rock_castle_2k.hdr" téléchargé depuis le site polyhaven.com/hdris comme couleur pour la lumière ambiante
en "Object Mode", cliquez avec le bouton droit de la souris sur le plan et sélectionnez "Shade Smooth" pour afficher les faces les plus lisses
Si nous tournons autour du plan et regardons dans la preview "Rendered", nous commençons à voir un résultat intéressant, avec les briques bien en relief.
Pour le moment, les briques ne sont qu'allusions,
la tâche du modificateur "Displace" était cependant de créer uniquement la forme des briques, tandis que les détails peuvent être ajoutés plus tard, en utilisant la hauteur et la normal map, mais nous en parlerons dans un autre tutoriel.
Nous sauvegardons le fichier sous "displacemodifier.blend".
Vous pouvez télécharger les fichiers du projet ici:
displacement_map.jpg
diffuse_map.jpg
displacemodifier.blend
C'est tout pour ce tutoriel sur le modificateur de déplacement, dans le prochain nous verrons comment optimiser le déplacement à l'aide du microdéplacement (ou déplacement adaptatif) https://www.graphicsandprogramming.net/fra/tutorial/blender/modelisation/blender-briques-adaptative-subdivision-microdisplacement. Happy blending!
Retour au cours "Cours Blender: d'une photo à un mur 3D"