I've been playing with the Maya exporter a bit today and
have run across a couple of issues that I have questions
First, I started with a new Maya scene and made a red
sphere. I saved this scene and then started a new scene
and made a blue box. Then I made yet another Maya
scene and created references to my sphere and box scenes.
Finally I exported this to a collada file just to see what would
Examining the collada file I found that the box and sphere
had been inlined right into the file. I was hoping that by
referencing external files in my scene I would end up with
a collada file that itself included references to the original
objects. Of course this is kind of an unfair expectation
because how could the exporter know what collada files to
reference given that the references in my Maya scene were
to Maya binary files not to other collada files. So now I did
this another experiment...
Using the sphere and box scenes from my first experiment
I exported each scene to a separate collada file. Now I made
a new Maya scene and referenced the exported collada files
not the original Maya scene files. Upon exporting this I still
found the objects inlined in the output file. This was somewhat
disappointing but I still figured it might be my usage of references
in Maya. Time for one more experiment...
I made a new scene and created a box then I made four
instances of that box in the scene. I double checked that
they were real instances and not just copies by tweaking
the vertices of one of the instances and seeing the change
reflected in all the others. Okay, so now I export this and
examine the output. Still, all my instances are expanded
so the collada file has five copies of all the vertices, normals,
texture coordinates. Everything about each instance is
duplicated in the file. Now I was really disappointed. I
figured references would be used in at least this case.
So now to my question: Am I doing something wrong in Maya
that is causing instances and references to be expanded inline
in the output collada files? Or is this just a limitation of the
current exporter implementation?
Thanks for any info you can provide,
Re: Maya exporter
It's just a limitation of the current Maya exporter implementation. It's certainly part of the COLLADA design to support references to external resources using URL notation. It makes sense that exporters will provide options on how to handle referencing and other modularity use cases; like writing each <library> to a separate file.
Originally Posted by tandrews
In a sense these are publishing features of exporters and it we can create a feature list that all the partners would agree to implement uniformly.
Cool. Well, actually it's too bad that it's not supported right now but I understand that it will take more work and I can't expect everything with version 1.0.
Thanks for the info.
When I tried to compile the Maya Translator for COLLADA for Maya 6 in VS
.NET 7.1 and I'm got error c2664 multiple times.
d:\Projects\Tools\tools_src\external\MayaTranslato r\DaeUtils.h(71) :
error C2664: 'xmlGetProp' : cannot convert parameter 2 from 'const
char ' to 'const xmlChar *'
Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast
I had to put in many explicit casts to get this all to compile. Once I did that it was fine.
I was able to export a basic cube scene from maya and get it to display in the opengl viewer, but it took a few tries. When you export multiple cameras the viewer uses the first one it encounters.
I tried upping the ante by exporting an 8.5MB hi-res character Maya file but the output was corrupted with non-ASCII characters. After removing the non-ASCII characters I was able to re-import it into Maya and the model looked ok, but the relative location of objects was incorrect. Finally I tried to view this in the opengl viewer but it crashed. There seems to be a problem with 0 sized arrays and some matrix issue. I realize these are early versions of the tools, but it will be very important to be able to demonstrate the functionality to people on real production sized geometry.
<accessor source="#upgumsShape-Normal-array" count="8754" stride="3">
<param name="X" type="float" flow="OUT"/>
<param name="Y" type="float" flow="OUT"/>
<param name="Z" type="float" flow="OUT"/>
<array name="upgumsShape-map1-array" type="float" count="0">
-- bad characters were here
<accessor source="#upgumsShape-map1-array" count="0" stride="2">
<param name="S" type="float" flow="OUT"/>
<param name="T" type="float" flow="OUT"/>
The build erros on .net 2003 are something I'm hoping to fix shortly - it's not a compiler I use in house here and for whatever reason, my compiler/settings decide to just hide those from me.
Just FYI - there's a new version of the Maya translator linked off the Maya announcements page - it should address the build problems on .net 2003.