Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Exportador De Max

Iniciado por Haddd, 04 de Octubre de 2004, 10:03:01 AM

« anterior - próximo »

Haddd

 Fijaos en esta exportación del típico cubo:


Haddd:1.0
MATERIALES:1
ID:1
Clase:Standardmaterial
Nombre:01 - Default
NºSub:0
Mapas:1
 DIFFUSE
  Nombre:Map #1
  Clase:Bitmaptexture
  Subno:2
  Amount:100.0
  Bitmap:D:\Haddd\CSharp\Motor\texturas\fondo.jpg
OBJETOS:1
Nombre:Box01
Vertices:8
Caras:12
Material:1
Nombre:01 - Default
0:-22.8426 -26.3959 1.1538e-006
1:47.2081 -26.3959 1.1538e-006
2:-22.8426 34.5178 -1.50882e-006
3:47.2081 34.5178 -1.50882e-006
4:-22.8426 -26.3959 -60.9137
5:47.2081 -26.3959 -60.9137
6:-22.8426 34.5178 -60.9137
7:47.2081 34.5178 -60.9137
CARAS
3 (0.0 0.0 0.0) 2 (1.0 0.0 0.0) 0 (1.0 1.0 0.0) 2
0 (1.0 1.0 0.0) 1 (0.0 1.0 0.0) 3 (0.0 0.0 0.0) 2
7 (1.0 0.0 0.0) 5 (1.0 1.0 0.0) 4 (0.0 1.0 0.0) 1
4 (0.0 1.0 0.0) 6 (0.0 0.0 0.0) 7 (1.0 0.0 0.0) 1
5 (1.0 0.0 0.0) 1 (1.0 1.0 0.0) 0 (0.0 1.0 0.0) 5
0 (0.0 1.0 0.0) 4 (0.0 0.0 0.0) 5 (1.0 0.0 0.0) 5
7 (1.0 0.0 0.0) 3 (1.0 1.0 0.0) 1 (0.0 1.0 0.0) 4
1 (0.0 1.0 0.0) 5 (0.0 0.0 0.0) 7 (1.0 0.0 0.0) 4
6 (1.0 0.0 0.0) 2 (1.0 1.0 0.0) 3 (0.0 1.0 0.0) 6
3 (0.0 1.0 0.0) 7 (0.0 0.0 0.0) 6 (1.0 0.0 0.0) 6
4 (1.0 0.0 0.0) 0 (1.0 1.0 0.0) 2 (0.0 1.0 0.0) 3
2 (0.0 1.0 0.0) 6 (0.0 0.0 0.0) 4 (1.0 0.0 0.0) 3


En la lista de caras el submaterialID da unos valores falsos. ¿Porqué y cómo se puede corregir?

BeRSeRKeR

 Creo recordar que yo también tuve este problema. Incomprensiblemente MAX te mete ID de materiales basura. Bueno en realidad no es que sea basura si no que al tener el cubo aplicado un mapeado cúbico, te genera un ID para cada cara.

Le echaré un vistazo aunque creo que yo no encontré una forma de arreglar eso pero bueno, a lo mejor esta vez hay mejor suerte. :D

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

BeRSeRKeR

 Lo cierto es que ahora mismo se me ocurren dos soluciones.

Una es que conviertas el cubo en Editable Poly (o mesh), lo pongas a nivel de subobjeto "Element", "Polygon" o "Face" y selecciones todo y entonces vas al rollout "Surface Properties" y en "Set ID" pones el ID que quieras y pulsas intro.

La otra solución sería, en el propio exportador, si el objeto tiene un material standard, poner todos los MatIDs de todas las faces del objeto al ID del material que tiene asignado el objeto. En el caso de que tenga un multimaterial no debería haber problema ya que se supone que tú le has asignado  a cada face un ID de ese multimaterial.

De todas formas, si el material que tiene asignado el objeto es de tipo standard, a la hora de cargar la escena en el motor, los IDs de cada face te tendrían que dar igual ya que sólo tendrías en cuenta el material que tiene asignado dicho objeto.

Espero haberme explicado. :lol:

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Helius

 Eso también me ha pasado a mi.

Yo uso la segunda opción que comenta berserker, sólo hago caso del submaterial ID si el objeto posee un material de tipo multimaterial, si no hago caso omiso de lo que ponga en submaterialID.

Saludos
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.

Lord Trancos 2

 En la exportacion que hace el MAX de ficheros ASE, pasa lo mismo.
Segun los comentarios en el codigo del exportador de ASE, lo que tienes que hacer es:


 SubMatIDdeVerdadDeLaBuena = SubMatIDqueDiceElMax  MOD  Material.numSubmats


Vamos, que tienes que pillar el resto de dividir el numero que te da el max entre el numero de submateriales del material
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

Haddd

 y en el caso en el que un material tiene varios submateriales y esos a la vez varios submateriales... :huh: ?

Helius

 Asesina al grafista  :lol:  
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.

Haddd

 Con lo que cuesta conseguir uno.... :blink:  

donald

 " Asesina al grafista "


XDDD


Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

Jove Chiere

 
Cita de: "Helius"Asesina al grafista
Cita de: "donald"" Asesina al grafista "

XDDD
No le veo la gracia  <_<
Los grafosyakuza recomiendan Wings3D - Entra en GIMOVJ  y aprende a modelar.

donald

 euh...será que yo me río mucho ;)

No, me ha hecho gracia, pq es que submateriales, de submateriales, de submateriales... pobre programador...
Y a mí que nunca me ha convencido todo lo que no sea un material a pelo , y sin más, con si acaso sus mapas de bumb etc...

En fin, me había hecho gracia. Pido permiso para reirme...XDDD Es igual, me reiré de todos modos  (twist)  
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

Lord Trancos 2

Cita de: "Haddd"y en el caso en el que un material tiene varios submateriales y esos a la vez varios submateriales... :huh: ?
Pos npi. :P

Si lo de asesinar al grafista no te vale pq cuestan de conseguir, siempre puedes romperle una pierna que no son vitales para su trabajo.  (uoh)

Si eso pegale un vistazo al codigo fuente del pluigin del max que se encarga de exportar los archivos ASE. Ahi es donde encontre en un comentario como calcular el indice de submaterial. El comentario estaba cerca del codigo que se encarga de escribir la linea que contiene el MESH_MTLID, asi que busca eso en el codigo fuente.
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.