Author Topic: Wak Exporter sous Max 2008 32bits et lightmaps  (Read 7962 times)

0 Members and 1 Guest are viewing this topic.

yodino

  • Associate
  • Posts: 3
Wak Exporter sous Max 2008 32bits et lightmaps
« on: March 12, 2009, 10:37:25 PM »
Bonjour à tous,
Je me suis décidé à prendre en main Demoniak3D et je suis en train de tenter d'appliquer mes lightmaps sur une scène simple. J'utilise le Wak_exporter pour Max9 mais je travaille sous Max 2008. D'où ma première question : est-ce que le plugin d'export pour Max9 fonctionne sous Max2008 ? (En tout cas je n'ai aucune erreur, ni au chargement, ni à l'export)
Deuxième question liée au fichier attaché au post : Comment se fait-il que mes lightmap se plaquent de cette façon sur mes maillages.
Merci à vous tous,
Yodino

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2385
    • oZone3D.Net
Re: Wak Exporter sous Max 2008 32bits et lightmaps
« Reply #1 on: March 23, 2009, 09:43:07 AM »
Bonjour à tous,
Je me suis décidé à prendre en main Demoniak3D et je suis en train de tenter d'appliquer mes lightmaps sur une scène simple. J'utilise le Wak_exporter pour Max9 mais je travaille sous Max 2008. D'où ma première question : est-ce que le plugin d'export pour Max9 fonctionne sous Max2008 ? (En tout cas je n'ai aucune erreur, ni au chargement, ni à l'export)
Si MAX ne donne aucun message d'erreur au lancement et que tu arrives à exporter un fichier XML, alors le plugin fonctionne bien.

Deuxième question liée au fichier attaché au post : Comment se fait-il que mes lightmap se plaquent de cette façon sur mes maillages.
Il n'y a aucune image... Utilise un des services gratuits pour heberger les images:
http://www.ozone3d.net/smf/index.php/topic,839.0.html

yodino

  • Associate
  • Posts: 3
Re: Wak Exporter sous Max 2008 32bits et lightmaps
« Reply #2 on: March 23, 2009, 09:59:10 AM »
Voilà, je viens de mettre l'image en question sur un site de partage d'images. Depuis ce post, j'ai fait de nombreux tests qui ne me permettent pas d'avoir deux mappings différents sur le même mesh. Je pense que vous aurez tous compris que je veux que le tiling du carrelage reste comme il est sur l'image (mapping 1 de la diffuse) mais que le tiling de la lightmap ne suive pas le mapping 1 mais le mapping 2 de la diffuse. Dans cette image sous 3DS, j'ai :
Sur un plan de 400 cm x 400 cm
  • Mapping 1 planaire avec U=100 cm et V=100 cm (pour que la texture carrelage se répète)
    Mapping 2 planaire avec U=400 cm et V=400cm (pour que la texture de lightmap ne se répète pas)
Tout se passe comme si le deuxième mapping n'était pas pris en compte. J'ai regardé le code XML et il semblerait qu'il ne soit même pas créé, alors que les deux textures sont bien exportées (index=0 et index=1, que j'avais mis chacune sur les canaux de texture 1 et 2 sous 3DS).
Voilà, merci pour votre aide.



yodino
« Last Edit: March 23, 2009, 10:01:45 AM by yodino »

Steph3D

  • Capo Regime
  • ***
  • Posts: 399
Re: Wak Exporter sous Max 2008 32bits et lightmaps
« Reply #3 on: March 23, 2009, 06:11:00 PM »
Les moteurs temps réel fonctionnent en général exclusivement avec des coordonnées d'UW fixé sur l'objet, les UW (dynamique) sont propre à chaque logiciel dans leur gestions et en général ne s'exporte pas.

Visiblement ta un mis un tiling dynamique (non figé) qui n'est pas exporté, faut donc avant que tu le fige avec une options de type "générer des coordonées UVW".
Mais n'ayant pas Max d'installer, je peu pas t'en dire plus, suis sur C4D.

Après je sais pas non plus si le plug exporte plusieurs couche ? mais sinon c'est un gros problème pour beaucoup de monde en temps réel les multi UW. Si ça vas pas, faut programmer soit même un outils pour fusionner 2 objets en 1 en copian l'UW du premier sur la 2e couche de l'autre, mais devoir exporter deux fois l'objet est contreproductif pour un graphiste :NON:

yodino

  • Associate
  • Posts: 3
Re: Wak Exporter sous Max 2008 32bits et lightmaps
« Reply #4 on: March 23, 2009, 10:48:44 PM »
Merci pour vos réponses. Malheureusement, je galère encore pour avoir deux mappings différents sur le même mesh. J'ai fait des tests que je vous soumets. J'ai d'abord appliqué la texture diffuse avec le mapping  1 (100 cm  x 100 cm) et j'ai exporté le plan :

Code: [Select]
<model name="scene_mapping_100" num_sub_meshes="1" num_materials="2" >
<material name="carreaux" index="1" opacity="1.000000" >
<ambient r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<diffuse r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<specular r="0.000000" g="0.000000" b="0.000000" a="1.000000" exp="0.000000" />
<texture filename="tile_10.jpg" texture_unit="0" />
</material>
<mesh name="plan01" num_vertices="6" num_faces="2" index="0" parent_index="-1" >
<f i="0" a="0" b="1" c="2" matidx="1" />
<f i="1" a="3" b="4" c="5" matidx="1" />
<v i="0" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="-1.500000" u1="-1.500000" v1="-1.500000" u2="-1.500000" v2="-1.500000" u3="-1.500000" v3="-1.500000" />
<v i="1" px="200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="-1.500000" u1="2.500000" v1="-1.500000" u2="2.500000" v2="-1.500000" u3="2.500000" v3="-1.500000" />
<v i="2" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="2.500000" u1="2.500000" v1="2.500000" u2="2.500000" v2="2.500000" u3="2.500000" v3="2.500000" />
<v i="3" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="2.500000" u1="2.500000" v1="2.500000" u2="2.500000" v2="2.500000" u3="2.500000" v3="2.500000" />
<v i="4" px="-200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="2.500000" u1="-1.500000" v1="2.500000" u2="-1.500000" v2="2.500000" u3="-1.500000" v3="2.500000" />
<v i="5" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="-1.500000" u1="-1.500000" v1="-1.500000" u2="-1.500000" v2="-1.500000" u3="-1.500000" v3="-1.500000" />
</mesh>
</model>

Ensuite, j'ai effacé le mapping et j'ai appliqué le mapping 2 (400 cm x 400 cm) sur le plan et je l'ai exporté :

Code: [Select]
<model name="scene_mapping_400" num_sub_meshes="1" num_materials="2" >
<material name="plan_lightmap" index="1" opacity="1.000000" >
<ambient r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<diffuse r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<specular r="0.000000" g="0.000000" b="0.000000" a="1.000000" exp="0.000000" />
<texture filename="plan_lightmap.jpg" texture_unit="0" />
</material>
<mesh name="plan01" num_vertices="6" num_faces="2" index="0" parent_index="-1" >
<f i="0" a="0" b="1" c="2" matidx="1" />
<f i="1" a="3" b="4" c="5" matidx="1" />
<v i="0" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-0.000000" v0="0.000000" u1="-0.000000" v1="0.000000" u2="-0.000000" v2="0.000000" u3="-0.000000" v3="0.000000" />
<v i="1" px="200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="1.000000" v0="-0.000000" u1="1.000000" v1="-0.000000" u2="1.000000" v2="-0.000000" u3="1.000000" v3="-0.000000" />
<v i="2" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="1.000000" v0="1.000000" u1="1.000000" v1="1.000000" u2="1.000000" v2="1.000000" u3="1.000000" v3="1.000000" />
<v i="3" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="1.000000" v0="1.000000" u1="1.000000" v1="1.000000" u2="1.000000" v2="1.000000" u3="1.000000" v3="1.000000" />
<v i="4" px="-200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="0.000000" v0="1.000000" u1="0.000000" v1="1.000000" u2="0.000000" v2="1.000000" u3="0.000000" v3="1.000000" />
<v i="5" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-0.000000" v0="0.000000" u1="-0.000000" v1="0.000000" u2="-0.000000" v2="0.000000" u3="-0.000000" v3="0.000000" />
</mesh>
</model>

Sur la première image on voit la diffuse mappée (100 cm x 100 cm) et sur la deuxième image, on voit la lightmap mappée (400 cm x 400 cm) :





Jusque là tout va bien et je me dis qu'en combinant les deux et en exportant le tout on obtient la même chose mais en multitexturing ; sachant que je mets bien la diffuse sur le canal de texture 1 et la lightmap sur le canal de texture 2 dans 3DS.

Voilà ce que cela me donne à l'export :

Code: [Select]
<model name="scene_mapping" num_sub_meshes="1" num_materials="2" >
<material name="sol" index="1" opacity="1.000000" >
<ambient r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<diffuse r="0.588235" g="0.588235" b="0.588235" a="1.000000" />
<specular r="0.000000" g="0.000000" b="0.000000" a="1.000000" exp="0.000000" />
<texture filename="tile_10.jpg" texture_unit="0" />
<texture filename="plan_lightmap.jpg" texture_unit="1" />
</material>
<mesh name="plan01" num_vertices="6" num_faces="2" index="0" parent_index="-1" >
<f i="0" a="0" b="1" c="2" matidx="1" />
<f i="1" a="3" b="4" c="5" matidx="1" />
<v i="0" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="-1.500000" u1="-1.500000" v1="-1.500000" u2="-1.500000" v2="-1.500000" u3="-1.500000" v3="-1.500000" />
<v i="1" px="200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="-1.500000" u1="2.500000" v1="-1.500000" u2="2.500000" v2="-1.500000" u3="2.500000" v3="-1.500000" />
<v i="2" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="2.500000" u1="2.500000" v1="2.500000" u2="2.500000" v2="2.500000" u3="2.500000" v3="2.500000" />
<v i="3" px="200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="2.500000" v0="2.500000" u1="2.500000" v1="2.500000" u2="2.500000" v2="2.500000" u3="2.500000" v3="2.500000" />
<v i="4" px="-200.000000" py="0.000000" pz="-200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="2.500000" u1="-1.500000" v1="2.500000" u2="-1.500000" v2="2.500000" u3="-1.500000" v3="2.500000" />
<v i="5" px="-200.000000" py="0.000000" pz="200.000000" nx="0.000000" ny="1.000000" nz="-0.000000" u0="-1.500000" v0="-1.500000" u1="-1.500000" v1="-1.500000" u2="-1.500000" v2="-1.500000" u3="-1.500000" v3="-1.500000" />
</mesh>
</model>

On voit bien qu'un seul des deux mappings présent dans 3DS n'est exporté, ce qui se confirme évidemment dans le viewport de Demoniak3D :



Si vous pouviez m'éclairer de vos lanternes, ce serait sympa parce que je ne sais plus par quel bout prendre le problème. A savoir que j'ai fait l'export avec les deux mappings vers un autre moteur 3D (SCOL) et cela fonctionne très bien.
Merci

yodino

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2385
    • oZone3D.Net
Re: Wak Exporter sous Max 2008 32bits et lightmaps
« Reply #5 on: March 24, 2009, 10:17:09 AM »
Si je ne me trompes pas, il y a une demo de multi-texturing qui est livré avec le plugin wak et qui justement traite de ce problème: une texture de couleur avec son propre jeu d'UV et une texture lightmap avec son propre jeu d'UV, le tout sur unb mesh plane. Le fichier MAX est aussi fourni, alors regarde je pense que c'est la solution.