Aller au menu - Aller au contenu

Icône Le Camera Mapping avec Blender

Mise à jour : 29/04/2010
Difficulté : Intermédiaire Intermédiaire Creative Commons BY-SA
78 visites depuis 7 jours, classé 612/786
Soyez les bienvenus dans ce tutoriel ayant pour but de vous initier au Camera Mapping, technique qui permet de manière relativement aisée et rapide d'obtenir des rendus fidèles à la réalité.

Concrètement, nous allons voir comment nous pouvons, à partir de l'image suivante...

Image utilisateur


... parvenir à ce rendu. :-°

Image utilisateur


Mais, c'est quoi en fait le camera mapping ? :o

Le principe du camera mapping (en bref) est de projeter — via la vue de la caméra — une image sur un plan (dans Blender, c'est l'option Project From View).
Dans le cas présent, nous allons donc modéliser notre coupe et un volume pour son contenu qui sera simplement texturé en projetant la photo.

Mais, c'est de la triche ! On ne modélise presque rien en fait ?!

Eh oui ! Ce n'est que du bluff ! :lol:

C'est parti ?!

Préparation de la scène

C'est en fait la partie la plus complexe. Eh oui, on commence par le plus dur ! :p

Courage ! Une fois que cette étape sera passée, ça ira tout seul.

Où est la difficulté ?

En fait, pour que le camera mapping fonctionne correctement, il va falloir trouver le même angle de vue que dans la photo de base... que vous allez déjà enregistrer sur votre disque dur.

Image utilisateur
Clic droit puis 'enregistrer sous'


Les informations nécessaires à la réalisation de cette tâche sont les suivantes :
  • dimensions de l'image : 480 x 640 ;
  • focale : 35 mm (information que vous pouvez avoir dans l'onglet EXIF de l'image en la visionnant avec Xnview).


Attention : si vous prenez une image sur le net, il y a des chances que l'info sur la focale ne soit pas disponible. Mieux vaut prendre des photos vous-même, avec la meilleure définition possible et en évitant les sources de lumière directes ou trop franches.

Lancez Blender, puis, en vue caméra (Numpad 0), placez la photo en arrière-plan (Background Image).

Image utilisateur


Donnez à la caméra la même dimension que l'image dans le panneau Render (F10).

Image utilisateur


Il faudrait également indiquer la bonne focale, mais par défaut elle est déjà sur 35 (vérifiez quand même).

Image utilisateur


Le plus dur, c'est maintenant : il va falloir placer la caméra sous le bon angle. Et il n'y a pas vraiment de méthode... si ce n'est être patient.

Supprimez le cube de base si ce n'est pas déjà fait et, en vue de dessus (Numpad 7), ajoutez un cercle de 8 vertices (Spacebar > Add > Mesh > Circle puis entrez la valeur '8' dans le champ Vertices)...

Image utilisateur


... auquel vous mettez le modificateur Subsurf au niveau 2.

Image utilisateur


Si vous êtes en Object Mode, vous devez avoir un bel arrondi que nous allons essayer de faire correspondre avec le bord supérieur de la coupe.
Sélectionnez la caméra et basculez en vue caméra (Numpad 0) et commencez à baisser la caméra (G>Z) histoire d'avoir le cercle et le bord à peu près à la même hauteur. Vous vous rendrez compte qu'il faut agrandir le cercle afin qu'il ait le même diamètre que sur la photo. Pour ce faire, sélectionnez le cercle et pressez la touche 'S' et ajustez la taille.

L'angle de vue n'est toujours pas bon ? Il va falloir user principalement de trois manipulations pour corriger la position de la caméra (qui doit être sélectionnée) :
  • Grab vertical (G>Z) pour monter ou descendre la caméra ;
  • Rotation locale sur X (R>X deux fois) afin de faire tourner la caméra vers le haut ou le bas ;
  • Grab (G) afin d'ajuster légèrement la position de la caméra en la déplaçant. Dans le cas présent, ça coïncide presque d'emblée.


Patience, patience... Vous DEVEZ enfin arriver à ça !

Image utilisateur


Pour vérifier que tout est bon, vous pouvez sélectionner le cercle, passer en Edit Mode (Tab) et extruder les vertices vers le bas (E>Z) et les scaler (S) afin de voir si l'arrondi correspond aussi au pied de la coupe.

Image utilisateur
En Edit Mode

Image utilisateur
En Object Mode, vue Wireframe.


C'est bon ? Ça marche ? :o Cool ! ^^
Sauvegardez !!! Ce serait dommage de tout avoir à recommencer...

La modélisation

La coupe


Pour modéliser ce genre d'objet, beaucoup de gens diraient « Il faut utiliser le Spin ». Or, le Spin génère des triangles qui, avec le subsurf, ne rendent pas bien. >_< Nous allons donc utiliser une méthode simple composée uniquement d'extrusions et de scales successifs, à partir d'un cercle composé de 4 quadrangles.

En Edit Mode, supprimez l'extrusion de vérification faite juste avant et ne gardez qu'un cercle. Déplacez-le jusqu'à la base de la coupe (G>Z) et redimensionnez-le (S) afin de faire correspondre le diamètre.
En vue de dessus (Numpad 7), sélectionnez deux points opposés du cercle et ajoutez un edge entre eux avec F. Ensuite, faites W et choisissez Subdivide pour ajouter un vertice au milieu de ce nouvel edge.

Image utilisateur


Sélectionnez les vertices par 4, et créez les faces avec F. Voilà un beau disque, léger en vertices, prêt à être extrudé.

Image utilisateur


Repassez en vue caméra, sélectionnez toutes les faces (A) et commencez à extruder le disque vers le haut. Ajustez chaque extrusion au diamètre qui convient avec la touche S.
Attention : avec le Subsurf, il ne faut pas hésiter à faire des extrusions assez proches pour que les angles soient plus marqués.

Vous devez obtenir cette forme générale.
Image utilisateur

Vue en Solid : Image utilisateur


Un aperçu du maillage en vue de côté.
Image utilisateur


Pour creuser l'intérieur, faites une grande extrusion.
Image utilisateur


Placez un Loop Cut (Ctrl+R) à l'intérieur de la coupe au niveau de la surface du dessert (partie crumble).
Image utilisateur


Voilà pour la coupe. Passons au contenu !
Ah ! Et n'oubliez pas de sauvegarder. ;)

Le contenu


Vu que c'est un volume qui a la forme de la coupe (logique...), on ne va pas se gêner : on va prendre sa forme directement sur la coupe.

Sélectionnez les faces intérieures de la coupe situées en-dessous du dernier Loop Cut que vous avez fait.
Image utilisateur


Puis, dupliquez ces faces avec Shift+D et faites tout de suite clic droit pour annuler tout déplacement. Séparez les nouvelles faces dupliquées avec P > Selected.

Passez en Object Mode et sélectionnez le nouvel objet ainsi créé. Pour plus d'aisance, vous pouvez le mettre sur un autre calque (touche M).

Normalement, votre objet a cette forme.
Image utilisateur


Il va falloir le refermer. Pour cela, sélectionnez les vertices du haut, faites une extrusion (E) puis cliquez droit pour annuler tout déplacement et scaler légèrement vers l'intérieur.
Image utilisateur


Faites une autre extrusion vers l'intérieur avec la même méthode.
Image utilisateur


Pour fermer, on va simplement créer des faces en utilisant la même technique que pour créer le disque de base de la coupe.
Image utilisateur


Voilà !
Une dernière précaution consiste à rediriger les normales des objets vers l'extérieur. En Edit Mode, sélectionnez tout avec A et faites Ctrl+N. C'est tout. ^^

À ce stade là, nous avons tous les ingrédients pour faire un délicieux crumble. On y va ! :pirate:

Le texturage

Simplissime : nous allons faire de l'UV-Mapping de bourrin. :p

Ah ! Mais moi j'ai fait le tuto de FélixEnFeu et j'ai pas trouvé ça si simple ! :o

Effectivement, selon les méthodes de dépliage, l'UV Mapping peut être plus ou moins complexe.
Dans notre cas, il va simplement s'agir de projeter la photo sur l'objet à l'intérieur de la coupe.

Nous allons utiliser cette texture (qui est la photo légèrement retouchée afin de masquer le rebord).
Image utilisateur
Clic droit puis 'enregistrer sous'


Sélectionnez l'objet du contenu de la coupe et assignez-lui un nouveau matériau (F5) auquel vous ajoutez une texture. Dans l'onglet Map Input, cochez UV.
Image utilisateur


Dans le panneau des textures (F6), sélectionnez Image dans le champ Texture Type et chargez l'image ci-dessus.
Image utilisateur


Dans une fenêtre UV/Image Editor, chargez également cette image.
Image utilisateur


Nous pouvons passer au dépliage UV.

Le dépliage est très simple à réaliser : en mode Edit, dans la vue de la caméra (Numpad 0), sélectionnez tous les vertices de l'objet à déplier, puis appuyez sur la touche U et sélectionnez Project From View.
Image utilisateur


Maintenant, il ne s'agit plus que de bien positionner la texture dans la fenêtre UV/Image Editor avec les touches G et S. Aucune autre opération n'est nécessaire.
Image utilisateur


En Textured View, vous pouvez vérifier que la texture est bien en place.
Image utilisateur


Et voilà ! :magicien:
Quoi ? C'est tout ?! o_O

Ben, oui. ^^ Bon, vous voulez encore un peu de texturing ? On va s'en faire un sympa pour donner le relief à la couche de crumble.

Avant ça, vous avez sauvegardé ? :)

Le displacement mapping

Le modificateur Displace implique un grand nombre de vertices pour être convaincant. Il permet de déplacer les vertices d'un mesh à partir des niveaux de gris d'une texture. Avec des valeurs positives, les vertices situés en zone sombre sont abaissés. Avec des négatives, ils sont remontés.


Nous utiliserons cette texture sur un nouvel objet, qui sera en fait une simple copie de la couche supérieure du contenu.
Image utilisateur
Cette texture a été créée à partir de celle en couleur et a gardé les mêmes dimensions.
Clic droit puis 'enregistrer sous'


En Edit Mode, sélectionnez les vertices de la partie supérieure du contenu.
Image utilisateur


Dupliquez-les (Shift+D puis clic droit pour annuler tout déplacement) et séparez-les (P > Selected).
Passez en Object Mode et sélectionnez le nouvel objet ainsi créé. Ce doit être un disque si vous avez bien suivi (vous pouvez aussi le mettre dans un nouveau calque, avec M).

Cet objet a déjà le matériau que nous avons créé précédemment. Nous allons ajouter à ce matériau une nouvelle texture mais qui ne sera pas visible.

Dans le panneau Material (F5), ajoutez une nouvelle texture (vous pouvez l'appeler "disp") et veillez à la désactiver en décochant le carré devant son nom. Cochez UV dans l'onglet Map Input.
Image utilisateur


Dans le panneau des textures (F6), choisissez encore Image et chargez l'image servant au displacement.
Image utilisateur


Dans le panneau Editing (F9), nous allons maintenant régler le subsurf pour subdiviser l'objet, puis appliquer le displacement.

C'est là que vous pouvez faire planter Blender si vous y allez trop fort sur le subsurf.
Notez qu'il y a deux lignes pour le niveau du subsurf ; celui visible lorsque vous modélisez dans la vue 3D et celui utilisé pour le rendu. Nous laisserons donc des valeurs basses sur la première ligne. Sachez que vous pouvez même complètement désactiver l'affichage du subsurf dans la vue 3D, mais pour plus de visibilité nous allons le laisser.


Image utilisateur


Ajouter un nouveau 'modifier' en choisissant Displace dans le menu déroulant.
Dans le champ Texture, tapez le nom de la texture de displacement (c'est donc "disp" chez moi) et choisissez UV dans la ligne du bas.
Image utilisateur


Veillez à bien régler le Strength à -0.02... sinon ça déforme un max !
Image utilisateur
en laissant le strength à 1


Si vous lancez un rendu (F12), vous pouvez voir que c'est pas mal mais pas encore assez détaillé.
On va donc encore répéter une subdivision avec le subsurf et refaire le même displace. Vous devez obtenir ceci.
Image utilisateur


Faites des rendus pour vérifier que tout va bien.
Image utilisateur


Et sauvegardez ! :ninja:

Matériaux, lumières, décor et rendu final

Travaillant avec le moteur de rendu externe Yafaray, je vais tenter de vous donner les paramètres équivalents pour le moteur interne. Sachez toutefois que Yafaray fera plus facilement et rapidement des rendus photoréalistes (notamment pour le verre) même s'il n'offre pas autant de possibilités que le moteur interne de Blender en termes de réglages.


La coupe


Ajoutez un nouveau matériau à la coupe. Nous allons en faire du verre légèrement teinté.

Voici mes paramètres avec Yafaray.
Image utilisateur

(Veillez à augmenter aussi le depth dans le menu Settings).

Voici ceux qui peuvent être utilisés avec Blender (si je fais d'énormes erreurs, prévenez-moi).
Image utilisateur


La nourriture


J'ai juste mis une faible valeur Emit afin que le contenu ressorte bien.
Image utilisateur


Pour l'interne, c'est ici.
Image utilisateur


Les lumières


J'ai utilisé l'hdr 'kitchen_probe' disponible ici : http://www.debevec.org/Probes/kitchen_probe.hdr.
N'hésitez pas à visiter ce site : http://www.debevec.org/Probes/.

Il est gentil Bobo, mais comment on utilise ça ?

Ah, vous n'avez pas lu cette partie du tuto de Riton ?
Bonne lecture et revenez instruits ! C'est vrai, quand il y a un super tuto, je ne vais pas le recopier ! :-°

Ça y est ? Vous avez votre ciel ? Pour ceux qui utilisent l'interne l'AO est activée ? Bon. Allez, on continue.

En fait, j'ai simplement changé la lampe de base en spot.

Le décor


Juste un plane ici... mais votre créativité fera bien plus si vous le désirez. :ange:

Le rendu


Voici mes réglages pour Yafaray.
Ayant un dual-core, j'ai mis 2 à Threads. Pour les veinards qui auraient par exemple un quadri-core, mettez 4.


Image utilisateur

  • À gauche, le panneau World où je choisis Texture afin d'utiliser l'HDR.
  • À droite, le panneau Settings où je choisis le Photonmapping comme méthode de rendu.


Pour l'interne, j'utiliserai ces réglages-là.
Image utilisateur


Il ne reste plus qu'à lancer le rendu (F12).

Et si tout va bien, vous devez avoir l'eau à la bouche. :p
Image utilisateur
Avec Yafaray

Image utilisateur
Avec l'interne de Blender
Le camera mapping est une technique de bluff assez répandue dans la 3D et qui permet des résultats convaincants assez facilement. ^^

Le tutoriel que vous venez de suivre est assez modeste mais rien ne vous empêche de prendre de belles photos plus complexes et de leur donner du relief ou d'ajouter des objets.
Je vous recommande la lecture du tutoriel de Tase sur le site de Yafaray qui a élaboré des projets plus ambitieux. :pirate:

J'en profite pour le remercier d'avoir partagé ses connaissances. :ange: Et de m'avoir laissé lui rédiger son tuto en anglais. :soleil:

Bon blend à tous !

Partager

13 commentaires pour "Le Camera Mapping avec Blender"
Note moyenne : 4.00 / 4 (13 votes)
Pseudo Commentaire
Hors ligne sylvainmahe # Posté le 18/05/2010 à 16:14:17
Groupe : Bannis

Très bon tutorial, je suis sur que tu va faire des heureux chez ceux qui ont envie de faire des beaux rendus à moindres frais.

N'empêche, tu nous a bien arnaqué l'autre fois avec ta verrine ^^
Il y en a qui vonts prendre leurs revanche maintenant qu'ils connaissent la technique :p

edit tiens bizarre on ne peux pas enlever la signature :o
Hors ligne darkage # Posté le 19/05/2010 à 14:03:39
La création est un Art
Avatar

Bravo! depuis le temps que je me disais que tu aurais du en faire un! tu as du talent pour la 3D et c'est super que tu partages ton savoir, j'espère que ce ne sera pas l'unique tutoriel que tu feras car ce serais dommage :)

bon boulot

Whatever
 
Connecté bobo75014 # Posté le 21/05/2010 à 15:43:27
Attention : chiant méchant!
Avatar

Avis : Très bon

Ville : Paris
Pays : France métropolitaine

@sylvafilms : c'est clair que c'est une technique de sale grugeur ! ;)
Compte sur moi pour faire l'apologie de la malhonnêteté.

@Darkage : Je me rappelle que tu m'avais poussé à faire un tuto. Ce n'est pas si déplaisant... mais aussi modeste celui-ci soit-il, j'étais loin de me douter que ce serait si contraignant et long.
Respect à ceux qui font de bons gros 'big tutos' !

Image utilisateurJ't'embêteMon porfolioVa chier, E.T. !Image utilisateurEt vive le libre!ScrogneugneuImage utilisateur
 
Hors ligne bisthebis # Posté le 30/05/2010 à 15:14:16

Merci !
Est-ce que je suis le seul à avoir eu l'idée de prendre le rendu d'un autre angle ?
Ca ne donne pas mal :
mon résultat

Sinon, peux-tu m'expliquer le point commun entre ton tuto et ce tuto du Blender Clan ?
Hors ligne fafine # Posté le 18/08/2010 à 17:26:13
Avatar

ca a l'air dégueulasse mais ca a de la gueule.

Voir tous les commentaires
Ce tutoriel a été corrigé par les zCorrecteurs.