(1) 2 »


Calculer des Normal maps Tangent space directement dans Blender.
OverdOzed
Inscrit:
05/03/2007 22: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 21:03
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/01/2004 23: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 21: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 15:50
De la Région Parisienne
Post(s): 21795
/me verrait bien ce tuto dans la section tutoriaux du BC

@+

Contribution le : 18/10/2007 22: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 18:05
De Guyane francaise dans la jungeul
Post(s): 10993


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 22:05
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 22: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 : 19/10/2007 00:31
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 22: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 19:09
_________________
Créer un fichier PDF de la contribution Imprimer


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

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 20:03
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
OverdOzed
Inscrit:
05/03/2007 22: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 20:11
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Baker des Normal maps Tangent space
RegulatorZ
Inscrit:
26/07/2006 02: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 20: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 22: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 16: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 Eevee et son affichage 'différent' 0 3 Aujourd'hui 18:09:00
Melodicpinpon 
Questions & Réponses Textures de Maya vers Blender 1 13 Aujourd'hui 18:00:04
Melodicpinpon 
Questions & Réponses Camera Blender et Blend4Web 0 7 Aujourd'hui 17:14:14
Seb_K 
Questions & Réponses [résolu] Edges lumineuses ? 2 25 Aujourd'hui 16:48:08
Cdric 
Questions & Réponses Environnment Texture, Image texture 0 11 Aujourd'hui 15:53:18
HarDrive 
[WIP] et travaux terminés Le château de la Roseraie de Carpentras en 3D (Vidéo) 0 25 Aujourd'hui 11:52:01
Fracoris 
Questions & Réponses Blender 2.8 dupliquer un cylindre sans deformation le long d une courbe    [1][2][3] 28 426 Hier 17:57:31
Rimpotche 
Questions & Réponses Ciel sans skybox ou skydome ? 7 121 Hier 15:37:51
Bibi09 
Questions & Réponses Problème de rendu ( novice ) 3 61 Hier 11:39:10
Rimpotche 
Questions & Réponses Enlever les reflets des arbres dans le shader glass? 7 205 Hier 11:14:01
Bibi09 
[WIP] et travaux terminés [WIP] Teeny Tiny - Story 6 398 11/12 22:40:12
Bibi09 
Moteur de jeu GameBlender et alternatives [non résolu] Modifier un visage - ajouter machoire    [1][2] 13 607 11/12 12:37:06
Redstar 
[WIP] et travaux terminés [terminé] Modélisation et Animation d'un Bulldozer 5 385 11/12 12:29:38
Redstar 
Questions & Réponses Conversion de textures "cycle" en textures "Eevee" 1 72 10/12 22:01:35
Rimpotche 
Questions & Réponses Rigging mécanique 2 98 10/12 19:36:44
mapleberry 
Questions & Réponses [résolu] Utilisation carte graphique 6 289 10/12 14:29:50
HarDrive 
Le coin des geeks information sur taille prise en memoire par le projet pour choix GPU    [1][2][3] 21 959 10/12 11:58:49
papillon 
Questions & Réponses Faire un bonhomme mou 1 97 09/12 19:17:57
Bibi09 
The Blender Clan 'tchat Ré-ouverture de mon site 0 84 09/12 18:51:46
thierry_st_malo 
Python & Plugins [WIP] Créer son propre launcher de jeux. 1 125 09/12 18:08:00
Redstar 

Qui est en ligne
63 utilisateur(s) en ligne (dont 38 sur Forums)

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


plus...
Nouveaux membres
Seb_K 13/12/2019
friedpotato 12/12/2019
Imheretolalala 12/12/2019
GeP 9/12/2019
thibaultsa31 9/12/2019
leo23 7/12/2019
cherdothibaut 2/12/2019
pato90v8 2/12/2019
LFR54 2/12/2019
Lawyer 2/12/2019
Dernier Ajout
2019-11-05 01.JPG

Evènements à venir
Dec 29
Anniversaire d'ebrain
Jan 11
BUG de Lyon
Fev 15
Anniversaire de Dany
plus 277 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445