[TUTO] Le Bump Mapping

[TUTO] Le Bump Mapping

Messagede Dawa » 06 Avr 2005, 22:53

Auteur : Dawa.
Niveau : Moyen.

Qu'est ce que c'est ?

Le BumpMapping est une technique qui permet d'économiser des structures 3D, pour les remplacer par des textures qui donnent l'illusion de reliefs. Par exemple, au lieu de faire pleins de demi sphères pour une route pavée, on réalise une texture avec des pavés et on lui applique une seconde texture qui en fonction de la lumière donnera l'illusion du relief.
Un autre exemple pour être les roues d'un camion. Inutile de réaliser tous les crampons. On les dessine, et on les "BumpMap"
Compris ? Ok, passons aux différentes techniques.

Les techniques

J'ai parlé de BumpMapping qui est le terme le plus courament utilisé pour ce type de procédé, mais il existe en fait 3 techniques.
Je poursuit avec l'extrait d'un article publié sur un blog nofrag : http://blogs.nofrag.com/divide/

On part d'un simple texture (texture diffuse) :
Image

Vous êtes tous habitués maintenant à voir du bump mapping, voire du normal mapping dans les jeux video.
Vous savez aussi sans doute comment ces techniques fonctionnent :
Dans le cas du bump-mapping, il s'agit d'une texture supplémentaire en niveau de gris qui vient perturber le calcul de la lumière sur la surface, pour donner l'illusion d'un relief plus complexe.

Image

Le normal mapping (utilisé notamment dans Doom 3 et Far Cry) est une version ameliorée du bump mapping, qui repose non plus sur une seule composante (niveau de gris) mais sur 3 (niveaux de rouge, vert, bleu). Ces 3 informations ne doivent bien sur pas être interpretés comme des informations de couleurs dans ce cas particulier, mais comme les composantes d'un vecteur à 3 dimensions. Ainsi, le rouge codera la composante X du vecteur, le bleu codera pour le Y, et le rouge pour le Z. Pour chaque pixel de cette texture normale, on a donc un vecteur 3D associé.
Mais a quoi correspond ce vecteur 3D ?
Et bien il est orienté selon la normale de la surface à cet endroit la. En gros, il indique dans quelle direction était orienté la surface du modèle high poly (tres détaillé) à cet endroit la par rapport à la version low poly (peu détaillée, utilisé dans le jeu video).
Ca permet d'effectuer un calcul de lumière beaucoup plus juste sur la surface (le calcul de la lumière en lui même est très simple, il s'agit d'un simple produit scalaire du vecteur indiquant la direction de la lumière et du vecteur indiquant l'orientation de la surface).

Image

Le displacement mapping repose sur un principe similaire aux 2 techniques précédentes, sauf qu'il effectue plus qu'une altération de la lumière : il fait également subir une altération à la géometrie.
Techniquement, son codage repose sur un niveau de gris (les points clairs représentant les niveaux les plus élevés).
Mathématiquement, on peut dire que le displacement mapping est l'intégrale du normal mapping (le normal mapping code des pentes, le displacement mapping code des surfaces) - et vice-versa, le normal mapping est la dérivée du displacement mapping.

Il est donc théoriquement possible de calculer une displacement map à partir d'une normal map.

Image

Quelle technique préférer ?

En fait d'aprés les tests que j'ai pu faire et les forums que j'ai pu lire :

- le BumpMapping donne peut de résultat. Pas trés flagrant.
- le Normal Mapping est le plus utilisé notamment dans HL2 et donne de trés bon résultats.
- le displacement mapping est plus dur à obtenir, et, d'aprés certains, Source ne saurait pas le gérer...

Vous l'aurez compris, l'exemple suivant portera sur le NormalMapping

Réaliser son BumMap

Pas trés compliqué en somme.
J'ai utilisé un logiciel extraordinaire et trés complet pour le "texturing" : Texture Maker. http://www.texturemaker.com/download.htm
Ce logiciel n'est pas gratuit, mais vous pourrez réaliser des tests avec la version d'évaluation.
J'ai testé d'autres logiciels ou encore un plug-ins nVidia pour Photoshop et TextureMaker apporte de trés loin les meilleurs résultats.

Il suffit d'ouvrir sa texture dans le logiciel :
Image

Puis faire Fichier\Export\Normal Map. Cliquez sur le bouton "Update" et Hop :
Image

Il suffit ensuite de jouer avec les curseurs "Amplification" et "Details Persistence" pour obtenir le résultat souhaité. Par exemple, içi je veux obtenir des pavés rond. Donc je ne mets pas trop de détails, qui ne rendrait plus mes pavés trop lisses, et par contre je mets une bonne couche d'amplification qui va creuser entre mes pavés :gg

Je mentionne, en bas à gauche, un nom de fichier avec l'extension "_normal.tga" et je click sur "OK". Mon fichier TGA est créé.
J'ai donc maintenant : stone_floor_01.tga et stone_floor_01_normal.tga.

Je convertis ces deux tga en vtf et je créé un fichier vmt (stone_floor_01.tga) comme ceci :
Code: Tout sélectionner
"LightmappedGeneric"
{
   "$baseTexture" "de_volare_new/stone_floor_01"
   "$bumpmap" "de_volare_new/stone_floor_01_normal"
   "$normalmapalphaenvmapmask" "1"
   "$surfaceprop" "concrete"
}


On précise donc la texture de base et la texture de bumpmap.

J'ai placé Trois exemples pour bien voir la différence. (l'exemple ci-dessus est au milieu)
Voici le résultat :

Image
Image

- à gauche, un NormalMap, sans beaucoup d'amplification mais avec beaucoup de détails,
- Au milieu, pas beaucoup de détails, mais beaucoup d'amplification,
- à droite, pas de NormalMap, texture de base. :D

Merci de signaler les anomalies,
Dawa.
Avatar de l’utilisateur
Dawa
Concepteur
 
Messages: 526
Inscription: 13 Déc 2004, 22:17

Messagede eska » 07 Avr 2005, 09:10

Nickel le tuto Dawa ! :gg
Je connaissais pas le logiciel que tu utilises, moi j'utilisais le plug-in Nvidia pour Photoshop. :D
Je ne connaissais pas la différence entre bump mapping et normal mapping. Et je connaissais encore moins le displacement mapping ! :eu
Merci d'avoir éclairer ma lanterne ! lol :P

++

EsKa

PS : au fait, es-tu sûr qu'entre ton logiciel et le plug-in nvidia, il y a beaucoup de différence niveau qualité ? :eu
eska
 

Messagede Gectou4 » 07 Avr 2005, 11:00

:lu moi je connaissait que le nvidai tool sous toshop merci jva tester ton lien y'à plein de prog qui m'on l'aire fort simpatique...

:@] en 20XX on clique sur le bouton et bouf ça fait une map tout seul :hiver
Image
Image
Avatar de l’utilisateur
Gectou4
Administrateur
 
Messages: 3581
Inscription: 01 Jan 1970, 02:00
Localisation: Partout ^^

Messagede D@rK-EyE » 07 Avr 2005, 11:36

escuse moi mais tu trouve ou "fichier=>...etc" parce que dans "files" export est en gris ... je ne peut pas le selectionner :(


EDIT :
je fais tout comme toi ... mon image est au format jpg et est en 512x512 pixels et je l'ouvre ans ce logiciel mais export est en gris je ne peut pas cliquer dessu. :( :( :'( :'( pitier .... aider moi ... :'( :'(
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3807
Inscription: 15 Aoû 2004, 17:54
Localisation: Pourrieres pas loin d'Aix en Provence !

Messagede Dawa » 07 Avr 2005, 15:14

Erf, j'ai eu le plaisir de tester tout ça sur une version officielle.
Je savais que la sauvegarde était un blocage de la version d'évaluation, mais je ne savais pas pour l'export...

C'est 67€.
Avatar de l’utilisateur
Dawa
Concepteur
 
Messages: 526
Inscription: 13 Déc 2004, 22:17

Messagede D@rK-EyE » 07 Avr 2005, 15:22

et il n'y a pas d'autres logiciels pour faire le normal mapping ?
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3807
Inscription: 15 Aoû 2004, 17:54
Localisation: Pourrieres pas loin d'Aix en Provence !

Messagede D@rK-EyE » 07 Avr 2005, 16:57

aparament mais j'aimerais savoire ou trouver la V2.5 de ce log siouplé :^^
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3807
Inscription: 15 Aoû 2004, 17:54
Localisation: Pourrieres pas loin d'Aix en Provence !


Messagede D@rK-EyE » 07 Avr 2005, 17:08

les liens des sites sont mort :'( :(


EDIT :


:) :D :) nan c'est bon j'ai trouver !!!!


EDIT : 2

haaahhh nooon c'est la v 2.81 :'( :'( :'(
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3807
Inscription: 15 Aoû 2004, 17:54
Localisation: Pourrieres pas loin d'Aix en Provence !

Messagede St James » 07 Avr 2005, 19:45

Tu cartonnes Dawa ^^
St James :
Image
http://www.stjames-maps.net
[= Rêveur de mondes =]
Avatar de l’utilisateur
St James
Mapophobe
 
Messages: 36
Inscription: 24 Nov 2004, 22:30

Messagede Dawa » 08 Avr 2005, 12:36

Hi hi, quand on aime on ne compte pas :P
Avatar de l’utilisateur
Dawa
Concepteur
 
Messages: 526
Inscription: 13 Déc 2004, 22:17

Messagede D@rK-EyE » 08 Avr 2005, 13:47

bon bin j'ai plus qu'a laisser tomber ce log et j'aimerais savoire quel logiciel utiliser pour le normal mapping parceque j'ai dl des textures et j'aimerais les metres en relief
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3807
Inscription: 15 Aoû 2004, 17:54
Localisation: Pourrieres pas loin d'Aix en Provence !

Messagede battousai90 » 25 Avr 2005, 08:17

Sur le site de nems tools avec VTFlib http://nemesis.thewavelength.net/index.php?c=149#p149
on peut importer notre TGA et generer un normal map pour le bump mapping, ca peut etre une alternative, sinon pour ceux qu'ils veulent Texture maker, un tit message je peut vous le send.
battousai90
Mapophile
 
Messages: 249
Inscription: 12 Avr 2005, 12:10

Messagede o-super » 02 Mai 2005, 19:09

Bonjour, C'est bien d'avoir lus, mais avec attention c'est mieux :D

Ainsi, le rouge codera la composante X du vecteur, le bleu codera pour le Y, et le rouge pour le Z.


Voila 8-) Sinon c'est un tres bon tuto, j'aime beaucoup :gg

Bonne Soirée.
o-super
Clandestin
 
Messages: 3
Inscription: 02 Mai 2005, 19:06

Messagede NiGht EyE » 02 Mai 2005, 19:59

moi j'ai essaye de dl le texture maker mais il coince pendant le dl ou alors le fichier *.zip n'est pas valable... :x

Voila ++ :lu
NiGht EyE
 

Suivante

Retourner vers Source engine

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité