¿Qué le pasó a COLLADA?

13

Hace unos años, parecía que COLLADA iba a ser una gran cosa, tal vez por fin un formato bastante estandarizado para obtener activos 3D de un paquete DCC en la tubería de herramientas de un juego. Y parecía una buena opción para un desarrollador independiente que no quería encerrarse en un solo paquete 3D escribiendo complementos de exportación personalizados.

Pero no he escuchado mucho al respecto recientemente. Y Feeling Software, que había admitido el formato con sus exportadores Max / Maya y FCollada lib, parece haber retirado cualquier versión gratuita de esas herramientas.

¿COLLADA está teniendo mucho uso en estos días? ¿Hay alguna biblioteca / herramienta gratuita / económica para ayudar a lidiar con el formato, o las personas solo están leyendo el XML sin procesar?

¿O hay una mejor opción en estos días, digamos para un desarrollador independiente que quiere obtener modelos / animación de Max, Maya o Blender en su motor? - FBX? ¿Algo más?

bluescrn
fuente

Respuestas:

5

En cuanto a las herramientas, mi experiencia es que la solución popular para acceder a los archivos .dae es collada-dom . Solo analiza el xml y le da acceso a la estructura de árbol. Originalmente desarrollado por Sony, ahora es un proyecto de código abierto (y la implementación de referencia).

Recientemente, opencollada parece llamar la atención, pero nunca la he usado. Viene con complementos para 3DS, Maya, Blender y un SDK.

COLLADA Refinery es una herramienta para procesar .daearchivos (p. Ej., Superficies trianguladas).

En cuanto a su adopción, la mayoría de las herramientas de creación convencionales (3DS, Maya, Houdini, Blender, Sketchup) lo admiten de forma predeterminada. Sin embargo, es posible tener malos resultados al importar un modelo exportado entre diferentes softwares. También debe tener cuidado con las diversas versiones simultáneas que existen en la naturaleza (1.3, 1.4, 1.4.1).

FWIW, la cuenta oficial de Twitter para COLLADA, a menudo anuncia anuncios de herramientas y aplicaciones que obtuvieron soporte para COLLADA. Esto puede dar una idea del apoyo en la industria.

En mi experiencia, es una forma suficientemente buena de intercambiar datos entre sistemas. Desde el punto de vista de gamedev, no creo que sea una buena solución lista para usar. Depende de lo que haga, pero en este punto, es probable que sea necesario un importador que procese el archivo (o el DOM) para su motor. También he sido testigo de importadores realmente lentos, por lo que para un motor de juego, iría con un convertidor COLLADA, en lugar de un importador.

Frederic De Groef
fuente
44
La gente parece perderse la parte donde no se supone que sea un formato con el que cargas todos tus modelos de juego en tu juego. Es un formato que puede almacenar y compartir fácilmente entre las herramientas de creación de contenido. Siempre se suponía que tu juego tenía su propio formato optimizado al que convertías, desde collada.
jsimmons
... y como formato para compartir datos entre herramientas, es una idea terrible, excepto para los conjuntos de datos más triviales. A menos que todos los paquetes 3D representen todos los archivos COLLADA de la misma manera, no obtendrá los beneficios de paquetes cruzados que se promocionaron.
dash-tom-bang
10

COLLADA era demasiado complejo en mi opinión. Sufrido por los diseñadores que intentan hacer que maneje todas las combinaciones imaginables de activos 3D; por ejemplo, todos los posibles formatos y configuraciones de vértices / índices.

Suena genial, pero en la práctica esto supone una gran carga para cualquier pieza de software que necesita leer el formato.

No ayudó que cada herramienta supuestamente compatible tuviera sus propias ideas sobre cosas como el orden de bobinado, la orientación del eje, etc. Tratar de usarlo como un formato de intercambio entre DCC te sumergió en un mundo de geometría invertida en miniatura, rayos UV rotos, tú nombralo.

Lo que necesitamos es un formato de diseño simple que cubra el 90% de las necesidades de una manera única y canónica.

Jim Blackler
fuente
En este momento, las opciones para los activos del juego son .obj (si no te importa no tener animación ni compresión), .x (si estás usando DirectX) o algún formato propietario. PD: Me gustaría agregar que un amigo mío está trabajando en algo llamado "OpenMDL" que se ve muy prometedor.
knight666
3
De hecho, además de que no hay bibliotecas estándar y las que están disponibles con errores, no ayudan. COLLADA es una OMI demasiado hinchada y está tratando de ser todo para todas las personas, eso no es
descartar
2

Creo que COLLADA sería / podría ser mucho más útil si realmente tuviera una implementación estándar y abierta para leer y escribir el formato, además de la definición XML bastante aterradora.

Su poder también es su fracaso: la capacidad de describir casi cualquier cosa, y en una multitud de formas diferentes, suena genial desde el punto de vista de exportación, pero es una PITA para importar y tener sentido.

Sin embargo, si persevera, obtiene un formato que representa casi todo lo que probablemente necesite, es compatible con bastantes herramientas y puede ampliarse.

Es demasiado tentador usar un formato más simple, y luego, a la mitad de su desarrollo, se dará cuenta de que necesita algunos datos adicionales, y no hay forma de obtenerlos.

Además, si esto se usa en una tubería de producción interna, en lugar de una versión general, puede reducir la definición y solo admitir lo que realmente sale de los paquetes que está utilizando, en lugar de tratar de ser demasiado general .

Entonces, sí, es defectuoso y complejo, pero funciona, y no hay muchas opciones disponibles.

JasonD
fuente
1
Si escribe un exportador y luego no puede descubrir cómo exportar algunos datos nuevos que necesita, entonces no debería estar escribiendo herramientas. Sólo digo'.
dash-tom-bang
2

Sé que este tema está marcado como 'resuelto', pero en mi opinión, deberías buscar en FBX. Autodesk está utilizando ese formato, y es el formato de intercambio de todos los principales programas 3D.

Así que no te molestes con Collada.

Es hinchado, poco intuitivo, y no está respaldado por los principales jugadores.

Que es Autodesk: están comprando casi todas las aplicaciones 3D que existen.

Autodesk FBX SDK: http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=7478532

jacmoe
fuente
2
Sí, eso no lo hace bien! Bloquear a todos en un formato de archivo cerrado patentado solo ayuda a Autodesk
zebrabox
No está respaldado por alguien que quiera encerrarlo en sus propias herramientas. ¡Sorpresa! Sin embargo, un jugador importante que usa collada es Epic Games, en particular UE3.
jsimmons
En serio, FBX tiene exactamente el mismo problema que muchos otros formatos "modernos": es propietario. Eso lo convierte en un completo no iniciador para usar como un "formato estándar" o realmente para cualquiera que no quiera quedar encerrado en un solo proveedor.
snogglethorpe