PDA

Voir la version complète : Normal map / bump



Tacos
04/11/2009, 13h38
Bonjour,

Je crée ce topic pour connaitre la différence entre normal map et le canal relief car à ce jour, je ne voit pas la différence  :roll: .
De plus comment faire pour bien préparer son fichier, le relief utilise un fichier en niveau de gris alors que le canal normal map lui utilise un fichier couleur, peut-on préparer ce type de fichier sur photoshop ou illustrator ?

Merci de m'éclairer.

Tacos

genghiskhan
04/11/2009, 13h55
oui sur photoshop avec le plug in nvidia pour les normal map.

en fait une normal map est un assemblage de 4 prises de vue (eclairage droit/gauche/haut/bas) le tout combiné par le plug in

l'interet du normal map, un calcul plus rapide qu'avec le canal relief je pense

Tacos
04/11/2009, 14h37
Merci pour tes infos, je suis sur mac et le plug est en .exe, existe-t-il pour mac ?

genghiskhan
04/11/2009, 14h43
je ne sais pas :google:

http://www.idevgames.com/news/normal-map-generator-for-mac-os-x

xander
04/11/2009, 14h45
Petite explication entre normale map et bump map
http://wiki.blender.org/index.php/Doc:FR/Manual/Textures/Maps/Bump_and_Normal_Maps

Si tu ne vois pas la différence entre les deux, faut peut être consulter :mrgreen:

Un truc pour mac, mais je ne sais pas ce que ça vaut.

http://homepage.mac.com/nilomarabese/Menu13.html

dedecru
04/11/2009, 15h07
Hello,

Si cela peut aider, je suis sur Mac et personnellement j'utilise un petit logiciel gratuit appelé NormalMappr. Il permet de générer des normal maps à partir d'images en niveaux de gris. voilà un lien pour le télécharger :

http://hypershot.hyperboards.com/index.php?action=view_topic&topic_id=1195

rx_grafix
04/11/2009, 15h58
il existe aussi un plug in gratuit pour C4D appelé H2N (Height to Normals) disponible chez BIOMEKK (http://biomekk.com/index.php?page=2&cat=107&itm=13#att8).

Il existe pour la R11 et pour la R11.5, Mac et PC.
On peut choisir la source de hauteur, la méthode d'échantillonage comporte les 4 échantillons, 2 Sobel et 2 Prewitt.
il permet entre autre d'utiliser une image ou un shader procédural comme base de la normal map, directement utilisable sur un objet C4D. Et on peut exporter cette Normal Map obtenue en tant qu'image si on le désire.

Jean-Laurent
04/11/2009, 17h34
On peut aussi créer des normal map avec THE GIMP.
On en avait parlé sur ce sujet:
http://www.frenchcinema4d.fr/forum/index.php?topic=20763.0
Mais dans ce cas c'est un peu moins intéressant.

Tacos
04/11/2009, 19h38
:efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface: :efface:


merci pour vos réponses

SCHMUMS
20/11/2009, 23h18
Hello à tous, quelqu'un sait il comment faire fonctionner le plug H2N…je l'ai installé sur la R11 et R11.5 je ne le vois pas dans les modules externes…

Quelqu"un peut il m'eclairer?
Thanks

valkaari
20/11/2009, 23h22
Height2Normal is a shader for Cinema 4D

vas peut être voir du coté des matières.

SCHMUMS
20/11/2009, 23h26
c'est ce que j'ai fait mais je n'arrive pas à comprendre le fonctionnement

Paradox
20/11/2009, 23h40
Rudy explique le "comment qu'on fait des normalmap ?", ici même :
http://www.frenchcinema4d.fr/forum/index.php?topic=20763.20 :wink:

Sylla
20/11/2009, 23h46
Salut,

H2n se trouve à la fin tu menu déroulant de la Texture.

Tu charges une image et tu prends heigt2normal. Ensuite tu as plusieurs réglages pour améliorer l'aspect de ton normal map

Tacos
21/11/2009, 00h38
Bonjour,

Pour mon utilisation je doit avouer que je ne distingue pas trop la différence par exemple sur du relief de parquet (veinnage du bois + joints) entre bump et normale... :roll:

Le seul souci comparé au bump c'est que la texture ne fonctionne pas en mélangeant les texture superposées... je m'explique :
- souvent je modélise un objet, disons un radiateur en fonte.
http://www.france-distribution.com/images/radiateurs%20anciens/radiateur-fonte-rococo-et-lisse.jpg
- je lui applique donc une texture fonte avec un petit bump granuleux.
- ensuite j'applique d'autres textures en superposition avec juste le canal relief activé (il s'agit des arabesques ornementales)
http://img693.imageshack.us/img693/5369/radiateurhaut.jpg

Mon problème vient du fait que ça fonctionne avec le canal relief, le canal déplacement, mais pas avec le canal normale.

Si quelqu'un a une idée... :(

Tacos

Jean-Laurent
21/11/2009, 08h53
Mon problème vient du fait que ça fonctionne avec le canal relief, le canal déplacement, mais pas avec le canal normale.


Petits rappels:
-Le canal relief simule par une action sur l'éclairage le relief. Il agit en fonction des normales. Un point noir ça creuse au maximum. Un point blanc ça élève (virtuellement car la géométrie ne change pas).

-Le canal déplacement ne joue pas sur l'éclairage mais réellement sur la géométrie de l'objet. C'est pourquoi c'est plus lent. Mais surtout il faut que l'objet soit suffisamment subdivisé pour un déplacement correct de ses points. Avec AR il y a éventuellement le Déplacement sous polygonal qui est bien pratique.
Là encore un point noir ça déplace le point du mesh en arrière par rapport à la normale et un point blanc en avant.

- Les normal map c'est plus complexe. Ce n'est pas un simple déplacement en 1 dimension (j'avance ou je recule suivant les normales) mais une simulation du déplacement en 3 dimensions. J'avance vers la gauche, je descends vers le bas, ou je recule par l'avant par exemple.
Donc avec une image en niveaux de gris ça ne va rien te donner, c'est normal pour le normal.
Il y a nécessité d'une image en couleur.



[...] alors que le canal normal map lui utilise un fichier couleur, peut-on préparer ce type de fichier sur photoshop ou illustrator ?

Merci de m'éclairer.



C'est dans les nombreux liens qu'on t'a donnés. Notamment celui de Xander par exemple.

Tacos
22/11/2009, 07h43
Là n'était pas ma question, j'ai compris l'histoire des trois couleurs, j'ai évidement fait mes essais avec une image couleur et le plugin Height2Normal :
http://img21.imageshack.us/img21/4992/sanstitrejs.jpg

Simplement avec le canal normal, je ne peux pas superposer différent motif, tandis qu'avec avec le canal relief, je peux.

D'autre part, je ne voit pas la différence visuelle entre une arabesque dans relief en N&b et une arabesque couleur dans normal.


:calim:

Tacos

tarlack
22/11/2009, 09h31
pour la superposition, ca doit venir du fait que les normales doivent être normalisées (avoir une longueur de 1). Les normal maps de base (sorties de softs faits pour ca) garantissent ca, mais si tu en composes plusieurs, tu n'as plus cette propriété. Le bump repose sur le changement de la longueur de la normale, donc tu vas juste composer le facteur modifiant la longueur de la normale, ce qui ne posera pas de problème.

Juste pour vérifier parce que ma mémoire défaille un peu : il n'y a pas un canal bump et un canal relief séparés ?

Pour l'absence de différence, c'est étonnant :o Tu as un éclairage très largement réparti (genre physical sky), ou fait de lumières plus petites, donnant un éclairage plus "localisé" ? Dans le cas du physical sky, ca pourrait se comprendre, mais dans le cas de l'éclairage localisé c'est moins compréhensible...tu pourrais mettre des images ?

Jean-Laurent
22/11/2009, 10h30
Là n'était pas ma question, j'ai compris l'histoire des trois couleurs, j'ai évidement fait mes essais avec une image couleur et le plugin Height2Normal :
http://img21.imageshack.us/img21/4992/sanstitrejs.jpg


Ah, ok. Au temps pour moi. :wink:
Comme tu avais posté une image grise ça m'a induit en erreur. Je n'avais pas compris que c'était la superposition qui ne fonctionnait pas. :oops:

Le mieux c'est d'essayer, je regarde ça de mon côté et je te tiens au courant. :odile:

Edit:

Je viens de faire quelques essais et je ne comprends pas bien. Chez moi les deux canaux marchent de la même manière.
Mais quelle technique emploies-tu pour superposer tes textures?
Tu parles de superposer les matériaux ?



Juste pour vérifier parce que ma mémoire défaille un peu : il n'y a pas un canal bump et un canal relief séparés ?


Non. Le canal bump en anglais c'est le canal relief en français si ma mémoire est bonne.
Il y a un canal bump, un canal normal et un canal déplacement.

Par contre ça me semble normal que le canal normal réagisse comme le canal relief dans ce cas non ?
Puisque l'image a été créée visiblement à partir d'un plug qui utilise l' image en niveau de gris. C'est pour simuler un effet identique.

Pour avoir une différence il faudrait créer la normal map à partir d'un vrai relief. C'est pas ça ? :?:

Sylla
22/11/2009, 10h53
En mettant un calque, ça fonctionne. Tu mets autant de calque que tu veux
tu as plusieurs manières de procéder, ou tu modifie tes calques avant H2n ou tu mélange chaque texture associé à H2n.

tarlack
22/11/2009, 11h24
non jean laurent, vu que ta carte de normal indique quelle est la normale (le gradient de la surface) à chaque point, ca influence donc la manière dont la surface diffuse la lumière, en fonction de la direction de la normale. Dans l'equation, tu multiplies par cos(w_i, N) où w_i est la direction incidente de l'energie, et N est la normale issue de la normal map. Donc pour chaque w_i (chaque direction), cos(w_i|N) est différent. Le bump n'est qu'un hack qui, en pratique, consiste à dire que l'éclairage final E', c'est alpha * E, où alpha est la valeur encodée dans ton bump, et E est l'éclairage tel que calculé avec la normale géométrique à ta surface. À éclairage équivalent pour le bump (des valeurs egales de E mais produits par des éclairages différents), l'effet du bump ne change donc pas, alors que celui du normal mapping changera, vu que E ne sera plus le meme, la map de normal intervenant dans le calcul de E.

Jean-Laurent
22/11/2009, 12h42
OK. :wink:
Je comprends donc bien que pour une normal map calculée à partir d'un vrai mesh ce soit donc plus précis qu'un simple bump.
Puisque cette normal map contient comme tu le dis des informations sur les normales du mesh et pas un simple scalaire alpha à multiplier par l'éclairage.

Mais je ne comprends toujours pas comment un plug peut convertir en normal map une bump map sans perte d'information.

Le plug n'a pas d'information sur la géométrie de l'objet sur lequel on applique la bump map (enfin je pense, car beaucoup ne fonctionne directement qu'avec la bump map). Je présume que le plug considère simplement que l'image est plaquée sur une surface plane. Du coup effectivement les normales sont toutes parallèles entre elles et n'ont plus d'importance.

On perd un peu l'intérêt des normal map dans ce cas de figure, non?

Avec les deux images proposées par Tacos j'ai beau essayé tout un tas de choses je ne vois pas non plus de différence entre bump et normal dans C4D. :?:



Dans l'equation, tu multiplies par cos(w_i, N) où w_i est la direction incidente de l'energie, et N est la normale issue de la normal map.



Le bump n'est qu'un hack qui, en pratique, consiste à dire que l'éclairage final E', c'est alpha * E, où alpha est la valeur encodée dans ton bump, et E est l'éclairage tel que calculé avec la normale géométrique à ta surface.


Si les normales sont toutes parallèles ça revient pas au même? Avec une bijection pour chaque pixel entre alpha et le couple (w-i,N).

poufi
22/11/2009, 13h22
Salut !

La question qui intéresse Tacos , je crois , et moi en tout cas , c'est : est-ce qu' une image normale map issue d'une image bump n&b donne -elle un meilleur résultat ? Quelqu'un peut-il montrer un comparatif probant ?

Pour ma part, je suis comme Tacos et Jean-Laurent, je ne vois pas . :|

tarlack
22/11/2009, 13h36
pour le passage bump->normal, je sais pas comment ils font, peut-etre une forme de gradient sur l'image de bump. les normales de la map de tacos ne sont pas parallèles, elles le seraient si l'image était unie, avec une seule couleur en tout et pour tout (qui serait les coordonnées de chaque normale). Vous appliquez la map de normal en tangent space ou en object space ? pour le tangent space, il faut des coordonnées uvw sur l'objet, pour que les tangentes à la surface soient bien définies de manière cohérente. en se mettant dans des points de vue un peu rasant, aucune différence n'apparait ? :o

Jean-Laurent
22/11/2009, 13h55
pour le passage bump->normal, je sais pas comment ils font, peut-etre une forme de gradient sur l'image de bump. les normales de la map de tacos ne sont pas parallèles, elles le seraient si l'image était unie, avec une seule couleur en tout et pour tout (qui serait les coordonnées de chaque normale).


Je parlais des normales de l'objet initial. Pas des normales de la map. Sinon effectivement ça aurait peu d'intérêt. :lol:
J'ai regardé par curiosité dans the gimp en superposant sa normal map et sa bump map et c'est bien ça.
La normal map est créée visiblement à partir de la bump map par une simple translation avec gradient de couleur.
C'est comme si l'objet de départ était plat (toutes ses normales parallèles).

J'ai bien revérifié, aucune différence entre les deux effets. Je pense toujours que ça vient tout simplement de là.

Pour avoir une différence il faut que tacos modélise réellement son relief puis crée ensuite la normale map correspondante.
Cette normal map là contiendra vraiment les informations intéressantes sur l'orientation des normales.
Mais pas celle créée à partir d'une bump map.

tarlack
22/11/2009, 14h07
les normal maps faites pour le mode tangent ne supposent rien, à part que dans l'espace tangent, les normales géométriques sont (0,0,1), ce qui est le cas par définition de l'espace tangent (la normale géométrique étant le 3ieme axe). L'espace tangent change en chaque point de la surface, les 1er et second axes de cet espace au point x étant du/dx normalisé, dv/dx normalisé, et le 3ieme la normale géométrique en x (en général, le second axe est modifié pour assurer l'orthonormalisation du systeme). La paramétrisation uv est nécessaire pour que les du/dx soient cohérents d'un point x à un autre voisin. avec ces normal maps là, la normale utilisée au final est juste la normale encodée dans l'image une fois passée dans l'espace qu'on veut pour le calcul de l'eclairage (il se peut que ce soit l'espace tangent directement).