Pregunta ¿Qué formato de modelo 3D debería usar?


Estoy escribiendo un motor de juego y me pregunto qué formato de modelo 3D debo usar / cargar / exportar? Obj parece universal y fácil, pero también parece no ser confiable ya que la mayoría de los modelos que existen contienen errores y no se almacena en ningún lugar tanto como en otros formatos.

Parece haber formatos específicos para juegos como MD2 / 3/5, pero no estoy seguro, utilizo wings3d si hago el modelo, y no sé qué otros detalles más allá de simplemente cargar lo que necesito y el soporte del formato Id tengo que implementar, tal como necesitaría implementar IK? y ¿puedo usar secuencias de comandos por animación en lugar de cinemática inversa y manipulación de huesos?


32
2018-02-21 13:44


origen


Respuestas:


Collada es un formato abierto basado en XML para modelos 3D propiedad del grupo Khronos (cuerpo de estándares OpenGL)

De las preguntas frecuentes de Collada.org:

El conjunto de características COLLADA 1.4.x incluye:

  • Geometría de malla
  • Secuencia de transformación (rotación, traslación, corte, escala, matriz)
  • Efectos
  • Shaders (Cg, GLSL, GLES)
  • Materiales
  • Texturas
  • Luces
  • Cámaras
  • Despellejar
  • Animación
  • Física (cuerpos rígidos, restricciones, muñecas de trapo, colisión, volúmenes)
  • Instanciación
  • Técnicas
  • Multirepresentaciones
  • Bienes
  • Datos del usuario

22
2018-02-21 17:09



Antes de preocuparme por los formatos 3D que desea admitir, creo que realmente debería centrarse en las características que planea implementar en su motor. Anótelos como requisitos y elija el formato que admita la mayoría de las características de la lista ... ya que querrá exhibir su motor (supongo que está planeando que su motor esté disponible al público). Incluso podría querer rodar su propio formato, si su motor tiene características específicas (que siempre es bueno tener para un motor de juego).

Después de eso, admite tantos formatos populares como puedas (.X, .3DS, .OBJ, .B3D) ... ¡mientras más accesible sea tu motor, más gente querrá trabajar con él!

Collada es un formato agradable y genérico, pero como menciona Nils, no es un formato ideal para el despliegue final.


5
2018-02-21 16:25



Yo uso mi propio formato binario. Intenté usar formatos existentes pero siempre encontré limitaciones. Algunos podrían ser trabajados, otros donde se destacan.

Collada puede valer la pena mirar. No creo que sea tan bueno como un formato para ser leído por un motor 3D. Sin embargo, está bien como formato general de intercambio de datos.

http://www.collada.org/mediawiki/index.php/Main_Page


2
2018-02-21 15:14



+1 para Collada. También puede desear un formato binario nativo personalizado para una carga realmente rápida (generalmente solo un volcado binario de datos de búfer de vértice / índice, más datos de material y esqueleto, y datos de colisión, si corresponde).

Una tendencia en la industria de los juegos es apoyar la carga de un formato como collada en la construcción del desarrollador del motor, pero también tiene una cadena de herramientas que exporta una versión optimizada para su lanzamiento. La versión para desarrolladores puede actualizar la malla dinámicamente, de modo que cuando los artistas guardan los cambios, el archivo se recarga automáticamente, lo que les permite una vista WYSIWYG (casi) instantánea de su modelo, pero aun así proporciona un formato de publicación totalmente optimizado.


2
2017-10-05 11:12



apoye bien a Collada y luego suministre buenos conversores a / desde los otros formatos (esta podría ser la parte difícil). Esto te dará la máxima flexibilidad. Echa un vistazo a Motor C4


1
2018-02-21 17:14



Collada es genial, pero vive más en el lado de la aplicación 3D de las cosas. es decir, se utiliza mejor para transferir datos 3D entre aplicaciones, sin cargar datos 3D desde un motor de juegos. ¿Has mirado a Lua? Es ampliamente utilizado en juegos porque es un lenguaje de scripts que es ridículamente rápido (perfecto para juegos) y muy flexible (se puede usar para representar cualquier dato que necesite para su motor).


0
2018-06-18 23:43