SceneKit: Collada export problem

Hello everyone.

I got a problem with exporting to Collada, maybe someone has same problems.

Steps:

  1. create a simple cube model, attach skeleton and bones, make simple rotation animation
  2. export in Collada (file1.dae)
  3. preview .dae file in Finder and see rotation as it expected. Ok that’s good
  4. save .jas file and close it
  5. reopen recently saved .jas and export in Collada (file2.dae)
  6. compare two files (file1.dae and file2.dae)
  7. the animation id is different the source id is different

I’m using SceneKit and because of the problem described above I have to resave the model and all animations (takes) each time I made any changes in any animation (take).

I’m sorry, I’m unfamliar with SceneKit. If it is the Apple software, Recep may reply, but if you’ve not done so I recommend also trying to get feedback from whatever community resources this SceneKit software has.

EDITED: For what it’s worth this forum is for software and standards developers primarily. But I suppose you never know who you will meet. But it’s not a good starting place. It’s more like a last resort :wink:

Strikeout: The webmaster informs me “last resort” is a negative comment. I mean that this is the most basic, and so least specific forum on COLLADA software. But if someone can help I’m sure they will. But I don’t know how many frequent or subscribe to this forum. The number may be very small. I don’t want to say anything negative more :slight_smile:

  1. the animation id is different the source id is different

I guess the question/issue is related to DCC tool[s] not about COLLADA (or SceneKit) itself (directly)

FWIW, COLLADA exporters do not have to keep previous IDs or SIDs. All element IDs, SIDs, transforms, mesh data, node hierarchy, animations… may change at another export stage.

Because;

  • Exporter may apply some optimizations:

After optimizations, some nodes or other elements may be removed or moved, in this case exporter may not able to keep previous IDs or SIDs…

  • Your exporter doesn’t remember previous COLLADA structure (it doesn’t have to):

Some (or most?) render engines don’t support all COLLADA elements so they convert it to their own runtime format/structure, so they may not remember animation IDs… because they may not use those IDs in their engine… In this case while exporting scene to COLLADA, they have to re-generate NEW IDs if they did not keep them…

I’m wondering if Blender’s system could support a COLLADA graph in addition to its own, just like how it had Blender Render and Cycles settings living side-by-side. I think something like this is needed. Like if COLLADA could be a separate mode from Cycles, so that it could be managed expressly. COLLADA is too futuristic for its own good.

With Blender 2.8 a lot seems to be changing, but I don’t know enough about it. If something like this could be added to Blender it might be worth contributing to and using.