There is a discussion on the mailing list to replace blender’s currently broken collada import/export addon with the one developed by godot devs.
FYI, Juan, Cambell and Gaia are examining what can be done to get Godot’s beter collada exporter to be default for Blender. Only thing is that they’re missing test files where Blender’s collada exporter falls flat, and the better collada exporter works well:https://developer.blender.org/D1787
We need example files to convince blender devs to include the “better collada” addon by Godot’s developer.
Please share files where blender’s currently default collada import/export fails and the one made by godot devs succeeds.
Here are it is from the mailing list:
If you guys really had cared about open standards and getting along well
with game engines, you would have done the following:
- Make sure you export proper Collada. The specification is pretty clear.
- Push game engines to fix their importers.
Blender support for Collada has always been a disaster. There was never any
will to fix it.
-I originally insisted against using OpenCollada due to the huge binary
bloat, and the fact the spec is pretty simple. You guys wanted to go with
it.
-The exporter was huge and full of bugs. I insisted that a lot of features
missing in the spec needed to be implemented, was ignored.
-Meanwhile, all the missing Collada features were implemented in FBX, such
as blend shapes, proper keyframe baking. constraint baking, exporting all
actions, etc.
-I wrote for you guys a proper Collada exporter in a few lines of Code that
supported the full spec, you guys refused it to add it to mainline Blender.
-I insisted, the answer was “Yeah we can put it at some development repo
and if anyone cares about it we move it to mainline”. Of course, everyone
was using FBX , so who would care about Collada?
Now you cry that FBX is evil and blame Unreal, Unity and Autodesk.
Now you complain that there are not any open standards being pushed.
Ton,
Here’s some facts you are missing:
-My Collada exporter works with Unity, Cryengine and imports correctly in
Maya/Max too via OpenCollada plugin.
-My Collada importer opens perfectly any scenes exported from Maya and Max
(Using OpenCollada plugin), XSI and Lightwave. Of course it also opens
scenes from my Collada exporter.
You are free to test this yourself.
The reason this failed consistently in Blender is because you guys didn’t
care about having experienced developers spend time making it work.
Had Campbell Barton worked on it as he did on FBX, Collada would work
wonderfully. I just used his same approach to make my Collada exporter,
using OpenCollada library was a huge mistake.
Still, I understand your concern and it is true that Collada was
originally devised as an exchange format. But if you read the specification
you will realize that, with each version, it quickly migrated to a format
used to export assets for game engines. As an exchange format between 3D
DCCs it’s severely limited.
So my proposal is the following:
-Deprecate current Collada export support in Blender and replace it for
mine. Change the focus so it works well with game engines as a priority.
Having an alternative to FBX for this is a lot more important, both for
commercial game engines and (most vitally) for OSS game engines.
If the focus is for DCC exchange, we know it will never work properly for
any use case and it sucks as a format for that anyway.
-Deprecate current Collada import suppot in Blender and work together with
me to implement my library, which has extremely high compatibility.
-Find a more useful long-term solution for asset exchange between Blender
and other 3D DCCs. I don’t think even FBX is up to this task. If it was up
to me to decide, I think the best solution would be to implement a
dedicated .blend importer/exporter plugin for Maya, and make sure every
single use case works. From there, you can go to any other Autodesk
software using Maya Import/Export.Julian, I’m only proposing a way to solve the following problems:
- Not having an alternative to FBX
- Not having a fully working Collada exporter that supports the same as
the FBX. You can test mine any time, try exporting a complex scene from
Blender with skeletal animations, blend shapes, multiple actions, etc.- Not having a fully working Collada importer. You can test mine any time
and see how it imports Blender, OpenCollada, XSI, Lightwave, etc. with all
the above mentioned features.- Not having the huge bloat that represents using OpenCollada in Blender.
There is no argument here. I’m offering a working solution, I did all the
work already, developed both importer and exporter. Hundreds of users
tested both working. You just have to take it or leave it.
But if you leave it, please don’t follow with the hipocrisy of saying FBX
evil and we have no alternative. Collada is a fine format already, the only
problem is broken libraries (FCollada, OpenCollada).If you believe that the exporter is the easy part, why has there been
more than 10 years and Blender is still unable to export Collada properly?
I wrote for you an exporter that has been tested in dozens of games and
that exports every meaningful part of the spec as best as possible. Either
two actions must happen:
- Just make the built-in exporter work as well as mine
- Merge mine and deprecate the built-in exporter.
I can’t maintain a full Collada subsystem in Blender, I’m already too
busy working on Godot. I´m offering extremely well tested and fully
compliant code for both importer and exporter, both extremely tiny
(compared to OpenCollada). You only have to help me out merge both into
Blender, and all this discussion about open formats is over. We can even
work in a more modern version of the Collada spec together (I’m an advisor
at Khronos) supporting more modern features such as PBR, Shader Graphs, etc.
But seriously, just work a little from your end too instead of
complaining about Autodesk being evil…Collada exporter is here:
https://github.com/godotengine/godot/tree/master/tools/export/blender25/io_scene_dae
The only limitation it has, which I believe could be fixed quite easily but
should not be a blocker, is that to export skeletons, you have to make the
mesh a child of the skeleton.
This is because, unlike Blender, game engines do skeletal transform locally
before transforming by world matrix so this makes it more compatible and
all the content more coherent. Collada importers have not much of a problem
with this. Please remember this exporter is meant for game engines, since
Collada is not very useful as exchange format between 3D DCCs.
Collada importer is here, and it’s very compatible… Godot uses it to load
full scenes from any existing DCC fine, with full skeletal animation, morph
targets, etc. I have found that some exporters have small inconsistencies
with the format, so this importer is custom made and very, very very
tolerant. Trust me, hundreds of Godot users use it and it hasn’t failed in
a long time.
https://github.com/godotengine/godot/tree/master/tools/collada
However, it’s written in C++ and I don’t really have any knowledge about
Blender internals. Godot manages scenes in a very similar way to Blender so
adapting it should be easy, but I honestly don’t have time to learn Blender
internals. Still, I offer help about understanding and adapting the
codebase to anyone willing to do it. If you guys could adapt OpenCollada to
Blender, this should be a lot easier.
Cheers! And sorry if I sounded offensive in previous threads, please
understand that the currently situation and having to create and maintain a
parallel exporter so Blender users could export to Godot did not make me
happy, specially when Ton cried today on twitter about how FBX was evil and
we have no open standards to export to game engines…
Please share test blend files, as well as exports that work and fail. Write down the test results in the target platform (blender to <game engine/other 3d application> to blender)