[Blender/mesh]comment inclure les textures dans le dae ?

Répondre
Partager Rechercher
Voilà, je sais que dans une fichier collada dae on peut inclure UV map et texture mais je n'y arrive pas avec blender 2.5 : à l'import dans SL, mon mesh est tout blanc.
J'ai créé un matériau et j'y ai affecté ma texture, en mettant les coordinates sur l'UVmap que j'ai aussi créé.

Par contre j'ai renoncé à baké: ma texture a une transparence (c'est une fenêtre avec une vitre), et si je bake Blender me met la transparence toute blanche (le cadre est bon lui). Il est où le problème ? La visu sans baker est bonne mais on ne voit pas la semi-transparence de ma vitre.

Question subsidiaire: peut on mettre plusieurs textures sur un mesh ? Je pense que oui mais je sais pas faire.

Autrement dis pour la éniéme fois : Kyle au secours stp
AU dessus de ta fenetre de visualisation du mesh dans SL3 , tu as un petit bouton en forme d écrou.
En cliquant dessus cela affiche un menu , et tu sélectionnes afficher les textures

Par défaut ce n est pas activé .

Concernant le multi texturage , je pense que non . Au final la mesh peut na voir qu une seule texture . En revanche , dans blender , tu peux associer plusieurs textures différentes a chacune des parties de ton mesh .
Par exemple , avoir une texture de verre pour ta vitre , et une autre en bois pour le contour de la fenêtre .
Ensuite , lors de l opération d UVMapping , tu auras une texture consolidée avec chacune de tes textures
Mais bon , peut etre que kyle a une autre solution .
Bonsoir Elenia ,

Pour "Baker" les transparences, lorsque tu crée ton image vérifie que la case "Alpha" est cochée et sélectionne la case avec affichage des canaux "RVB et Alpha" :

Bake_trsp.jpg

Puis sauvegarder dans un format gérant la transparence (PNG ou TGA)

Oui on peut mettre plusieurs textures sur un "Mesh" :

http://wiki.secondlife.com/wiki/Mesh/Technical_Overview


Enfin, dans la limite donnée ci-dessus, pour créer des "faces" différentes, il faut créer des UVMap différentes (ex: une UVMap pour la vitre et une UVMap pour le cadre, soit 2 "faces"-"textures", gérée "in-world" par "choisir une face").
Merci de vos réponses Julyan et redpurple.

@redpurple : j'ai beau activé "show texture", et dans les modifiers cocher la case "texture", rien à faire il ne me charge pas la texture avec le mesh ni ne me la montre dans la prévisu.

J'ai ouvert mon dae avec un éditeur de texte: la texture est pourtant référencée correctement dedans avec son chemin complet.

Je m'en suis tirée en la chargeant séparément: elle se mappe correctement sur la mesh, ce qui veut dire que l'UV map a bien suivie elle.

Par contre j'ai un problème avec les transparences: si de loin c'est à peu près correct, dès que l'on approche la caméra (à 1 m) on voit par transparence à travers le cadre la vitre. Très dommage.
PorteFen_001.jpg PorteFen_002.jpg
@Julyan
Oui j'ai bien coché toutes les cases et rien à faire: quand je bake, il me met les transparences en blanc: j'ai pourtant décoché la case clear.
Mais je vois pas trop l'intérêt de baker, sauf pour créer des ombrages.

PorteFen_Blender_001.jpg PorteFen_Blender_bake.jpg
Bonjour Elenia ,

Effectivement, il n'est pas nécessaire de "Baker" si tu utilise déjà ta propre Map-texture, par contre, si tu crées ton matériau 'verre' dans Blender le seul moyen de le retranscrire pour créer la texture est de le "Baker"...

Concernant la transparence du cadre, il semblerait que certaines parties soient à l'envers, d'où cet effet de transparence, attention aux doubles vertices, doubles faces et aux orientations des normales ...

Pour le blanc, j'avoue ne pas cerner le problème ... (à suivre) ...
Citation :
Publié par Julyan
...

Oui on peut mettre plusieurs textures sur un "Mesh" :

http://wiki.secondlife.com/wiki/Mesh/Technical_Overview


Enfin, dans la limite donnée ci-dessus, pour créer des "faces" différentes, il faut créer des UVMap différentes (ex: une UVMap pour la vitre et une UVMap pour le cadre, soit 2 "faces"-"textures", gérée "in-world" par "choisir une face").
J'ai essayer de faire 2 faces (une pour les vitres, une pour le cadre) à mon mesh en faisant 2 UVTex dans Blender.

Cela ne marche pas: je ne peux sélectionner qu'une seule et unique face. Seule modification constatée le poids est passé de 0.768 à 1.020 equivalent prim.

Je pense que le problème vient de comment je fais mes UVTex: j'ai obligatoirement sur chacune des UVTex l'ensemble des faces; je sélectionne pourtant que celles qui m'intéressent avant la projection (j'utilise Smart UV Project). Mais rien a faire quand je sélectionne tout je vois bien que j'ai toutes les faces projetées.

Alors j'utilise la technique que j'utilisais pour les sculpties: les faces non concernées, je les condense en 1 point et je les mets hors de l'image mais ça doit pas être bon je pense.
Elenia ,

Tu dois impérativement faire deux UVMap distinctes, une pour la vitre et une pour le cadre, sinon, SL ne détecte qu'une seule face, donc une seule texture (ton problème de blanc au "Bake" vient sûrement de là ... ).

Pour faire cela, tu ne sélectionnes que les vertices du cadre et tu déplies, tu crées une nouvelle image UVMap_cadre (1er UVMap) et après, tu ne sélectionnes que les vertices de la vitre et tu déplies, tu crées une nouvelle image UVMap_vitre, (2eme UVMap).
Citation :
Publié par Julyan
Elenia ,

Tu dois impérativement faire deux UVMap distinctes, une pour la vitre et une pour le cadre, sinon, SL ne détecte qu'une seule face, donc une seule texture (ton problème de blanc au "Bake" vient sûrement de là ... ).

Pour faire cela, tu ne sélectionnes que les vertices du cadre et tu déplies, tu crées une nouvelle image UVMap_cadre (1er UVMap) et après, tu ne sélectionnes que les vertices de la vitre et tu déplies, tu crées une nouvelle image UVMap_vitre, (2eme UVMap).
Merci Julyan tu est adorable
Mais c'est ce que je fais: J'ai créé mes 2 UV map distinctes, chacune dans leur image.
Et puis ça suffit pas: il faut passer par des matériaux.
http://wiki.secondlife.com/wiki/Mesh...ulti-face_mesh
Alors j'ai créé 2 matériaux, j'y ai mis leur texture respectives mappée chacune sur sa propre UVmap, et j'ai affecté les matériaux aux vertices concernés (Assign).
L'affectation est bonne : si je sélectionne un matériau et que je clicque sur select Blender me sélectionne bien les vertices concernés.
Ce que j'ai gagné c'est que maintenant SL m'importe une texture: mais que celle du 1er matériau qui se trouve mappée sur toute la surface; je n'ai toujours qu'une face
Citation :
Publié par Elenia B.
Merci Julyan tu est adorable ...


Alors, j'ai procédé de la manière suivante :
- j'ai créé un premier objet pour faire la vitre, j'ai déplié l'UV et lui ai assigné un matériau (verre, effet transparent)
- j'ai créé un deuxième objet pour faire le cadre, j'ai déplié l'UV et lui ai assigner un matériau (aluminium, effet miroir)
* le dépliage UV n'est pas nécessaire pour des couleurs en "à plat" avec ou sans transparence et/ou brillance (géré par SL) *1
- ai exporté en Collada ...
- ai importé et ça marche, 2 faces (textures) mais les textures elles-mêmes n'ont pas suivi, obligé de les importer à part ... (perdu la transparence, l'effet miroir, gardé seulement la couleur de base).

Je t'ai envoyé l'exemple in-world ...
J'ai bien reçu ton mesh Julyan. Je te remercie.

Mais ça va pas du tout: il est composé de 2 prims linkées: le cadre et la vitre. Aucun intérêt ça je sais faire avec un sculpt et un prim classique; et pour moins lourd car il fait 4 prims equivalents !! Je cherche des gains par rapport à ce que l'on savait faire avant.

Ainsi le mesh que j'ai fait pése pour sa dernière mouture 0.5 eq prim vitre et cadre inclus (c'est le même mesh). ça c'est intéressant.
Hello Elenia ,

Citation :
Publié par Elenia B.
J'ai bien reçu ton mesh Julyan. Je te remercie.

Mais ça va pas du tout: il est composé de 2 prims linkées: le cadre et la vitre. Aucun intérêt ça je sais faire avec un sculpt et un prim classique; et pour moins lourd car il fait 4 prims equivalents !! Je cherche des gains par rapport à ce que l'on savait faire avant.

Ainsi le mesh que j'ai fait pése pour sa dernière mouture 0.5 eq prim vitre et cadre inclus (c'est le même mesh). ça c'est intéressant.
Oups, désolé ...

Je t'ai renvoyé mon dernier essai, j'arrive au même poid (0.5 eq prim) et mes 2 matériaux différents.

Selon mon dernier message, il faut joindre les deux objets avant d'exporter.
Je me trompe peut etre , mais à mon avis , il n y a pas besoin de créer 2 objets.
Créer 2 objets impliquerait de créer une UVMap pour chacun des objets

Si j ai bien compris ;
- on ne peut avoir qu une seule UVMap par objet sur blender
- on peut avoir autant de textures par objet qu on veut dans blender
- on ne peut avoir que 8 textures max par prim/mesh dans second life
- une prim/mesh dans second life = 1 objet dans blender
- une mesh = linkset de mesh/prims dans second life = 1 scene de 1 ou plusieurs objets dans blender
- l UVMap ne sert qu a définir les coordonées 2 D utilisées dans la texture assignée aux faces 3d
- mais ces coordonnées 2 D peuvent être liées à plusieurs textures différentes
- je peux donc superposer mes coordonnées 2D , ce n est pas grave puisque cela va dépendre de l assignement de la texture utilisée
- il n y a pas besoin de faire 2 UVMaps . Un seul suffit
- contrairement aux sculpties qui ne devait pas faire chevaucher plusieurs faces dans l UVMap sur blender , je peux désormais les faire chevaucher .
- pour les sculpties on ne pouvait pas avoir de chevauchement de faces parce qu on ne pouvait assigner qu une seule texture
- en revanche , je ne peux pas faire chevaucher deux faces qui sont assignées à la même texture ( sauf si je veux que deux faces ou deux ensembles de faces gardent le même affichage entre elles , dans ce cas elles doivent être superposées )

Par exemple , le point (0,0) dans l UVMap , peut servir pour dessiner la face 1 qui a une textures assignée "bois" ainsi que pour la face 2 qui a une texture assignée "métal".
Il n y a pas de risque que la face 2 ait du bois de dessiné et que la face 1 ait du metal de dessiné.
Donc pour elenia . en supposant que sa vitre intérieure soit une simple face rectangulaire , elle peut avoir son UV Map qui mappe tout le contour ; quant à la vitre, qui est probablement une unique face rectangulaire , elle peut le mapper avec les 4 coins de l UVMap .
En revanche dans son editeur de matériaux , elle devra sélectionner uniquement les faces de son contour et lui assigner une texture avec une image "bois"
puis sélectionner les faces de sa vitre et lui assigner une autre image "verre"

Dans le type de projection , section mapping de la texture , elle devra sélectionner
pour le matériau "bois"
- coordonées UV
- layer "le nom de l uvmap"
- projection cubique ( ou peut etre cylindrique cela dépend de la forme de l objet )
pour le matériau "verre"
- coordonées UV
- layer "le nom de l uvmap"
- projection flat

Je ne sais pas si je suis clair . Peut etre que des copies d écran expliqueraient mieux ..
Citation :
Publié par Julyan
Hello Elenia ,

Oups, désolé ...

Je t'ai renvoyé mon dernier essai, j'arrive au même poid (0.5 eq prim) et mes 2 matériaux différents.

Selon mon dernier message, il faut joindre les deux objets avant d'exporter.
Coucou Julyan

Oui j'ai bien reçu et c'est parfait: il faut que j'arrive à ce résultat: 1 seul mesh, pas d'effets de transparence à travers le cadre, 2 textures.

Comment fais tu ton cadre ? par ring cut et extrusion ou simplement en assemblant des cubes ? Et ta vitre ? C'est un seul morceau qui coupe la traverse centrale ou il y a 4 surfaces ?
Bonjour Elenia ,

Citation :
Publié par Elenia B.
Coucou Julyan

Oui j'ai bien reçu et c'est parfait: il faut que j'arrive à ce résultat: 1 seul mesh, pas d'effets de transparence à travers le cadre, 2 textures.

Comment fais tu ton cadre ? par ring cut et extrusion ou simplement en assemblant des cubes ? Et ta vitre ? C'est un seul morceau qui coupe la traverse centrale ou il y a 4 surfaces ?
Alors:
- Pour le cadre, je pars d'un cube (que j'allonge pour faire la traverse du bas) puis je fais des extrusion une de chaque côté puis j'extrude les deux montants, en 4 fois (1er montant, traverse intermédiaire, 2em montant puis traverse supérieure) enfin j'extrude les deux traverses (en prenant soin de supprimer les faces qui seront " dans le mesh donc invisibles).
- Pour la vitre, c'est un cube pour lequel je ne garde que trois faces puis redimensionné dans le cadre.

Pour les textures, celle du cadre j'ai déplié l'UV mais je l'ai faite sans transparence pour ne pas créer de conflits de transparence.
Youpieeeee ça marche
Bon j'y suis enfin arrivée, et j'ai les réponses à mes questions.

Pour charger la texture avec le dae, il faut faire un materiau, lui affecter la texture de type image, ouvrir le fichier que l'on veut, régler les coordinates sur UV et sélectionner l'UV du mesh.

Pour avoir plusieurs textures sur un mesh, il faut avoir plusieurs matériaux avec chacun leur texture et leur UV map, et que ces matériaux soit affectés aux bons vertices.

C'est là où le bat blesse: en faisant un objet monobloc, malgré plusieurs tentatives en utilisant le bouton Assign du materiau et de destruction/recréation du materiau, le premier materiau créé se trouvait affecté à tous les vertices. Un caprice de Blender sans doute. Ou je m'y prend mal je ne sais pas.

En procédant comme le dit Julyan, c'est à dire en créant 2 objets séparés, en y affectant à chacun son materiau, et en liant les 2 objets au dernier moment juste avant l'export plus de souci.
J'ai compris
Comment faire du multi-texture sans créer d'objets séparés.

Blender, quand on ajoute un mesh, y crée systématiquement un material associé à une texture, material affecté à tous les vertices.

C'est incontournable d'avoir un material affecté à tous les vertices. Il faut le laisser. Par contre, il faut détruire la texture associée, et créer autant de matériaux que l'on veut (enfin pas plus de 8 pour SL), les affecter aux vertices qui vont bien (bouton assign après avoir sélectionner les vertices), les associés aux textures que l'on veut, chacune mappée sur la même UV map ou sur une UV map spécifique suivant ses besoins. Et là ça marche.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés