3D-Diablotine.com
Nous sommes actuellement le Mar 12 Déc 2017, 03:57




Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 
 Une seule texture pour plusieurs objets 
Auteur Message
Administrateur
Administrateur
Avatar de l’utilisateur

Inscrit le: Lun 26 Mai 2008, 16:38
Messages: 12733
Localisation: Isère - Jura
Message Une seule texture pour plusieurs objets
En matière de texturage des objets via l'UV mapping, ce qui permet d'utiliser des images, le plus simple est bien sûr de suivre la règle "un objet = une texture"

Note :
"un objet" est bien sûr à prendre au sens "objet Wings", c'est à dire un élément distinct de la fenêtre "graphique des géométries" : votre objet, celui que vous modélisez, pourra bien sûr être constitué de multiples "objets Wings".


Par exemple pour ce tuto, l'objet modélisé "lampe" sera constitué de 4 objets distincts : "pied", "ampoule", "douille" et "abat-jour". Pour cette lampe, si chaque objet reçoit sa propre texture, c'est simple : on aura 4 textures distinctes, soit 4 images JPG (ou autre format choisi au moment de la création de la texture).

Mais il arrive que, pour des raisons de simplicité, ou d'économie de place... (ou tout simplement parce qu'on en a envie) on veuille regrouper toutes les textures de nos objets sur la même image : ici, on voudrait une seule image regroupant les 4 matériaux de nos 4 objets.
Une bonne raison de vouloir tout grouper peut également être de simplifier l'éventuelle l'application d'un traitement graphique ultérieur aux textures ; par exemple, pour en faire une version en noir et blanc, n'avoir qu'une image à traiter au lieu de 4 (ou 50 ! ) peut faire gagner beaucoup de temps.


Pour cela, après avoir cherché et m'être cassé la tête, il s'avère que 2 méthodes sont possibles dont voici le résumé :
- 1ère méthode : chiante à utiliser, peu précise, utilisable uniquement sur un nombre restreint d'objets simples.
- 2ème méthode : simple, efficace, utilisable sur un nombre quelconque d'objets, quelle que soit leur complexité.

vous préférez la 2ème ? c'est bien, c'est celle que nous allons utiliser. :mrgreen:

Toutefois, elle a UN inconvénient, qui sera de faire perdre les noms qui auraient été affectés aux objets (quand il y a plusieurs objets, les renommer est vite indispensable afin de s'y retrouver).
La 1ère méthode, dont je ne parlerai pas ici, ne présente pas cet inconvénient. Mais c'est là son seul avantage... Et si on doit peser le pour et le contre, la 2ème est largement préférable...

- - - - -


1. sélectionnez votre premier objet, créez son UV map, d'un seul coup ou face par face,

2. sélectionnez votre 2ème objet, créez son UV map...

3. une fois toutes les coordonnées UV affectées, sélectionnez TOUS les objets en mode "objet", et faites clic-droit / combiner : ceci regroupe tous les objets en un seul

4. sélectionnez cet objet, clic-droit / mappage UV
ceci ouvre la fenêtre UV, qui affiche les filaires UV de tous les objets simultanément ; le mode "objet" de la fenêtre UV permet toutefois de travailler par groupe 'UV, selon la façon dont été déplié les objets initiaux

5. travaillez les groupes et les faces UV : alignez-les, déplacez-les, redimensionnez-les...
- je ne vais pas détailler ici le dépliage des UV dans Wings, vous êtes supposés savoir le faire (sinon, commencez par apprendre à déplier UN objet avant de vous attaquer à ce tuto dédié aux groupes d'objets ! )
- utilisez la commande "mise à l'échelle / normaliser les tailles" pour maintenir les proportions entre chaque groupe de face
- le but est de tout faire tenir sur la carte UV, sans que rien ne se chevauche (sauf si des faces doivent avoir le même motif, auquel cas superposez leurs filaires ! )


6. quand la carte est prête, clic-droit / créer une texture
choisissez une résolution qui vous permettra de maintenir la qualité voulue, selon l'usage de votre objet : une texture en 512x512 sera probablement trop petite pour regrouper une dizaine de textures de bonne qualité !

7. sélectionnez votre objet et faites clic-droit / séparer : l'objet est divisé et vous retrouvez tous les objets initiaux

8. à partir de maintenant, de retour dans la fenêtre de travail, NE TOUCHEZ PLUS AUX UV : remodifier la carte UV d'un objet vous ferait perdre la texture filaire globale.

9. renommez les objets si besoin est (c'est toujours mieux d'avoir "pied", "ampoule"... plutôt que "cube1", "cube2"...)

10. exportez votre objet, et voilà : 1 fichier OBJ (par exemple) regroupant plusieurs éléments distincts mais n'utilisant qu'une seule texture.

- - - - -

je ferai des captures si nécessaire, dites-le moi.

___________
edit : inversion des points 7 et 8, puisque c'est une fois dégroupé qu'il ne faut plus tripoter les UV

_________________
Image     Image
Image  Image


Mer 2 Mai 2012, 21:50
Profil Site Internet
Modérateur
Modérateur
Avatar de l’utilisateur

Inscrit le: Sam 16 Fév 2008, 17:26
Messages: 5672
Localisation: Near Toulouse
Message Re: Une seule texture pour plusieurs objets
Merci pour le tutoriel ;-)

_________________
"Je voudrais être une larme, pour naître dans tes yeux, vivre sur ta joue et, mourir sur tes lèvres"
Image
Pachou-3D - Deviant Art - daporfolio


Jeu 3 Mai 2012, 06:26
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscrit le: Lun 26 Mai 2008, 16:38
Messages: 12733
Localisation: Isère - Jura
Message Re: Une seule texture pour plusieurs objets
bah y'a rien de bien nouveau, mais ça semble être la seule méthode efficace sur la version actuelle de Wings, ça évitera peut-être à certains de chercher pour rien.

A moins que Maître Harmo n'ait dans sa botte quelque manipulation magique dont il a le secret Image

_________________
Image     Image
Image  Image


Jeu 3 Mai 2012, 07:22
Profil Site Internet
Super Diablotin(ine)
Super Diablotin(ine)

Inscrit le: Mer 3 Oct 2007, 06:22
Messages: 456
Message Re: Une seule texture pour plusieurs objets
C'est une bonne méthode, je ne prétend pas avoir de "truc" vraiment plus efficace, simplement une alternative à proposer (cf plus bas), permettant notammer d'éviter le renommage d'objets.

C'est en fait la méthode très bien expliquée par La Saucisse est parfois utilisée dans d'autres softs que Wings, le but consistant à organiser et préparer des UV multiples pour exploiter une texture commune, il n'y à parfois pas 36 autres façons de faire que de combiner les maillages. Evidemment, des logiciels coûteux comme Maya permettent de seulement _sélectionner_ plusieurs objets pour repositionner/dimensionner leur UV donc sans vous contraindre à combiner différents maillages en un seul objet... mais côté prix, Wings reste difficile à battre.


Ceci-dit, j'aurai une astuce pouvant compléter cette méthode... Pour ceux qui aurait déjà créé une texture commune à plusieurs objets, et/ou souhaiteraient éviter l'étape consistant à combiner/re-séparer les objets... et donc éviter d'avoir à les renommer.

Si, par exemple, on utilise la méthode expliquée par La Saucisse et, plus tard, on décide d'utiliser la même texture pour un autre objet que la lampe. On pourrait imaginer - exemple simple - qu'un objet utilise le même motif que l'abat-jour.

Plutôt que de tout recommencer, pour redistribuer les UV de cet hypothétique 5ème maillage (voir plus), on peut simplement déplier ses UV et une fois ceux-ci visibles dans le module UV il suffit de cliquer-glisser notre texture commune depuis la fenêtre de l'Outliner/Profil de Scène vers celle du module UV. Cette action n'est PAS une assignation de texture à un matériau, juste une astuce pratique pour positionner et dimensioner vos UVs, donc ensuite on devra assigner la fameuse texture au(x) matériau(x) utilisés par ce 5ème objet.

C'est 10x moins long à faire, et à montrer, qu'à expliquer, mais heureusement je l'avais montré dans ma 10ème vidéo du tuto Urbain, allez directement à la 11èm minute environ, et vous verrez que j'utilise justement cette méthode.
http://www.youtube.com/watch?v=i1Lr1mQ_ ... ature=plcp

edit : je précise qu'il n'est évidemment pas gênant que les UVs de plusieurs maillages se chevauchent en fait (si vous les combinez, ce sera probablement le cas). Du moins, pas gênant pour en tirer des rendus, mais ma méthode "alternative" permettant de ne travailler qu'avec les uvs d'un objet à la fois, leur édition dans le module UV n'en est pas pénalisée.

_________________
Tutoriels Videos Wings3D :
http://www.youtube.com/user/ArrowTips/featured


Jeu 3 Mai 2012, 16:36
Profil
Administrateur
Administrateur
Avatar de l’utilisateur

Inscrit le: Lun 26 Mai 2008, 16:38
Messages: 12733
Localisation: Isère - Jura
Message Re: Une seule texture pour plusieurs objets
je savais bien que tu aurais des bidouilles à apporter sur le sujet, merci pour l'astuce ! :-o :-P

_________________
Image     Image
Image  Image


Jeu 3 Mai 2012, 17:22
Profil Site Internet
Super Diablotin(ine)
Super Diablotin(ine)

Inscrit le: Mer 3 Oct 2007, 06:22
Messages: 456
Message Re: Une seule texture pour plusieurs objets
ben...j'ai simplement supposé que je décrivais en fait ta mystérieuse "1ère méthode", celle dont tu à simplement dit que tu... "n'en parlerais pas". :mrgreen: Non? :?:

Quoiqu'il en soit, nos deux astuces se complètent je pense. 8-)

_________________
Tutoriels Videos Wings3D :
http://www.youtube.com/user/ArrowTips/featured


Jeu 3 Mai 2012, 18:10
Profil
Administrateur
Administrateur
Avatar de l’utilisateur

Inscrit le: Lun 26 Mai 2008, 16:38
Messages: 12733
Localisation: Isère - Jura
Message Re: Une seule texture pour plusieurs objets
non, je pensais à... bon, ok j'en parle.

autre méthode, que je ne conseille pas, mais savoir que ça existe peut servir, allez savoir...

Citer:
NOTE : ceci est un tuto inutile qui va probablement vous embrouiller plus qu'autre chose : ne le lisez que si vous avez vraiment envie d'apprendre des subtilités qui ne servent - quasiment - à rien :drinking: :silly:


1. faites les UV de votre 1er objet, créez la texture

2. faites les UV de votre 2ème objet, créez la texture
évitez de faire trop d'objets d'un coup, vous allez comprendre pourquoi

3. sélectionnez votre 2ème objet, faites un clic-droit sur la texture (pas l'image) du 1er objet et "assigner à la sélection"
en faisant cela, vous assignez la texture (et donc l'image associée) du 1er objet au 2ème objet : vous verrez sûrement le filaire du 1er objet bizarrement plaqué sur le 2ème, selon que leurs UV se chevauchent ou pas.

ça y est, on a une texture pour 2 objets !... mais il faut encore générer un filaire propre si on veut ensuite le remplacer par de vraies textures dans notre éditeur d'images.


4. supprimez la texture du 2ème objet puis l'image qui y était associée : elles ne servent plus à rien.
il faut le faire dans cet ordre, car on ne peut pas supprimer une image utilisée par une texture : il faut supprimer la texture d'abord

5. sélectionnez votre 2ème objet, clic-droit, UV mapping
ceci va ouvrir la fenêtre UV, et afficher le filaire de votre 2ème objet en surimpression de celui du 1er ! vous pouvez alors déplacer/modifier votre filaire UV afin qu'il ne chevauche pas l'autre MAIS vous ne pouvez ainsi agir que sur le filaire UV du 2ème objet : celui du 1er est fixe, il a été défini lorsque vous avez créé l'image (en 1.)

6. c'est là que c'est subtil : clic-droit pour "créer une texture", mais si on garde les réglages par défaut, ça va remplacer l'image existante (qui ne contient pour le moment que le filaire du 1er objet) par le filaire du 2ème.
Donc cliquez sur "options" du champ "0 : arrière-plan", et vérifiez quel est l'arrière-plan :
- s'il est sur "couleur", ça génèrera une image de la couleur sélectionnée, et ajoutera le filaire (du 2ème) dessus : le filaire 1 sera supprimé, c'est pas bon !
- il faut donc que ce soit l'autre choix "image", et dans la liste déroulante en-dessous, sélectionnez l'image du filaire 1 : ceci va ajouter le filaire 2 par-dessus le filaire 1.


7. Validez, votre image présente les 2 filaires.

8. Besoin de retoucher le filaire 1 ? Sélectionnez l'objet 1, et retournez à l'étape 5.
Mais... si l'arrière-plan est défini comme étant "image", et que l'image sélectionnée est celle déjà existante, ça ajoutera le filaire 1 aux 2 déjà présents, qui étaient déjà le 1 + 2, ça ferait donc 3 filaires, dont 2 différents du 1er objet.
Il faut donc repasser en mode "couleur" (je préconise du blanc), valider, ceci va régénèrer le filaire 1 modifié... mais supprimer le 2 !
il faut donc ensuite regénérer celui du 2, et repasser en arrière-plan image pour préserver le 1... c'est chiant, hein ?



D'où l'impératif de cette technique : dès la création des UV du 1, bien garder de la place pour le 2, pour ne pas avoir à recommencer.


9. Vous avez un 3ème objet ? pas de souci, si vous avez bien laissé la place nécessaire aux UV de chaque objet.
- en voulant placer le 3ème filaire,vous devez retoucher le filaire 1 ? retour au 1 en mode "couleur", puis 2 en "image", puis encore le 3 en "image".
- vous devez retoucher le 2 ? Retour au 1 en mode "couleur", puis 2 en "image", puis 3 en "image"... c'est très très chiant, puisque chaque retouche, hormis du dernier filaire, oblige à regénérer la totalité des images afin de les superposer.

- - - - -
C'est pas évident, je sais, je ferai des captures un de ces jours pour illustrer tout ça.

Vous l'aurez compris, il est plus simple et rapide de grouper/séparer puis renommer les objets, surtout qu'on peut travailler sur tous les objets en même temps.
Ce tuto a surtout pour but de montrer qu'on peut assigner une image existante en tant que fond au moment de la création d'un filaire d'UV map, ce qui peut servir... ou pas.

_________________
Image     Image
Image  Image


Jeu 3 Mai 2012, 19:01
Profil Site Internet
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Rechercher pour:
Sauter vers:  
cron

3D-DIABLOTINE.COM © 2002 - 2015 | Reproduction totale ou partielle interdite



Powered by phpBB © phpBB Group | Translated by phpBB.fr © 2007, 2008 | Designed by Vjacheslav Trushkin