将纹理文件包含在collada文件中

时间:2012-08-31 22:51:07

标签: image image-processing three.js blender collada

我想将纹理图像文件包含到我的collada文件中。 现在我有很多文件:.dae本身和.png纹理文件。

但是我只想要一个文件:.dae,但包含了纹理。

我可以以某种方式将.png图像存储在.dae文件中吗? 可能吗? 提前谢谢!

2 个答案:

答案 0 :(得分:20)

尽管前面的回答说明了,但完全可以在COLLADA文件中嵌入图像。在<init_from>元素下,您会发现可以使用<ref>元素指定文件名,或者您可以指定<hex format="PNG">,您可以在其下指定图像数据作为序列十六进制编码的二进制八位字节。这比在.zae存档中包含图像文件(实际上是具有不同扩展名和特殊元数据文件的.zip文件)的存储效率要低一些,但是,由于十六进制编码。

我知道这个问题已有几个月了,但我必须纠正以前的答案。

答案 1 :(得分:-1)

您无法在.dae文件中嵌入图像。这样做的方法是将它们放在一个zip文件中。 COLLADA文件中纹理的路径应该相对于存档中.dae文件的位置。

zip文件有时会使用扩展名.zae重命名。 COLLADA 1.5 spec在第20页正式定义了这些,在此重复完成:

  

档案包装

     

在导入和导出时,DCC工具必须支持.zae格式,这是一个或多个.dae文件的zip存档   (COLLADA文档)和所有引用的内容(纹理)。该   archive必须包含一个名为manifest.xml的文件,这是一个XML编码的文件   包含<dae_root>元素。该元素是UTF8   编码指向.dae文件的相对URI。如果是URI   包含一个片段,然后指示的元素是起始点   用于.zae存档的应用程序加载。否则,   <scene>元素将成为应用程序加载的起点   .zae档案。如果这些条件都不满足那么   行为未定义。

     

.zae文件中的URI可以引用存档中的任何其他文件   使用来自存档根目录的相对路径,按照   URI标准。

     

存档本身可能包含其他档案(zip,rar,kmz,zae)。   用于引用嵌套存档内部文档的URI本身   在.zae存档中,将使用嵌套存档的名称   路径。

     

例如:

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

使用a无法引用存档之外的内容   相对URI,但使用绝对引用内容是有效的   URI,例如:

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