category: code [glöplog]
Well as long as it's for your pet projects there's really no harm in reinventing the wheel. Sure it gets you nowhere but you haven't seen me releasing a demo since 2003 and I've been working on a system for some years now, constantly focussing on anything but actual demomaking :-)

As for a more professional attitude you'll have to make informed decisions on what and what not to apply in several parts of your project. Nothing wrong with some STL or whatever here and there.
added on the 2011-05-16 15:30:02 by superplek superplek
So, now that roughly 5 years have passed - Has the Collada situation improved? What about the Open-sourced Khronos exporters (OpenCollada)? Can assimp correctly load skinned meshes?
It´s a shame this Stuff is still such a Problem ...
added on the 2016-01-23 11:44:03 by spike spike
I've been submitting patches to both; no current complaints I can recall right now.
added on the 2016-01-23 12:23:04 by Gargaj Gargaj
We've been using assimp for years (since around 2010ish) in a gamedev environment, with no real issues. Hierarchies, skinned meshes, all present and functioning. We made a few adjustments here and there (animation cleanup used to be a bit too aggressive, not sure about its current state), but it always worked really well. I also remember having two (working) dae exporters and - if my memory serves me well - we ended up using the built-in one, and not opencollada. In my experience, most of the problems come from programmers misunderstanding some of its features. Skinning is especially tricky as assimp's internal format is not exactly gpu friendly, and it's really easy to fuck up the conversion :)
added on the 2016-01-23 13:50:29 by reptile reptile
Cool, this sounds encouraging. Which 3D App have you been exporting from? Any experiences with Maya?
added on the 2016-01-23 17:57:14 by spike spike
FBX has become rather OK in terms of being interchangeable. 3ds max is my main modeling software, but had to use Cinema4d and Blender for demo projects and getting stuff (meshes, uvs, cams, lights, basic anim (didnt try skinning)) from max to c4d or blender seemed to be fine. advanced rigging and particles and what not is all a different ball game though, but most open source formats don't cover any of that either, so you're fine.

I guess many coders wanna 'gamble' on Collada so that contributing 3D artists can use whatever modeling software they fancy best, but with the above, there's actually not a huge need. besides, 3D in demos has become (tech-wise and quality-wise) so piss-poor compared to game dev that you're probably wasting many hours on nothing. and you need to tweak lights and materials in your own 3D engine usually anyway because DX/OGL lighting always looks different than in the 3D software :)

just my 2c.

so a toolchain of whatever 3d tool (as long as it exports fbx) and then bringing all that in the 3d tool that exports your custom format (or theirs) is quite manageable.
Assimp has better Collada support than FBX support, far as I could tell.
added on the 2016-01-23 21:32:30 by Gargaj Gargaj
Interop between 3d apps is nice to have, but i would already be happy if it works for one package (maya preferably) :) i'll give it a shot then.. Thanks for the feedback guys!
besides, 3D in demos has become (tech-wise and quality-wise) so piss-poor compared to game dev

So true unfortunately..
added on the 2016-01-23 22:01:20 by spike spike
spike: i never really got into Maya. but if it has something comparable to maxscript (or better that it supports scripting with python like Max does) you could also look into that and write a exporter with that without dipping too deep into boring SDKs (and probably version compatibility issues that we often had with Max plugins).
Has anyone tried alembic?
added on the 2016-01-24 00:31:02 by smash smash
I had a very brief look, to me it seemed like it would require a lot of work to get something going - from what i remember, the codebase looked rather complex to get into (HDF5 hierarchical data structure stuff, lots of attributes and interfaces to juggle around). For sure doable, but not something that seemed fun to do in limited spare time.
I guess if you start from the provided example projects it might be a little easier.
added on the 2016-01-24 14:03:45 by spike spike
maali: maya has very powerful scripting capabilities (MEL and python), yes. however, from my experience with 3dsmax (both writing c++ sdk plugins and maxscript stuff) the problems are not so much related to getting the required data to export, but to figure out how you have to use the data in your engine. e.g. in max there is a lot of horror like the parity matrix stuff of mirrored objects, or coordinate system issues of nodes that takes ages to get right initially - and these problems aren't solved by switching to a scripting language :)
added on the 2016-01-24 14:13:04 by spike spike
In my experience AssImp works better with Collada than with regular Fbx

From Maya you should be able to export both, though the FBX API in MEL is a bit terrible. I was messing with it over the weekend, here's one of the scripts I wrote:


maybe it can help you working around some stuff such as: unreadable export code, undocumented flag order dependencies (animation baking breaks if you enable attributes in the wrong order), and flags (including animation takes for example) not being reset after an export call.

Maya always exports everything, you can't say "don't export animation" or anything like that, so you may select all nodes of supported data types only and then export selection to avoid messy data.