collada file referencing

Hi,

I dont know whether I am asking right question in the rigt forum :),
But I want ask whether it is possible to reference other collada files or some other type of from a collada file. If not shall I use the <extra> tags to define one?

Thanks
Melis

Yes, there are many places where COLLADA allows for referencing external documents. A few examples are the url attribute on <instance_geometry>, the target attribute on <instance_material>, and the <image>/<init_from> element.

So you could have COLLADA data like

<instance_geometry url="…/someOtherFolder/masterGeometryDocument.dae#myGeometry>

or

<image><init_from>file:///C:/imageFolder/image.png</init_from></image>

and that’s perfectly valid. For other examples, you can open up the schema .xsd in a text editor and search for “xs:anyURI”.

thanks a lot sthomas;

Do you have any idea for referencing to another collada file that has the 3D model in it for example? I mean can I have a structure that has the models outside of the original collada file, in another collada model documents? And use the original file for library_lights or scene spesific applications? But then I will have different library_effects, library_materials elements for each of the model file, right?
So complicated about the application…
If I am not clear, let me know :slight_smile:

Thanks again for the answer

Melis :slight_smile:

Yes, you can do that. You would probably use <instance_node> to instantiate a <node> element from another document. So maybe you have a city scene laid out on disk like this:

buildings/building1.dae
buildings/building2.dae
cities/city1.dae

city1.dae has a <visual_scene> element:

<visual_scene>
  <node>
    <instance_node url="../buildings/building1.dae#rootNode"/>
    <instance_node url="../buildings/building2.dae#rootNode"/>
  </node>
</visual_scene>

One word of caution: AFAIK most of the DCC tools (Max, Maya, XSI) don’t support sophisticated ways of organizing the files on disk. Most of them just save everything to one file. But the actual COLLADA spec is very flexible in terms of where data is stored.

thanks a lot :slight_smile:

Hi,

I want to do the same thing than caspermel, I have a file “test_04” which is the basic Blender cube exported in Collada and anbother file (in the same folder) in which 1 node references the cube file.
I tried the solution above but it won’t work for me.

So I tried this :


<visual_scene id="Scene" name="Toto">
	<node id="Cube1" name="Cube1">
		<translate sid="translate">0.00000 0.00000 0.00000</translate>
		<rotate sid="rotateZ">0 0 1 0.00000</rotate>
		<rotate sid="rotateY">0 1 0 0.00000</rotate>
		<rotate sid="rotateX">1 0 0 0.00000</rotate>
		<scale sid="scale">1.00000 1.00000 1.00000</scale>
		<instance_geometry url="test_04.dae#Cube-Geometry"/>
	</node>
</visual_scene>

I have the node in Blender and it the outliner says i have a mesh but there is no geometry on the screen.
Is there one important thing i’m missing ?

Thanks
Benjamin

It’s likely that Blender’s Collada plugin just doesn’t support external file references. The plugin is maintained by illusoft.

Hi,

Thanks for your answer, I doubted about my files but I tried them with 3DsMax and it worked !
I found a patch for the Blender plugin but it’s not finished yet.

Thanks again
Benjamin