Why is collada support lacking so much?

Physics APIs, Physics file formats, Maya, Max, XSI, Cinema 4D, Lightwave, Blender, thinkingParticles™ and other simulation tools, exporters and importers
fd9_
Posts: 4
Joined: Wed Nov 19, 2008 7:22 pm

Why is collada support lacking so much?

Post by fd9_ »

CreateDynamics, Bullet, Blender, Scythe, and Erwin's dead project ("open physics composer") are all great ideas, but it seems like there's one tiny thing missing in all of them - proper Collada support. And that's disappointing. For example, it would be nice if I could take a rigged character from Blender, export the skeleton, load it up in CreateDynamics to automatically generate a ragdoll, and load it into Bullet without any problems. Or take a tank vehicle with a rotating parts created within Blender and load it into Bullet. But for some reason or another (lack of developers/motivation?) it's not currently possible.

I tried exporting one of the ragdoll examples included with CreateDynamics and then loaded it with the latest version of Bullet's collada viewer, but even though it actually loaded, it was obvious that the ragdoll wasn't stable. I don't know if that's because there was some export/import issue with Collada, or if because CreateDynamics uses a different physics engine (PhysX), or a combination of both. So to test this theory some more, I tried taking the same model and instead of creating a ragdoll, I created a convex decomposition and loaded that into the Collada viewer. Although it seemed to get the convex shape correctly, it looked as if there was some kind of hinge as it kept rotating back and forth. So I have no clue what was going on there, but my guess is that there was mistake in reading the Collada file. What's the point of going through the trouble to get Collada working with Bullet if I can't even load a simple convex shape?

I know that Scythe uses a variety of different physics engines, and from my understanding it's possible to view the simulation differently with each one. That seems like a good solution, although unfortunately Bullet is currently not supported. However, PAL is supported which supposedly works with both Collada and Bullet, but judging from the underwhelming support of Collada I've seen in other projects I don't have my hopes up.

Anyway, the point of all of this rambling is to ask: Why is it so challenging to provide proper Collada support? And, as a bonus question for Erwin: Do you have any plans to add Bullet to Scythe now that it's open source and has a physics plug-in system?
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Why is collada support lacking so much?

Post by Erwin Coumans »

fd9_ wrote:Anyway, the point of all of this rambling is to ask: Why is it so challenging to provide proper Collada support?
The main issue is lack of an easy-to-use multi-platform COLLADA SDK to export/import compliant files.
Add lack of conformance testing, and complexity of the COLLADA standard. COLLADA has COLLADA DOM which is terribly difficult and error-prone to use, so many avoid it. This is very unfortunately, because it encourages proprietary standards, such as FBX. FBX has an easy to use SDK.

Except for Bullet, the tools you mention use non-conformant COLLADA exporter/importers. CreateDynamics, Scythe and Blender in particular. Blender uses a python script with very limited COLLADA support. So if you want your tools to be better COLLADA compliant, it is best to contact the tools providers.

Bullet and its Dynamica Maya plugin uses the COLLADA DOM to guarantee proper conformance. A future physics composer will also use COLLADA DOM.
Apart from that, we are working on a binary companion format, based on IFF, for in-game usage. There will be converters from COLLADA to binary IFF.
So I have no clue what was going on there, but my guess is that there was mistake in reading the Collada file. What's the point of going through the trouble to get Collada working with Bullet if I can't even load a simple convex shape?
The issue is almost certainly a tool export problem, not import.
If there is any issue with COLLADA physics support of Bullet or Maya Dynamica, please let us know and share the .dae file.
Thanks,
Erwin
fd9_
Posts: 4
Joined: Wed Nov 19, 2008 7:22 pm

Re: Why is collada support lacking so much?

Post by fd9_ »

The whole situation with Collada seems really sad. From my limited understanding it sounds like developers either have a choice to use COLLADA DOM, which is incredibly complex and error-prone, or another library that's easier to use but non-conformant. Great. Isn't it ironic that Collada suffers from the same problem it was originally intended to solve?