java 3d file-format blender collada

java - ¿Muestra los archivos de COLLADA para el desarrollo de un importador?



3d file-format (5)

Me estoy preparando para escribir un importador COLLADA en Java. No hay importadores pre-escritos, e incluso si los hubiera, probablemente sería exigente, así que creo que esto es lo mejor. Voy con COLLADA 1.4 porque no necesito las características 1.5, y muchos programas aún no lo admiten. Encontré la spec para ella y planeo seguirla, pero es mucho más fácil de seguir con el ejemplo y hacer referencia a la especificación para obtener información adicional.

Entonces, con todo eso ... ¿Pueden algunos de ustedes que tienen experiencia en COLLADA señalarme algunos modelos simples que pueda usar para aprender y probar mi importador mientras lo escribo? Exportaré unos pocos solo con geometría, pero necesito algunos con texturas o materiales, con esqueleto y animación de fotogramas clave, etc. ¿Alguna sugerencia?

Alternativamente, sé que Blender puede exportar COLLADA 1.4 y puede importar la mayoría de los formatos. Si tiene una buena sugerencia para un sitio que tiene modelos 3D simples en otro formato que solo importaré y exportaré como COLLADA, ¡eso también estaría bien!

¡Gracias!


Blendswap.com es un sitio realmente genial con toneladas de modelos para Blender. Una vez que te registres para obtener una cuenta, puedes descargarlos gratis. Incluso puede utilizar la mayoría de los modelos en el sitio comercialmente. Antes de descargarlo, le permite saber si tiene que darle crédito al autor, aunque algunos de los modelos se pueden usar sin dar crédito, aunque se recomienda aún. Tenga en cuenta que hay un límite de 200 MB por mes para la descarga. Hay muchos modelos que tienen 1 MB, así que verifique el tamaño del archivo antes de descargarlo. Luego puedes usar el exportador de collada en Blender. Asegúrese de verificar la configuración en el exportador de Collada.





El problema aquí es el hecho de que, por lo que sé, no hay ninguna herramienta (al menos disponible para el público) que admita la especificación completa de Collada (especialmente 1.5). La parte que, en la mayoría de los casos, está bien probada y desarrollada es el elemento de la biblioteca de geometría, materiales, etc., que en 1.5 generalmente se toman de una implementación 1.4 (es por eso que las herramientas que generalmente afirman que son compatibles con 1.5 en realidad no lo hacen) (en la mayoría de los casos faltan o están en mal estado). Aun así, puede crear fácilmente decentes (ya que en la parte de geometría está bien, pero el resto, tal vez es, tal vez no) suficientes archivos de Collada que utilicen diversas funciones de exportación principalmente de software de modelado 3D Blender, Maya, 3ds Max, CATIA, etc.). OpenRAVE (usado para la planificación de rutas robóticas) en realidad tiene una de las mejores capacidades de exportación / importación, cuando se trata de COLLADA e incluso admite (parcialmente) 1.5 características como la cinemática.

Si decide usar Blender (por ejemplo, de código abierto y gratuito para que pueda ver cómo funciona el complemento de importación / exportación), puede crear algo simple o complejo y exportarlo como COLLADA 1.4 (¡no 1.5!). OpenRAVE, por ejemplo, utiliza un formato XML personalizado que se convierte internamente a Collada (para ocultar la complejidad de este estándar) y le permite incluso incrustar otros formatos (principalmente para la parte de geometría) como OBJ, que es mucho Es más fácil encontrar una herramienta de importación / exportación de datos para. El Grupo Khronos en realidad proporciona OpenCollada (OpenRAVE y muchos otros lo usan internamente, lo que por supuesto produce errores en todos ellos, cuando algo está mal implementado en OpenCollada: P). La biblioteca Assimp también ofrece bastante, pero el problema principal es la información errónea que proporciona sobre lo que realmente soporta del estándar Collada. De hecho, es muy, muy difícil encontrar una referencia sobre las funciones implementadas, cuando se trata de Collada, y lamentablemente, recientemente comencé a usar 1.5 (cinemática) solo para descubrir que Assimp solo admite 1.4 y está ligado a tal grado que te arroja errores en el momento en que encuentra un elemento típicamente 1.5 (¡incluso si está vacío!), lo cual es una implementación realmente mala de parte de los desarrolladores. En la lista de formatos admitidos, el sitio de Assimp indica solo Collada y no se da ninguna versión.

Sé que esta pregunta es antigua y está respondida, pero espero que esta información ayude. Yo mismo estoy escribiendo un analizador en C # para uso interno en el que estoy trabajando actualmente y es un verdadero dolor descubrir qué tan mal soportado es este estándar ISO. La complejidad de Collada es enorme, pero es por eso que se considera un formato de canalización y no es algo que se supone que debe utilizar en un producto final que se basa en un buen rendimiento (tanto en velocidad como en almacenamiento).