(1) 2 »


Calculer des Normal maps Tangent space directement dans Blender.
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Après pas mal de prise de tête, je pense avoir réussi à calculer des normal maps en Tangent Space grâce aux nodes.

Normal Map Tangent Space Factory
Version : 2007.10.24

Pour calculer vos maps Tangent Space, rien de plus simple :
utilisez ce .blend comme une "usine". Importez-y votre mesh, suivez les directives, et vous devriez obtenir votre map.

Le .blend en question :


Théorie :
La normal map hi-res (nmap_pix) est multipliée par une matrice (U,V,Z) (donc 3 normal maps : nmap_U, nmap_V, nmap_vert). U et V sont les vecteur 3d de l'UV pour chaque face. Z est la normale de chaque face, cette map correspond à la normal map low-res (nmap_vert).

La nmap_U est désormais générée à partir de nmap_V et nmap_vert. Ce qui nous fait un bake de moins à faire.

Voir le post de Traven en bas de page pour des explications plus rigoureuse.

Utilisation :
Requis :
Vous devez disposer d'un modèle en multires.
Celui ci doit déja être "unwrappé" à son premier niveau de résolution.

À partir de maintenant, toutes les maps que vous allez devoir créer devront avoir strictement la même taille.

1. Importation de votre mesh dans la "Normal map Tangent space Factory"
File > Append or Link.
Choisir le mesh, et non l'objet.
Sélectionner l'objet "Cube".
Dans le panel Editing > Link and Materials,
choisir votre mesh à la place du "ME:Cube".

Passer en mode UV Face Select.
Garder le multires level à 1 jusqu'à la fin.

2. Baking de la "nmap_pix" (haute résolution)
Placer le Multires render au maximum.

Dans la fenêtre UV, créer une nouvelle image nmap_pix.
"Baker" les normales (Ctrl + Alt + B).

3. Baking de la "nmap_vert" (basse résolution)
Placer le Multires render à 1.

Dans la fenêtre UV, créer une nouvelle image nmap_vert.
"Baker" les normales.

4. Si le mesh est en "Set Solid" (aller à l'étape 5 le cas contraire) :
Dans l'onglet Editing > Modifiers,
activer le modifier Edge Split durant le rendu
(première icône "Enable modifier during rendering")


5. Baking de la "nmap_V"
Dans l'onglet Material > Texture,
activer la texture "V".

Dans la fenêtre UV, créer une nouvelle image nmap_V.
"Baker" les normales.

6. Utilisation des nodes pour générer votre normal map Tangent space
Dans la fenêtre Node Editor,
charger les maps dans cet ordre, de haut en bas :
- nmap_pix
- nmap_v
- nmap_vert
Paramétrer le chemin d'enregistrement de votre map Tangent Space dans le node "File Output"


7. Récuperer votre image dans le dossier choisi =)

L'utilisation de la "Normal map Tangent Space Factory" s'arrête ici. Voyons comment appliquer une telle map sur votre objet.

8. Application de la texture
Créer une nouvelle texture image sur votre material (panel Shading (F5) / Texture buttons).
Charger votre texture
Dans le panel Map image, activer le bouton Normal map

Dans le panel Shaders, activer le bouton NMap TS

Dans le panel Map To, activer le Nor en négatif, et régler le slider sur 1,00.



Post sur BlenderArtists.org

Contribution le : 18/10/2007 20:03
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/01/2004 22:52
De Toulouse
Post(s): 4292
Ouawww

Ça c'est hyper interressant et super bien écrit. bon courage pour la fin.

Contribution le : 18/10/2007 20:53
_________________
lascapi.fr -> Conception de l'art toy
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
Ze Grand Manitou
Inscrit:
24/07/2003 14:50
De la Région Parisienne
Post(s): 21822
/me verrait bien ce tuto dans la section tutoriaux du BC

@+

Contribution le : 18/10/2007 21:02
_________________

Mickaël Guédon | Site pro : www.mickaelguedon.com | Fondateur du Blender Clan : www.blenderclan.org
Auteur de Formations Blender chez Elephorm
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
RegulatorZ
Inscrit:
01/07/2005 17:05
De Guyane francaise dans la jungeul
Post(s): 11704


j'ai pas compris grand chose mais d'apres les explications de Zelouille sur le tchat on pourra ensuite sauvegarder une MAP de la Normal map ainsi crée et donc on aura plsu besoisns d'autres log poru créer nos Tangen Normal Maps



c'est genial

Contribution le : 18/10/2007 21:05
_________________
Mon site : https://www.melting3d.org - Ma chaîne de tutos master
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Citation :
/me verrait bien ce tuto dans la section tutoriaux du BC

Oui pas de soucis, je dois juste trouver comment le rendre le plus pratique possible à utiliser...
Le systeme doit théoriquement pouvoir se simplifier. Je devrais être en mesure de supprimer une map (U ou V). Avec deux, on doit logiquement pouvoir retrouver la troisième.
Le baking de ces maps est d'ailleur un peu craignos, si on ne rajoute pas le Edge Split ça nous donne des triangles affreux. J'avais alors essayé en vain de généré ces maps avec les Nodes de Material.

Citation :
j'ai pas compris grand chose mais d'apres les explications de Zelouille sur le tchat on pourra ensuite sauvegarder une MAP de la Normal map ainsi crée et donc on aura plsu besoisns d'autres log poru créer nos Tangen Normal Maps

Oui, c'est le but d'avoir une astuce 100% Blender. En attendant le Baking des Tangent normal map directement implanté dans Blender.
Cependant c'est loin d'être la méthode la plus rapide je pense .

Je n'sais pas trop par contre comment release la chose. J'hésite entre deux méthode d'utilisation.
- Soit faire un gros node à importer dans son blend
- Soit utiliser mon .blend comme une "usine". On charge les maps U, V, vert et pix généré dans son propre .blend, on lance la fabrication de la map et on quitte.

Append un gros node, et le Material "UV" semble être la manière la plus simple... Enfin, j'attend vos avis là-dessus.

Je suis très loin de maitriser les nodes, les vecteurs, les matrices... Donc si vous avez des idées pour simplifier tout ça, je suis tout ouïe.

Contribution le : 18/10/2007 23:31
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672


J'ai finalement opté pour l'utilisation du .blend comme une "usine". Ce qui semble être finalement le plus pratique.

Vous trouverez le .blend dans le premier poste avec les directives à suivre.

J'attends vos feedbacks :).

Si ça marche bien je compte le mettre sur les forums de Blender Artists.

Contribution le : 19/10/2007 18:09
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
RegulatorZ
Inscrit:
01/07/2005 17:05
De Guyane francaise dans la jungeul
Post(s): 11704
..

zut zut, je suis en train de tester et la j'ai un pti soucis..
bon, je poste peut etre trop rapidement , si je trouves j'editerais..masi:

-alors.. j'ai remplacé le mes de base par le mien.
- j'ai re asigné le nouveau mat a mon objet
- j'ai sculté mon mesh (a ce propos on peu desactiver le [from edge split] du modificateur > [Edge split] pendant le scult].
et le remettre apres..ca accelere le sculte .
- bon, je crée ma nouvelle image [ Nmap_pix.png] (c'est bon png?]
- j'assigne mon depliagea celel nouvele image
- le depliage est bien asigné (si je peint le map, mon dessin est aussi coliré).
- lance le bak et la .. mon uv disparais et le mesh n'y est plus assigné alors forcement :

[Not image found to bake to]

voila, je vais voir ce que ca donne avec un mesh qui n'avais pas eu d'uvmaps auparavent...

et chercher pour quoi ca fait ca..
j'ai deja essayé dasn tous les sens qui me parraisaient logique (assigner depuis le mesh de depart, reassigner le cube de depart enfin.bug!.

++

Contribution le : 19/10/2007 19:03
_________________
Mon site : https://www.melting3d.org - Ma chaîne de tutos master
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Citation :
- j'ai re asigné le nouveau mat a mon objet

Effectivement, quand on importe un mesh, son mat d'origine semble venir avec. Il faut donc réassigner le mat "mat_UV_baker" au mesh.
(pour la prochaine release j'essairai en liant le mat à l'objet plutot qu'au mesh. ça devrait régler ce soucis).

Citation :
j'ai sculté mon mesh (a ce propos on peu desactiver le [from edge split] du modificateur > [Edge split] pendant le scult].
et le remettre apres..ca accelere le sculte

En fait, c'est plutot prévu de sculpter le mesh avant de l'importer ici. Le mesh s'importera avec ses différents niveau de multires, donc pas de soucis.

Citation :
[Not image found to bake to]

L'éternel probleme du baking.. on comprend pas toujours pourquoi on obtient ce message.
Bref, il semblerai qu'il faille régler l'affichage du multires sur 1. Assigner la texture dans l'uv. Puis lancer le baking.

---------

PS :
Il semblerai qu'il faille activer le Edge Split seulement dans le cas d'un mesh en "set solid". J'vais continuer à tester...


Contribution le : 19/10/2007 19:11
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
RegulatorZ
Inscrit:
26/07/2006 01:33
De Poitiers / Paris pour les études
Post(s): 2854
great trouvaille mon Zeli, tu assures comme d'hab

avec l'accord de Zelouille ce post va me servir de bloc-note pour expliciter le système (d'après ce que j'ai compris)

- la map nmap_pix (high res) est la map qui va être transformée en TS
- les groupes RVB >> XYZ sont là pour réaliser une transformation des canaux RGB en vecteurs (matrices 1*3) puis une bijection de [0,1] dans [-1,1]
- les groupes matrix réalisent un produit scalaire entre le vecteur issu de la map nmap_pix et ceux issus des autres images
- le groupe XYZ >> RVB réalisent une bijection de [-1,1] dans [0,1] pour récupérer des canaux RGB

les edits vont être fréquents

Contribution le : 19/10/2007 19:46
_________________
HASTA LA VICTORIA SIEMPRE
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Petite mise à jour v.2007.10.20

Les maps générées sont dans le bon sens désormais.
J'ai revu un peu l'interface du .blend pour que tout soit sous la main.
Les instructions en français et en anglais se trouvent dans le .blend.

Contribution le : 20/10/2007 15:08
_________________
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Animation cycle de marche Fall Guys - Rigify 2 716 Hier 08:42:06
Ediuire 
Hors Sujet !! Tuto Tips - Faire des coutures dans Blender - fabriquer un pouf 1 1082 27/09 14:34:24
perrin34 
Hors Sujet !! Alors elle est PUNK cette bande-annonce de palette CMJN 0 91 24/09 15:33:07
xorturion 
Questions & Réponses Effets sabre laser image par image 2 147 23/09 07:27:45
muthesaint 
Questions & Réponses [non résolu] Rendu vide pour une simple animation 0 115 20/09 09:57:55
Scandinaze 
Questions & Réponses [non résolu] comment engendrer un mouvement selon un autre dans un simple système 1 175 18/09 17:10:37
doraynico 
Questions & Réponses [non résolu] Comment fusionner deux fichiers .blend ? 2 212 18/09 16:53:07
doraynico 
Questions & Réponses Comment mettre un délai sur une animation contenue dans une instance de collection? 0 1160 18/09 16:31:16
doraynico 
[WIP] et travaux terminés [WIP] Super Blenderello.    [1][2][3]...[7] 60 35598 05/09 14:50:01
albron 
Questions & Réponses Comment percer une forme courbe 0 245 03/09 04:23:51
tymoon2000 
Questions & Réponses vertex weights 0 252 31/08 16:59:42
fenixdragon 
Questions & Réponses bagapie 0 269 31/08 16:12:59
zilou 
Questions & Réponses Remplissage objet 2 433 29/08 16:28:10
poppy 
[WIP] et travaux terminés [terminé] Tracking pour Ovni 0 275 29/08 09:48:46
vinceproduc 
Moteur de jeu GameBlender et alternatives Réflexions sur la démarche de création d'un jeu vidéo    [1][2][3]...[5] 48 82084 26/08 06:52:11
breakout_12 
Questions & Réponses Export png de mauvaise qualité 0 260 24/08 19:17:35
Vort 
Questions & Réponses Calcul de volume sur une zone définie d'un objet avec un important maillage 2 380 22/08 15:37:09
Cecile-Blabla 
Questions & Réponses [non résolu] Animation qui ne se finit pas 1 362 21/08 23:09:34
moonboots 
Questions & Réponses convertir displacement shader en displacement géométrie 1 367 21/08 14:20:32
yawdpwal 
Hors Sujet !! Japanese weather presenter 0 1868 20/08 16:40:57
xorturion 

Qui est en ligne
112 utilisateur(s) en ligne (dont 43 sur Forums)

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


plus...
Nouveaux membres
DeliaLough 4/10/2023
Elisha1507 4/10/2023
AndraIuh26 4/10/2023
Aline93X0 4/10/2023
JoleneWilk 4/10/2023
WindyCorri 4/10/2023
NicholStye 4/10/2023
Therese138 4/10/2023
LeroyLkd56 4/10/2023
XFTLynwood 4/10/2023
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 6
BUG de Lyon
plus 216 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