2011-06-04

Créer une texture de type mur de briques avec Hugin et Gimp


Sur Internet, il existe des tas de textures, de très bonne qualité, dans le genre "murs de briques", et certaines sont utilisables sans trop de contraintes de type "droits d'auteurs". Mais il se peut que tu souhaites créer ta propre texture, par exemple parce-que tu as trouvé le mur de briques le plus beau du monde, ou bien parce-que tu veux une texture de ton mur de briques, celui que tu as façonné de tes mains. Voici comment créer une texture de type "mur de briques", à partir d'une photo, avec Hugin et The Gimp.









Ces deux logiciels sont probablement disponibles pour ta distribution GNU/Linux préférée. Avec Ubuntu, par exemple, il suffit de taper "sudo aptitude install hugin gimp".

Il faut commencer par prendre une photo "à peu près correcte" d'un mur de briques :


On voit que la photo est déformée au niveau des coins, les briques ne sont plus horizontales, elles semblent arrondies.

Le logiciel Hugin peut servir à tout un tas de choses, mais ici il va uniquement servir à "redresser" la photo, pour que les lignes horizontales soient à peu près horizontales, et pour que les lignes verticales soient à peu près verticales.

Pour cela, dans l'interface Hugin, tu cliques sur le bouton "Load images..." de l'onglet "Assistant", et tu sélectionnes ta photo initiale.


Ensuite, dans l'onglet "Control Points", Hugin affiche deux fois la photo initiale. Tu crées ici des points de contrôle, pour aider Hugin à trouver des "lignes", dans l'image, qui devraient être horizontales, ou bien qui devraient être verticales. Par exemple, pour les deux points de contrôle numérotés "0", tu cliques, dans l'image de gauche, juste au dessus d'une brique qui se trouve en haut et à gauche, puis tu cliques, dans l'image de droite, juste au dessus d'une brique qui se trouve au centre, sur la même rangée de briques. Hugin détecte alors que tu signales une ligne entre ces deux points numérotés "0", et que tu souhaites que cette ligne soit parfaitement horizontale dans l'image finale (puisqu'elle est presque horizontale). Tu confirmes en appuyant sur le bouton "Add", une fois les deux points de contrôle bien placés. Tu recommences en ajoutant plusieurs couples de points de contrôle, tantôt pour définir des lignes qui devraient être horizontales, tantôt pour définir des lignes qui devraient être verticales. Dans cet exemple, j'ai défini 11 couples de points de contrôle. Plus tu définis de points, meilleur sera le résultat. Tu coches aussi les cases "auto fine-tune", "auto add", et "auto estimate".


Ensuite, dans l'onglet "Optimizer", tu choisis "Positions, View and Barrel (y,p,r,v,b)", et tu cliques sur le bouton "Optimize now!".


Ensuite, dans l'onglet "Stitcher", tu choisis la projection "Rectilinear", tu cliques sur les boutons "Calculate Field of View", "Calculate Optimal Size", et "Fit Crop to Images". Enfin, tu cliques sur le bouton "Stitch Now...".


Hugin crée alors une image corrigée, dans laquelle les briques paraissent plus horizontales. Par défaut, le format de fichier de sortie est "tiff".


Tu ouvres cette photo corrigée dans Gimp, et tu l'enregistres dans le format de fichier de ton choix, par exemple "png". L'objectif est à présent de générer une texture de type "mur de briques", qui soit "répétable"/"superposable" ("tileable", comme ils disent). Pour cela, tu définis une sorte de carré, avec l'outil "Rectangle Select Tool", en essayant de choisir un morceau de photo qui soit déjà presque "répétable", à vue d'oeil. C'est l'étape la plus difficile, car si cette sélection n'est pas déjà "presque répétable", alors la suite va donner des résultats "tout moyens". Mais bon, pas de panique, tu pourras toujours revenir en arrière, pour sélectionner un meilleur morceau de l'image, et recommencer à partir d'ici.

Une fois ton morceau d'image sélectionné, tu utilises le menu suivant de Gimp : "Image :: Crop to Selection".


Enfin, il suffit d'appliquer le filtre magique de Gimp, en utilisant le menu suivant : "Filters :: Map :: Make Seamless". Si le résultat est moisi, c'est que tu as mal choisi ta zone d'image, lors de l'étape précédente, il faut donc repartir de cette étape. Voici, ci-dessous, ce que cela devrait donner. C'est à peu près la même image, mais légèrement modifiée par le filtre magique de Gimp, pour qu'elle soit réellement répétable.


Cette texture est ensuite utilisable dans Blender, pour faire des murs immenses.

Un exemple de rendu, dans Blender, avec la texture ci-dessus :

1 commentaire: