2012-08-31 20 views
5

Quiero incluir mis archivos de imagen de textura en mi archivo collada. Ahora tengo muchos archivos: el .dae en sí y los archivos de textura .png.Incluyendo archivos de textura en el archivo de collada

Sin embargo, quiero un solo archivo: el .dae, pero con las texturas incluidas en él.

¿Podría de alguna manera almacenar las imágenes .png en el archivo .dae mismo? ¿Es posible? ¡Gracias de antemano!

Respuesta

-2

No puede incrustar una imagen dentro de un archivo .dae. La forma de hacerlo es juntarlos en un archivo zip. La ruta a las texturas dentro del archivo COLLADA debe ser relativa a la ubicación del archivo .dae dentro del archivo.

El archivo zip a veces se renombra con una extensión .zae. El COLLADA 1.5 spec define estos formalmente en la página 20, que se repite aquí de ejecución:

Archivo Embalaje

En la importación y exportación, las herramientas DCC debe ser compatible con el formato .zae, que es un archivo zip de uno o varios. dae archivos (documentos COLLADA) y todo el contenido al que se hace referencia (texturas). El archivo debe incluir un archivo denominado manifest.xml, un archivo codificado en XML que contiene un elemento <dae_root>. Este elemento es una codificación UTF8 del URI relativo que apunta a un archivo .dae. Si el URI contiene un fragmento, el elemento indicado es el punto de partida para la carga de la aplicación del archivo .zae. De lo contrario, el elemento <scene> será el punto de partida para la carga de la aplicación del archivo .zae. Si no se cumple ninguna de estas condiciones, el comportamiento de no está definido.

Los URI en los archivos .zae pueden hacer referencia a cualquier otro archivo en el archivo usando rutas relativas desde la raíz del archivo, de acuerdo con el estándar URI.

El archivo en sí puede incluir otros archivos (zip, rar, kmz, zae). El URI para hacer referencia a un documento dentro de un archivo anidado, en sí dentro del archivo .zae, utilizará el nombre del archivo anidado en la ruta.

Por ejemplo:

./internal_archive.zip/directory/document.dae#element 

No es posible hacer referencia a fuera de contenido de un archivo usando un relativa URI, pero es válido para referenciar el contenido con un absoluto URI, tales como:

file:///other_directory/other_document.dae#element 
+0

¡Gracias por la respuesta detallada! ¡Esto fue realmente útil! – Fract

16

A pesar de lo que dice la respuesta anterior, es perfectamente posible incrustar imágenes dentro del archivo COLLADA. Debajo del elemento <init_from>, encontrará que puede especificar un nombre de archivo con un elemento <ref> o, alternativamente, puede especificar <hex format="PNG">, en virtud del cual puede especificar los datos de imagen como una secuencia de octetos binarios codificados en hexadecimal. Esto es algo menos eficiente en almacenamiento que incluir el archivo de imagen dentro de un archivo .zae (que en realidad es un archivo .zip con una extensión diferente y un archivo de metadatos especial), sin embargo, debido a la codificación hexadecimal.

Sé que esta pregunta tiene varios meses pero tuve que corregir la respuesta anterior.

+0

Gracias por tu comentario. Esto fue muy útil. – Fract

+2

Tenga en cuenta que el elemento es para Collada 1.5. Si está utilizando Collada 1.4, en su lugar es un elemento . Las especificaciones (y esquemas) están disponibles en https://www.khronos.org/collada/ –

+0

Gracias, esto ayudó mucho. Para cualquier otra persona que esté buscando, está en la página 315 del documento aquí: https://www.khronos.org/files/collada_spec_1_5.pdf – Seiche

Cuestiones relacionadas