Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Formatos de modelos 3D, meshes y demás

Iniciado por tamat, 30 de Octubre de 2006, 09:42:56 PM

« anterior - próximo »

tamat

Estoy planteandome añadirle soporte para meshes a mi framework (aunque inicialmente iba dirigido al 2D). La cuestión es que entre tanto formato se hace dificil decantarse por uno.

Supongo que debería elegir el formato que sea más compatible con el programa que pretenda usar para modelar pero por el momento no tengo muy claro cual usar, me encanta Sketch Up para diseñar entornos pero es muy basico y no permite texturizar en serio. Me gustaba milkshape para cosas sencillas, los demás son demasiado pesados para un coder como yo.

En fin, mi pregunta es cual es el formato más compatible entre programas, más comodo de leer, y que tenga las features más elementales. Yo como coder que soy me interesa que guarde la UV y la Normal de cada vertice, que puedas tener diferentes materiales (muy básicos, textura, color, emisive, y poco más), que no tenga que estar navegando entre chunks de basura que no necesito para nada.

Gracias.
Por un stratos menos tenso

BeRSeRKeR

Yo creo que el formato obj es el más extendido, aunque habrán exporters que exporten más datos que otros. Por ejemplo MAX9 parece que tiene un exporter a obj muy completo.

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

Alexpi

yo personalmente prefiero usar un formato propio, lo que hago es hacer un exportador, de obj u otros a mi formato y asi no me complico :P.
Juego web www.goldpiece.net

Marci

A ver si alguien puede comentar algo sobre collada

Vicente

En Jad vamos a usar Collada, pero es un trabajo de chinos utilizarlo. Estamos parseando el Collada a un formato binario propio, y luego eso es lo que cargamos, pero vamos, que parsear y manejar el Collada no es fácil (tampoco es muy difícil, pero es larguísimo...).

Un saludo!

Vicente

Nato_msc

A todo esto, como puedo crear un formato propio? ya que los que hay por ahi no me convencen demasiado, o son muy grandes (.MAX por ejemplo) o no tienen todo lo que quiero y/o necesitare, quiero tener libertad y asi porder elejir que contendra ese formato para hacerlo lo mas ligero posible.

Saludos.

Alexpi

hazte una clase mesh con todos los datos que quieras y luego solo es volcar lo que tengas en la clase a un archivo y viceversa.
Juego web www.goldpiece.net

Astat

Por si te sirve de orientacion, ahi va el formato que estoy usando yo en mi motor:


Tipo                    Descripcion                  Comentario
----------------------  ---------------------------  --------------------------
<HEADER>
 4 bytes               Firma                        "MESH"
 1 byte                Version                      1
 1 byte                Encriptacion                 '!' sin encriptacion, 'R' Rijndael (AES)
</HEADER>

<INFO>
 1 dword               Vertices                     Total de vertices >0
 1 dword               Caras                        Total de caras >0
 1 dword               Bones                        
 1 byte                Canales UV                   >0
 1 dword               Materiales                   >0
 1 dword               Flag                        
</INFO>

<VERTICES>
 3 float               Posicion
 3 float               Normal                      
 1 dword               Color                        ARGB
 1 dword               BoneIdx

 <UVs>
   2 float             Coordenadas de textura
   ...
 </UVs>

 1 int               Numero de influencias

 <INFLUENCIAS>
   1 int             ID del bone
   1 float           Peso (1.0 == 100%)
   ...
 </INFLUENCIAS>

 1 float             Fisica (0.0 == rigido)       Para pelos o telas

 ...
</VERTICES>

<MATERIALES>
 1 byte                Longitud de nombre           <64
 X byte                Nombre del material
 1 dword               Flag                        
 1 dword               Numero de caras

 <CARAS>
   3 dword             Cara
   ...
 <CARAS>
 ...
</MATERIALES>

<BONES>
 1 byte                Longitud del nombre          <64
 X bytes               Nombre del nodo
 1 word                Indice al padre
 3 floats              Posicion del bone en estatico
 4 floats              Rotacion del bone en estatico
 ...
</BONES>






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.