Texturer en Camera Mapping

Document sans nom

Texturer en Camera Mapping

Niveau :


Introduction

Le Camera Mapping est une technique qui consiste à projeter une image 2D sur un modèle 3D afin de la mettre en volume, et ainsi pouvoir l'utiliser dans une animation. Toutefois, ce procédé a ses limites, et le déplacement de la caméra de prise de vue ne peut guère se faire alors qu'en travelling avant ou arrière et sans s'éloigner de plus de 15-20° de l'axe de la caméra de projection. Cependant, le Camera Mapping possède un gros avantage : sa facilité de mise en œuvre en regard du résultat photo-réaliste obtenu.

Tout ceci, pour en venir l'objet de ce tutoriel qui est une variante du Camera Mapping, puisque l'image 2D n'est pas l'élément de départ : c'est la scène 3D qui va nous servir de base pour réaliser l'image à projeter. L'idée est d'utiliser la projection d'image pour texturer rapidement un ensemble d'objets, que ce soit pour faire des tests de rendu, ou comme texture définitive. Autre atout du procédé : le gain de temps sur les rendus sous Blender.

La mise en œuvre se fait en 3 étapes :

1. Extraire de la scène la géométrie des objets à texturer.
2. Utiliser celle-ci sous Gimp (ou autre) pour construire l'image des textures à projeter.
3. Sous Blender, appliquer l'image obtenue aux objets concernés.

Pour la clarté des explications, la scène de démonstration est très simplement constituée d'un plan sur lequel 2 cubes en sustentation projettent leur ombre.

Les captures d'écran proviennent des versions 2.48 de Blender et 2.4.6 de Gimp

Etape 1 : Extraction de la géométrie des objets

Pour ce faire nous allons utiliser les Index Objets afin de définir des niveaux de gris qui pourront facilement être discriminés sous Gimp :

1. Attribuer des numéros arbitraires d'index (PassIndex) aux objets :

Attribution d'index aux objets

2. Paramétrer le rendu avec les nodes :

Paramétrage du rendu

3. Créer la composition nodale qui, pour l'essentiel, enregistre dans 3 fichiers (test, test1 et test2) les passes choisies :

Paramétrage des nodes

- Ce sont les paramètres Size des nœuds Map Value qui règlent l'échelle des gris des images de sortie.

- Évidemment, si plusieurs objets portent le même numéro d'index, ils apparaitront dans la même tonalité de gris.

Etape 2 : Création des textures sous Gimp

Nous n'allons pas aborder ici le détail des manipulations à effectuer sous Gimp pour obtenir l'image de Mapping. Cela sortirait du cadre de ce tutoriel. Ce qui suit se veut seulement un guide d'utilisation des images créées à l'étape précédente.

1. Intégrer les images test, test1 et test2 - postfixées du numéro de Frame lors de l'enregistrement - dans un nouveau document et lui ajouter un calque transparent :
Préparation de Gimp

 Dans ce qui suit, (FI) = manipulation a effectuer dans la fenêtre image



d. C'est sur ce nouveau calque et d'autres éventuellement ajoutés que nous allons construire notre image de Mapping.


c. Calque créé par glisser/déposer du fichier 'test2' (FI).


b. Calque créé par glisser/déposer du fichier 'test1' (FI).


a. Calque créé par ouverture du fichier 'test' avec Gimp.








2. Par sélection basée sur la couleur, délimiter les zones à texturer, puis leur appliquer les textures choisies comme ici pour le plan :
Texturage du plan






b. Remplir la sélection sur ce calque, avec la texture choisie, par glisser/déposer ou Shift + B (FI).


-. Calque rendu invisible...


a. Effectuer la sélection par couleur (Shift + O) sur ce calque (FI)












Les mêmes manipulations sont à répéter pour chaque partie à texturer en utilisant au besoin les deux autres images importées de Blender. C'est ce qui a été fait ici pour les cubes, dont les faces supérieures ont été délimitées à l'aide de l'image 'Arrière-plan' :

Image finale

3. Enregistrer l'image, éventuellement avec son canal Alpha. Dans le cas présent, elle est enregistrée au format JPG, donc sans canal Alpha, sous le nom de fichier cammap.jpg

Etape 3 : Le Camera Mapping

Bien ! Nous allons maintenant projeter cette image sur les différents objets concernés de la scène. Sous Blender, cela est réalisable en utilisant le modificateur UVProject : le plaquage UV sans les problèmes de dépliage...

Pour commencer, déclarons comme 'projecteur' la caméra qui nous a servi à l'étape 1 pour obtenir les images test, test1 et test2. Ainsi, pas de problème de cadrage à résoudre. Elle est identifiée CameraProj dans notre exemple.

1. Créer pour chaque objet concerné - ici le plan - un nouveau calque de texture UV et lui appliquer notre image :

Initialisation de la texture UV

2. Ajouter à l'objet un modificateur UVProject et le paramétrer :

Paramétrage du Modifier UVProject

A propos du modificateur UVProject :

- AspX et AspY doivent être réglés au ratio des dimensions de l'image : ici 800 / 600 pixels = 1.33

- Pour un résultat correct, le mesh doit être subdivisé (comme ci-dessus)

- Le champ Image permet , s'il est renseigné, de limiter l'application de la texture aux faces affectées par l'image.

- Override Image provoque l'écrasement de toute autre image par celle qui est projetée.

- Lorsque plusieurs projecteurs sont déclarés, c'est le projecteur dont l'axe de projection est le plus perpendiculaire à la face considérée qui est utilisé.

3. Créer un nouveau matériau et activer le bouton TexFace ou mieux, charger l'image comme texture image. Pour cette seconde option, sous l'onglet Map Input, activer UV et entrer le nom de la texture UV (par défaut UVTex) puis créer une texture image :

Création d'une texture image

- Le même matériau peut bien sûr, être utilisé pour les 3 objets que comporte notre scène.

- A noter que cette dernière étape est indispensable pour que la texture apparaisse au rendu.

Conclusion :

A l'issue de ce tutoriel, nous avons une scène dans laquelle il suffit d'ajouter une caméra de prise de vue (CameraAnim) et de l'animer - dans les limites édictées en introduction - pour avoir un aperçu des possibilités du Camera Mapping.

Cet exemple est simplissime, mais cette technique peut, du fait de sa rapidité de mise en œuvre, être une alternative intéressante à un texturage complet de tout ou partie des objets d'une scène. De plus, d'autres passes de rendu que celles sélectionnées dans cet exemple peuvent être mises à contribution pour élaborer l'image 2D, ou les images 2D lorsque l'utilisation de plusieurs canaux de texture est envisagée.

Télécharger le fichier exemple cammap.blend (avec une animation paramétrée).

tutoriel rédigé pour le Blender Clan par Egon, 23 décembre 2008

    


Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.

Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses modificateur Tableau 0 3 Aujourd'hui 10:29:52
neonclignote 
Questions & Réponses box select- temps de sélection trop court/long 0 3 Aujourd'hui 10:19:17
Melodicpinpon 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[11] 101 7053 Aujourd'hui 00:18:24
yawdpwal 
Hors Sujet !! Sappling gen generateur d'arbres - tuto blender 1 71 16/05 13:39:46
debutant 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Version alpha disponible + discord    [1][2][3]...[66] 658 133913 16/05 10:20:51
Hook 
Python & Plugins comment accroître la vitesse par appui continu d'une touche? 1 71 16/05 07:19:33
Redstar 
Questions & Réponses objet suivant chemin en prenant la courbure du chemin 2 100 15/05 21:41:12
neonclignote 
Questions & Réponses Plusieurs object qui avance sur une ligne trajectoire 8 224 15/05 19:22:32
moonboots 
Questions & Réponses Booléen et Nurbs sphere 0 50 15/05 15:26:50
blendinfos 
Questions & Réponses Le linking ne marche pas avec mon n personnage 3 113 15/05 09:28:55
Redstar 
Moteur de jeu GameBlender et alternatives Mes participations aux gamejam :    [1][2] 10 735 14/05 22:42:31
timeman13 
Questions & Réponses [résolu] Mirror ne fonctionne plus bien 8 215 14/05 18:08:35
GFC 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[54] 534 158551 14/05 09:37:14
Redstar 
Questions & Réponses Occlusion ambiante dans 2.80 et plus avec eevee 2 246 12/05 06:40:35
xorturion 
Questions & Réponses [résolu] Transparence et Dynamic Paint pour un tag 5 746 10/05 10:51:42
CBY 
Questions & Réponses Text comme screen overlay 5 288 10/05 04:02:53
meltingman 
Questions & Réponses [non résolu] Exécuter un script à l'ouverture 0 97 09/05 21:45:09
Melodicpinpon 
Questions & Réponses Lancer un script par défaut/à l'ouverture 0 84 09/05 19:25:33
Melodicpinpon 
The Blender Clan 'tchat Benchmark EEVEE    [1][2][3]...[5] 41 9325 09/05 17:08:59
Keezty 
Questions & Réponses Garder la lumière allumée en local view, et dans toutes les collections 0 288 09/05 16:58:11
Melodicpinpon 

Qui est en ligne
104 utilisateur(s) en ligne (dont 2 sur Tutoriels)

Membre(s): 0
Invité(s): 104


plus...
Nouveaux membres

Nemo
11/3/2021
qingjie 10/3/2021
Kask909 9/3/2021
marie-antoinette 7/3/2021
Bugs 7/3/2021
lolorogli75 4/3/2021
Flagiel 4/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Mai 18
Anniversaire Luneo
Jui 30
Anniv des Jedi :-D
Jui 10
BUG de Lyon
plus 256 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445