Great work. I’m glad someone is taking the initiative to make this happen.
I’m not sure how other developers work but I’m used to specifying lots of game related and conversion related information inside my 3D editor (maya, max, lightwave, softimage)
My impressions is the current standard of Collada doesn’t address these types of issues.
For example I don’t force my artists to collapse models into one model before exporting even though i might want them to be one model at runtime. Forcing the artist to collapse them means they are no longer editable. They could keep two versions of the files but that means the possibility of not remembering which file is newest. It also means a manual collapsing activity everytime they export.
Instead I have them mark where in the heirarchy a model starts and optionally where it ends, everything inbetween in that part of the hierarchy gets turned into one model by my tools
Another example is I don’t have them remove stuff they don’t need. Instead I have them mark what they do need and ignore the rest. They often need lights, constraint objects, etc, in their scene. Asking them to remove that stuff everytime is asking for trouble.
While it would be possible to write my own collada exporter to add this data it seems like the point should be to allow me to avoid having to write my own. Otherwise nothing is gained and I might as well use my own format since i’m going to have to write the backend anyway to use the data.
A standard that defined how to export all this extra data (comments, notes, blind data, sets, that is attached to 3D data in a typical scene in max, maya etc) would mean that I could actually use Collada as my middle format
Not just a way, but a defined standard that says which pieces of extra data in max/maya/xsi correspond to which extra pieces in the collada file. Comments, blind data, user attributes, etc all need to get exported from all packages in the same way or at least as close as possible.
I guess, at least for me, I need Collada to not only define a file format but to specify, at least to some extent, how things get exported from the various packages. Otherwise I’ll just end up having to write my own.
For example, exporting everything, even hidden and frozen items. My artists often freeze or hide stuff that they still want exported. My exporters export everything the aritst marks for export. To use collada I’d need the exporters to either do the same (not feasable since it would most likely be game specific) or else to export EVERYTHING (including hidden and frozen objects) and let me choose how to use the info.
Also,
I know animation is not covered yet but for me it’s not very useful without it. I know that’s harsh but it’s true. Why would I make my work flow support collada only to have to make some hack for animation and then re-write it when collada has animation added. I only say that to emphasise the importance of getting the animation spec finished.
But, with that in mind there is often data I need there as well. I need not just the animation on models, I need the animation on user parameters, materials, etc,. My artists for example make a list of animations and frames (walk is frame 1 to 20, run is frames 25 to 40) for example. They even go so far as to set, for a particular animation, which bones need data. So for example to blend a guy waving his arm anim with a guy running anim I need to know not to blend the leg positions (in fact for compression not even to save them).
Again, I don’t need that data saved out as that. What I need is for Collada to specifiy how Maya, Max, XSI etc export the extra data so that on reading the Collada file into my own tools I can dig that info out and figure out what I really want to do with all the data.
Note, that includes animation of user types. If I make float field in Maya called “translumosity” and set animation on it I need that field definition and data to make it down to the collada file.
Comments?