Forum WTeam Le site des moddeurs 100% francophone. |
|
| [Avancé] Le Parallax mapping | |
| | Auteur | Message |
---|
SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: [Avancé] Le Parallax mapping Dim 18 Oct 2009, 00:47 | |
| Tuto : Parallax Mapping Remarques Mike : Mais le calcul du détail des reliefs avec le parallax mapping est plus ardu pour le processeur graphique. Je pense que c'est pourquoi Bethesda en a fait une utilisation assez réduite, par exemple dans les souterrains de la prison impériale. Cependant, comme les processeurs sont maintenant beaucoup plus puissants, vous pouvez ne pas vous priver... Les techniques de bump, normal, parallax mapping sont des méthodes permettant de créer un relief fictif sur un maillage comportant un nombre de polygones réduit (low poly). Cela accélère nettement la calcul des intersections et de ce qui est vu et caché, par rapport à une solution où la forme devrait être définie avec un nombre très élevé de polygones. Le recours au parallax mapping n'est donc pas sans influence sur le choix du degré de détail en polygones d'un mesh. C'est un moyen efficace de réduire le nombre de sommets tout en conservant la qualité du relief. L'avantage du parallax mapping est que la forme ne disparait pas quand vous regarder le plan de profil, alors que les cartes normales et les bump s'effacent pour laisser apparaitre l'arête droite d'un angle de mur par exemple.
________________________________________ Qu'est-ce que le Parallax Mapping ?Le Parallax Mapping est une amélioration du Bump Mapping et du Normal Mapping. Il consiste en un traitement des textures par le processeur graphique afin d'accentuer leur réalisme. Concrètement, cette technique permet de restituer encore plus précisément l’illusion du relief d’une surface plane. Selon l’angle de vue, le rendu de la texture sera différent, donnant ainsi une impression de relief encore plus prononcée et réaliste. _________________________________________ Logiciels à utiliser pour ce tuto :Nifskope :http://sourceforge.net/projects/niftools/files/nifskope/ Logiciel 2D : (Pour ce tuto, j'utilise Photoshop, mais il existe d'autres logiciels payants ou non qui sont capables de créer des "normal map", et utilisent les même filtres et permettent de gérer les Alpha). Vous aurez aussi besoin du filtre Normal Map pour Photoshop ou votre logiciel 2D. __________________________________________ Les bases :Pour faire ce tuto, il faut avoir des bases dans un logiciel 2D, Nifskope et dans le TESCS. Je vous invite à voire les autres tutos de ce forum pour cela.
__________________________________________ En bref, le normal mapping nécessite : * Une map de base, la *.dds (* est le nom de la texture de base =Color Map), à laquelle on ajoute un canal alpha dans lequel on copie par exemple le canal rouge auquel on ajoute du flou (pour faire un relief moins anguleux) et du contraste pour rehausser les bosses (+clair) et renfoncer les creux (+foncé). * Une map normale, la *_n.dds, que l'on génère comme vu dans un autre tuto à partir de la map de base. * Des réglages dans le fichier nif pour activer le parallax mapping.__________________________________________ Ce tuto comporte 3 étapes distinctes :-Création de l'alpha pour la diffuse map (La diffuse map est appelée également texture de base ou color map).(Photoshop) (C'est grâce à cette alpha que notre texture pourra s'afficher en Parallax Mapping) -Création de l'alpha pour la normal map. (Photoshop) *(Cette Alpha qui est dans la normal map permet de créer des effets de brillances qui simule la pluie, ou des reflets sur une surface) Ces effets lumineux sont appelés "lumière spéculaire"-Régler les options des textures de votre NIF. (Nifskope) (Cette étape est fondamentale, car c'est grâce aux options de Nifskope que la texture peut s'afficher en Parallax Mapping) *Facultatif, cette procédure n'est pas obligatoire pour créer une parallax mapping, mais je la recommande, car celle-ci ajoutera du réalisme.___________________________________________ Commençons !-Création de l'alpha pour la diffuse map : Tous d'abord ouvrez Photoshop, ou un autre logiciel 2D.Attention : Pour créer un parallax mapping correcte, il faut une texture très haute résolution ! La résolution minimal est de 1024x1024. Après bien sur tous dépend sur quelle NIF vous voulez mettre cette texture. Plus l'objet en question est énorme, plus la texture doit être grande et inversement. Si vous ne suivez pas cette règle, vous risquez d'avoir votre texture qui glisse sur l'objet auquel vous avez appliquez cette texture.
Et ouvrez votre texture qui devra supporter le parallax mapping. Ensuite allez dans le panneau " couches", et là, dupliquez la couche rouge et entrez le nom suivant " Alpha" : ___________ Ensuite sélectionnez cette nouvelle couche "Alpha". Et allez dans Filtres / atténuation / flou gaussien...Et là, réglez les options comme cela : Et cliquez sur " OK". ____________ Puis ensuite, toujours en sélectionnant la couche "Alpha". Allez dans Image / réglages / Luminosité/contraste...Et réglez les options suivantes: Et cliquez sur " OK". ____________ Voilà ! Vous avez une Alpha pour le Parallax mapping ! Maintenant vous devez l'enregistrez. (vous devez enregistrez votre texture en *.DDS avec la case "Couche Alpha" activé).Et cliquez sur " Enregistrer" Enfin, vous avez une nouvelle fenêtre qui va s'afficher. Ici réglez les options comme il suit : Et cliquez sur " Save". Attention : enregistrez bien votre texture DDS en DXT5 sinon, votre alpha sera détériorée par la compression de la texture en DDS lors de l'enregistrement.__________ -Création de l'alpha pour la normal map : (Partie du Tuto facultatif)Tous d'abord ouvrez Photoshop, ou un autre logiciel 2D.Et ouvrez votre texture qui a le canal alpha que vous venez de créer. Ensuite aller dans le panneau " couches", et là, supprimer la couche '"Alpha" que vous venez de créer.Puis, dupliquez la couche "Bleu" et appelez la aussi " Alpha". Ensuite sélectionner la couche "RVB" et retournez dans "calques".
Maintenant, importez votre texture normal map.Après cela, supprimez le calque " arrière-plan" et faites un clic-droit sur la texture "normal map" que vous venez d'importer dans " Calques" et cliquez sur " aplatir image". Ensuite allez dans la partie " couches" et là, normalement, vous avez toujours votre couche " Alpha". Sélectionnez-là.Allez ensuite dans Image / Réglages / Niveaux...Et mettez ceci : Puis cliquez sur " OK" Attention : plus votre couche Alpha sera foncée, moins il y aura un effet de brillance, et au contraire, plus elle sera claire, plus l'effet de brillance sera élevé.___________ Ensuite enregistrez cette normal map. (vous devez enregistrez votre texture en DDS avec la case "Couches Alpha" activé).Et cliquez sur " Enregistrer" Enfin, vous avez une nouvelle fenêtre qui va s'afficher. Ici réglez les options comme il suit : Et cliquez sur " Save". Attention : enregistrez bien votre texture DDS en DXT5 sinon, votre alpha sera détérioré par la compression de la texture en DDS lors de l'enregistrement.Et voilà, votre texture aura des parties plus brillantes qui simule l'effet de la pluie. ___________ -Réglez les options de textures de votre NIF : Maintenant, ouvrez Nifskope.Ensuite ouvrez votre NIF. Puis ouvrez les différentes parties de votre nif comme il suit dans la partie " Block List" Et cliquez sur " NiTexturingProperty" de l'un de vos " NiTriShape". En l'occurrence, celui que vous voulez qu'il ait la texture Parallax Mapping. Dans la partie " Block Details", cliquez sur " Apply Mode". Normalement, vous devrez avoir à droite de celui-ci " APPLY_MODULATE". Cliquez dessus et changez cette option pour " APPLY_HILIGHT2". C'est ce qui active le parallax mapping pour votre mesh. Note Mike : les réglages de matériau d'une texture sera expliqué dans un autre tuto, en particulier les valeurs de seuil des différents types de lumière.Enfin cliquez sur "NiMaterialProperty" de la partie " Block List". Dans la partie " Block Details" réglez les options suivantes : Et enfin enregistrez, et maintenant, allez voir le résultat dans le jeu !_________ Comparaison et conclusion : Cette image montre la comparaison entre une texture qui n'a qu'une normal map, et une autre qui a la normal map plus le parallax mapping. Et voilà une petite vidéo qui montre bien le Parallax Mapping : Maintenant vous savez créez un Parallax Mapping dans les règles de l'art ! Grâce à çà, vous n'avez plus vraiment besoin de créer des objets avec des milliers de faces ! Je vous remercie d'avoir suivi ce tuto.
Dernière édition par SCG le Mar 19 Oct 2010, 18:12, édité 3 fois | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Mer 30 Déc 2009, 18:05 | |
| J'ai mis à jour ce tuto, car il ne marchait pas tout à fait.Jusqu'à aujourd'hui !Ce tutoriel marche correctement si on suit toutes les étapes de celui-ci.J'ai mis un peu de temps avant que ce tuto soit fini, car il n'existe aucun tutoriel sur ce sujet, que ce soit sur un forum Français ou Anglais. Donc j'ai du faire mes propres recherches sur ce sujet. Voilà, j'espère que ce tutoriel vous sera utile. | |
| | | Hawky Chaman
Nombre de messages : 44 Age : 31 Date d'inscription : 23/12/2009
| Sujet: Re: [Avancé] Le Parallax mapping Jeu 31 Déc 2009, 01:07 | |
| Magnifique tuto !!! et très utile par ailleurs. Je te tire mon chapeau.. tu as du bosser sacrément dur pour le réaliser ! Je te félicite Continue ainsi !! A+ dans le bus ! | |
| | | Dorjé Compagnon ArchipelModeur
Nombre de messages : 62 Age : 46 Date d'inscription : 13/03/2009
| Sujet: Re: [Avancé] Le Parallax mapping Jeu 31 Déc 2009, 10:55 | |
| Bonjour,
Une question le passage par GIMP est obligatoire ? Pas d'équivalence sous photoshop ? | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Jeu 31 Déc 2009, 12:22 | |
| Si je viens d'essayer sur photoshop le pulgin normal map marche pour le parallax mapping. Du moins si on active : Add height to normal map et : Using multiple layers
Mais le pulgin de Gimp est bien plus fourni pour ce qui est de la génération des normal map et des parralax mapping.
Mais sinon ça marche avec photoshop aussi. | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Dim 25 Avr 2010, 14:18 | |
| Ce tuto a été remis à jour, dans la partie Photoshop. Car jusqu'à présent, je ne savais pas trop comment varier la profondeur du relief de la texture. Et maintenant, que je viens tout juste de trouver, je vous en fait profiter. | |
| | | baronf Compagnon ArchipelModeur
Nombre de messages : 1497 Age : 62 Date d'inscription : 27/08/2007
| Sujet: Re: [Avancé] Le Parallax mapping Lun 10 Mai 2010, 17:11 | |
| SCG,
J'ai lu ton tuto (mais peut-être pas suffisamment en détail), aussi j'ai quelques questions.
Ou se situe les informations de "parallax mapping"?. Tu ne donne pas de nom de fichier, donc en lisant le texte, j'aurais tendance à penser qu'il est dans le fichier texture, mais où? dans le canal alpha de la texture elle-même? (je pensais qu'il était résevé à la transparence).
Mais s'il est dans le fichier de normal map, alors il faut préciser le changement de nom après le passage à GIMP.
J'essaye aussi de comprendre à quoi sert Photoshop. A créer un fichier DDS avec canal Alpha? | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Lun 10 Mai 2010, 17:37 | |
| - Citation :
- Où se situent les informations de "parallax mapping"?.
Tu ne donnes pas de nom de fichier, donc en lisant le texte, j'aurais tendance à penser qu'il est dans le fichier texture, mais où? Dans le canal alpha de la texture elle-même? (je pensais qu'il était réservé à la transparence). Oui, il est dans la texture de base, dans l'onglet "couches" et il doit s'appeler Alpha. C'est bien l'alpha qu'on utilise pour la transparence. Mais il peut aussi être utilisé pour le parallax mapping. Cette couche Alpha sera réservé pour créer un faux relief. Donc c'est pour çà qu'on ne peut pas dans Oblivion en tous cas, créer une texture transparente qui utilise en même temps le parallax mapping en plus. - Citation :
Mais s'il est dans le fichier de normal map, alors il faut préciser le changement de nom après le passage à GIMP. Le passage de Gimp n'est pas obligatoire, on peu très bien faire la normal map dans Photoshop. La couche Alpha, existe à la fois dans le fichier .dds et _n.dds. Dans la texture de base elle sert au parallax, et dans la normale, elle sert aux effets spéculaires (brillance).Donc quand on enregistre, il faut le faire en (pour photoshop): DXT3 ARGB 8 bpp | explicit alpha (ou mieux le plus souvent : DXT5)Sinon en DXT1 on perd l'alpha, et sans celui ci, on ne peut avoir de parallax mapping. - Citation :
- J'essaye aussi de comprendre à quoi sert Photoshop.
A créer un fichier DDS avec canal Alpha? Oui, avec les autres logiciels j'ai essayé de faire pareil (Gimp et Paintnet) Mais je n'y suis jamais parvenu. Mais peut-être qu'on peut y arriver. J'ai pris photoshop car je suis habitué à l'utiliser grâce à mes études. Je suis désolé si ce tuto n'est pas très élégant et survole quelques points, mais je ferai par la suite, une vidéo HD. Car je trouve que les vidéos donnent plus envie de faire le tuto que de le lire. | |
| | | baronf Compagnon ArchipelModeur
Nombre de messages : 1497 Age : 62 Date d'inscription : 27/08/2007
| Sujet: Re: [Avancé] Le Parallax mapping Lun 10 Mai 2010, 17:46 | |
| Je comprend mieux, effectivement si l'alpha sert soit à la transparence, soit à la parallax. (c'est dommage que l'on ne puisse pas utiliser le fichier de normal map pour y mettre la parallax map, et donc conserver la transparence dans la texture elle même! enfin bon, il faut faire avec...).
Pour les textures transparentes on doit pouvoir utiliser (en plus de la normal map), la bump map...
Que se passe t-il si tu as une "parallax map" dans la texture et une normal map? Utilise t-il les deux? Qu'une seule d'entre elles?
Pour créer les fichiers DDS, j'utilise DXTBMP (je manipule très mal Gimp, et je n'ai pas photoshop; quant à paintshop pro, j'ai abandonné les essais d'utilisation du plugin!). | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Lun 10 Mai 2010, 19:01 | |
| - Citation :
- Je comprend mieux, effectivement si l'alpha sert soit à la transparence, soit à la parallax. (c'est dommage que l'on ne puisse pas utiliser le fichier de normal map pour y mettre la parallax map, et donc conserver la transparence dans la texture elle même! enfin bon, il faut faire avec...).
C'est la faute a NifSkope ! Car tu as un seul NitexturingProperty pour les deux textures, la texture de base et la texture normal map. Et dans NitexturingProperty puis Applymode tu as : APPLY_REPLACE..................................................... Testé mais sert a rien APPLY_DECA......................................................... Testé mais sert a rien APPLY_MODULATE................................................... Texture normal APPLY_HILIGHT....................................................... Reflets fenêtre APPLY_HILIGHT2..................................................... Parallax Mapping Tu n'as pas d'autre mode, et les "Testé ne sert a rien" ne sert à rien comme leurs nom l'indique, enfin, je n'ai pas encore percé leur utilité. - Citation :
- Que se passe t-il si tu as une "parallax map" dans la texture et une normal map? Utilise t-il les deux? Qu'une seule d'entre elles?
Je n'ai jamais essayé avec une normal map. Mais a mon avis il va prendre la première Alpha en compte. Car j'ai déjà créé plusieurs Alpha dans une texture une fois, et il ma toujours prit en compte que la première. Il faut bien prendre en compte que : La texture donne la couleur. Le parallax mapping l'effet relief. Et la normal map les zones "d'ombres" de la texture. Donc si tu mets pas de normal map à la texture qui a une parallax mapping, au rendu, tu auras bien le relief d'activé, mais ta texture sera lisse. Donc aucune zones d'ombres et donc aucun détailles, c'est comme si on aurai mi une lumière en face. - Citation :
Pour créer les fichiers DDS, j'utilise DXTBMP (je manipule très mal Gimp, et je n'ai pas photoshop; quant à paintshop pro, j'ai abandonné les essais d'utilisation du plugin!). Gimp est, je trouve, le logiciel le plus proche de photoshop. Cependant, quand j'ouvrais mes textures qui comportaient un parallax mapping, elle apparaissait transparente, alors qu'elle ne l'était pas. Mais c'est surement possible avec GIMP. Faut essayer ! | |
| | | baronf Compagnon ArchipelModeur
Nombre de messages : 1497 Age : 62 Date d'inscription : 27/08/2007
| Sujet: Re: [Avancé] Le Parallax mapping Mar 11 Mai 2010, 08:43 | |
| Merci pour ces explications.
Note au passage, que l'effet est très saisissant sur l'image de la prison.
As-tu fait une comparaison entre l'utilisation du "parallax mapping + normal map" et "bump map + normal map" (si ma mémoire est bonne, cette dernière combinaison ferait appel à un fichier supplémentaire pour la bump map, et donc laisserait disponible le canal alpha pour la transparence).
EDIT Ci dessous un article intéressant sur les normal maps et parallax map pour oblivion. En résumé : la parallax map sert à amplifier les effets de la normal map, en agissant sur les amplitudes des reliefs selon l'axe perpendiculaire à la surface, contenue dans la couche bleue de la normal map.
http://www.katsbits.com/tutorials/textures/understanding-oblivions-parallax-maps.php
Personnelement, je pense qu'un effet similaire peut être obtenu (mais peut-être dans une moindre mesure en accentuant le contraste de l'image servant à la création de la normal map. (l'idée étant ici de pouvoir conserver le canal alpha pour la transparence, sinon l'utilisation du parallax map est très bon).
Je m'explique : Basiquement les normal map sont créées à partir des textures "diffuse" (les images quoi!), en supposant que ce qui est clair est une excroissance et ce qui est sombre est un creux. Si on souhaite accroitre l'effet de relief, il suffit de prétraiter les textures afin que les zones supposées être des excroissances soit plus claires et que les zones supposées être en retrait soit encore plus sombres.
Tu remarqueras, SCG, que pour les costumes des elfes de l'archipel (hauts-elfes, sylvestres et ayleïdes), les normal map ne suivent pas la règle simple du clair-obscur pour la création des normal map. Les fichiers ayant servi à la création des normal maps sont issus, certes, des textures (pour conserver les dessins), mais les luminosités des couches ont été modifiées afin que les zones d'excroissances soient plus claires que les zones en retrait, même si ces excroissances sont de couleurs plus sombres que les zones creuses. Dans la même idée, les zones d'omdres sur la texture ont été supprimées afin de ne pas créer de creux à cet endroit (ce n'est pas parce qu'il y a une ombre, qu'il y a un trou, mais peut-être plus simplement qu'il y a une excroissance à côté). En quelque sorte, j'ai refais une bump map à partir de la texture; bump map qui a servi à créer la normal map. | |
| | | Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: [Avancé] Le Parallax mapping Dim 03 Oct 2010, 19:22 | |
| Je met cela ici en attendant un tuto séparé expliquant l'utilité des maps et les réglages (seuil d'apparition, indicateurs d'options, désignation du shader... etc.) Il renverra aux tutos plus détaillés dont le tien sur le parallax, SCG.
La texture de base *.dds) ou texture des couleurs (=color map ou diffuse map - ne pas l'appeler texture normale, qui est la normal map - je corrige le tuto plus haut) donne la couleur (par mélange des canaux RGB red green blue) ET s'il existe un canal alpha, soit la transparence, soit des infos pour le parallax mapping. Le parallax mapping est une accentuation du relief en fonction de l'angle de vue de l'image. Contrairement à la normal map ou une bump map, le relief ne disparait pas quand on incline la vue en se rapprochant de la surface, mais le relief se retrouve accentué. Pour oblivion, il ne s'agit pas d'une parallax map, mais de parallax mapping qui utilise la normal map plus le canal A de la color map.
La normal map (*_n.dds) est la texture "normale" et donne des effets de relief. Ce faux relief disparait quand on incline la surface pour la voir presque de profil et cela devient tout plat. Les canaux RGB de la normal map donnent un décallage des x, des y et des z. Comme c'est essentiellement le décallage selon Z (hauteur) qui est rendu par les filtres de normal map, la normal map apparait comme une image essentiellement bleue. Le canal alpha de la normal map sert à indiquer les effets de lumière spéculaire, c'est à dire à définir les zones mates et les zones brillantes. Un normal mapping quasi-complet (reflexif et spéculaire) nécessite l'ensemble des infos RGBA
La glow map (*_g.dds) qui donne les effets d'émission de lumière. La map désigne les zones d'émission de lumière. Ce sujet est étudié ailleurs.
Cela parait un enchevêtrement assez compliqué, mais qui a ses raisons historiques. Les moteurs de rendu et leurs algorithmes utilisent les canaux disponibles de la map de base (color) et de la normal map, au moment de l'apparition de ces concepts. De plus interviennent les shaders. Selon le shader utilisé s'ajoutent des effets supplémentaires d'ombres et de lumière (ce sont des algorithmes, donc de petits programmes qui peuvent donner des effets d'ombre ou l'impression de mouvement, ou créer des reflets rendant des irrégularités infimes de surface, comme sur les vitrages).
Plus précisément :
La map de base (= color map ou diffuse map)
Canaux RGB : c'est le mélange de couleurs visibles, en l'absence de tout effet bump, normal, paralax, spéculaire ou glow
Canal alpha (A) : C'est soit la transparence soit le parallaxe. On ne peut pas avoir les deux en même temps dans Oblivion. Si c'est un paralax mapping, ce canal indique des informations supplémentaires de parallaxe, permettant de restituer un relief plus accentué, en particulier sous des inclinaisons ou le relief en simple mapage normal n'apparaitrait pas.
La map normale (= normal map)
Canaux RGB : c'est le décalage du vecteur normal de chaque vertex, donc les dx, dy, dz du vecteur normal à chaque point correspondant de la map des couleurs. Cela fait que ces successions de décalages sur les facettes vont créer, par calcul de la variation de la lumière réfléchie par la facette, un effet d'ombre et de lumière. Une facette peinte dans la color map avec un bleu uniforme, associée à une normal map faite à la main (pas générée car une couleur uniforme donne une normal map uniforme), donne par exemple le dessin d'un carrelage légèrement bosselé et des joints bien net. La map normale fait en gros la même chose qu'une bump map. Ce sont juste les données RGB qui sont interprétées différemment, la normap map étant l'indication des variations du vecteur normal, la bump map une simple définition de la variation de hauteur du relief à chaque point. La normal map est plus "travaillée" que la bump map qui nécessite pour le processeur graphique davantage de calculs de lissage. C'est pourquoi Oblivion (ou plutôt le moteur NIF - Net Immerse) utilise des normal map).
Canal alpha (A) : C'est un complément d'information pour le bump mapping ou le normal mapping. Une surface n'étant pas uniformément réfléchissante (en général), ce canal désignera les zones plus brillantes et celles qui sont plus mates. DXT5 donnera un résultat plus progressif que DXT3 (effets de seuil pour DXT3). Note 1 : une zone brille ou non en fonction de la direction de l'éclairement et de la position de la caméra (ou de l'observateur). C'est juste la faculté de briller qui est ainsi définie. Note 2 : briller en présence d'un éclairage, n'est pas émettre de la lumière (par exemple dans une nuit noire ou un intérieur non éclairé). L'émission des zones d'émission de lumière est réglé par la glow map.
La Glow map
(à suivre)
Dernière édition par Mike89 le Dim 29 Jan 2012, 14:40, édité 3 fois | |
| | | Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: [Avancé] Le Parallax mapping Lun 04 Oct 2010, 10:33 | |
| J'ai complété mes observations juste ci-dessus. J'en ferai un tuto séparé de présentation générale des maps pour Oblivion. Il faut dire aussi que ce n'est pas la faute à nifskope, mais au format Direct Draw Surface (DDS) de Microsoft qui est comme çà. C'est le format des textures de DirectX... Et la faute au format nif créé par NetImmerse pour son moteur graphique. Et les raisons aussi sont historiques. Concepts parfois anciens mais qui n'ont pu être mis en oeuvre que progressivement avec la puissance des processeurs graphiques et l'augmentation de la mémoire qu'ils pouvaient traiter dans le temps d'une frame suffisamment courte... Dans l'ordre : 1) les bump map image en niveaux de gris, monochrome (8 bits)... développé dans les années 90... mais le concept date des années 70 2) les normal map (RGB : 3 canaux 8 bits pour dX dY dZ) + par la suite un 4ème canal pour la lumière spéculaire (réflection : brillant et mat...) qu'on appelle aussi Alpha, par analogie avec les images couleurs de base avec gestion de la transparence des couches dans les logiciels de dessin comme photoshop. Donc on est passé progressivement de 8 bits à 32 bits pour codifier le relief... qui n'est qu'une accentuation de éclaircissement ou de l'assombrissement local de la texture de base. Mais avec des algorithmes qui se sont sans cesse perfectionnés, pour tenir compte de l'angle des angles d'éclairages multiples, et de l'angle de vue de l'observateur... d'où l'idée de parallaxe, qui donne une impression + ou moins creuse selon l'angle de vue (élargissement ou rétrécissement des ombres), même en observation rasante. 3) D'où le parallax mapping qui est un perfectionnement du normal mapping apparu en 2001, mais seulement sur les machines assez puissantes. Avec soit l'utilisation du canal alpha de la texture couleur de base, soit une vraie parallax map dédiée. Oblivion utilise un parallax mapping, pas une parallax map... Il utilise une map de couleur de base + éventuellement une normal map + éventuellement un glow map. Mais ces deux là n'ont pas à être déclarée dans le NIF. Le moteur graphique reconnait leur présence avec les *_n.dds et les *_g.dds. Attention aux options disponibles dans Nifskope. Nifskope est un outil multi-jeux autour du format NIF de Netimmerse Gamebryo... Ce format est évolutif. Le moteur pour Oblivion a donc été bricolé, bridé, adapté selon les désirs de Bethesda (et ce qu'il acceptait de payer... ) . Mais comme toujours, même si les options sont toujours là dans le fichier, cela ne veux par dire que c'est utilisé, ou que cela aura un effet quelconque. Cela peut même faire planter le jeu... et même windows. Donc on teste, on découvre... Car certaines options peuvent être parfaitement fonctionnelles dans le moteur graphique, et inutilisées par Bethesda, pour des raisons de limite processeur, de temps ou d'argent... Alors aujourd'hui, pour nous, c'est cadeau !!! | |
| | | SCG Compagnon ArchipelModeur
Nombre de messages : 623 Age : 32 Date d'inscription : 13/01/2009
| Sujet: Re: [Avancé] Le Parallax mapping Lun 18 Oct 2010, 17:25 | |
| Voila tuto mis à jour définitivement ! Le parallax mapping marche du tonnerre !
Merci Mike pour les explications en plus ! Et bonne lecture de ce Tuto ! | |
| | | Contenu sponsorisé
| Sujet: Re: [Avancé] Le Parallax mapping | |
| |
| | | | [Avancé] Le Parallax mapping | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|