Can't get a decent Collada file from Blender?

Started by
2 comments, last by Waaayoff 12 years, 5 months ago
I wrote a converter that converts a Collada file to my own binary format. However since Blender's exporter is a useless piece of shit, i have to go through this everytime i need to load a model into my game:

Export .fbx file from Blender -> Convert to .dae using Autodesk Converter -> Use Collada Refinery on .dae file -> Finally convert .dae file to my format.

But then i realized that for some reason, the Autodesk Converter converts the animation keyframes into interpolated keyframes. So instead of reading 2 keyframe data and doing the interpolation in real-time, i have to read 10^10 keyframes. And i can't reverse it because the original keyframe data isn't there anymore.

So, FOR THE LOVE OF EVERYTHING THAT IS HOLY, does anyone have a working collada exporter for blender?! If not, could you at least tell me how do you convert your Collada files? Assuming that you do..

I need a drink.
"Spending your life waiting for the messiah to come save the world is like waiting around for the straight piece to come in Tetris...even if it comes, by that time you've accumulated a mountain of shit so high that you're fucked no matter what you do. "
Advertisement
I can't help you with the Blender exporter, but I can suggest instead using Assimp to import from Blender and then dumping Assimp's structures into your own file format. It supports import of .blend files (among others, including COLLADA).

I recently replaced my old COLLADA parser with Assimp after being fed up with the different COLLADA formats that I was getting from different exporters. Took me an afternoon and I no longer have hassles with broken COLLADA exports whenever a new version of Maya is released. Assimp does the boring stuff for me :)

I wrote a converter that converts a Collada file to my own binary format. However since Blender's exporter is a useless piece of shit, i have to go through this everytime i need to load a model into my game:

Export .fbx file from Blender -> Convert to .dae using Autodesk Converter -> Use Collada Refinery on .dae file -> Finally convert .dae file to my format.

But then i realized that for some reason, the Autodesk Converter converts the animation keyframes into interpolated keyframes. So instead of reading 2 keyframe data and doing the interpolation in real-time, i have to read 10^10 keyframes. And i can't reverse it because the original keyframe data isn't there anymore.

So, FOR THE LOVE OF EVERYTHING THAT IS HOLY, does anyone have a working collada exporter for blender?! If not, could you at least tell me how do you convert your Collada files? Assuming that you do..

I need a drink.


Have you considered writing your own exporter directly from blender? The python API for blender is actually fairly easy to use, and you can do some really slick stuff with it like opening and dumping scenes directly from the command line. In my project, I don't manually export anything, I just run my build script and any changes in the game's blend files are automatically built into data for my engine and posted to the output directories for use.

http://www.blender.org/documentation/blender_python_api_2_59_0/info_quickstart.html

I can't help you with the Blender exporter, but I can suggest instead using Assimp to import from Blender and then dumping Assimp's structures into your own file format. It supports import of .blend files (among others, including COLLADA).

I recently replaced my old COLLADA parser with Assimp after being fed up with the different COLLADA formats that I was getting from different exporters. Took me an afternoon and I no longer have hassles with broken COLLADA exports whenever a new version of Maya is released. Assimp does the boring stuff for me :)

[font="arial, verdana, tahoma, sans-serif"]Assimp look promising. Though on their website they say .blend files aren't fully-supported yet. And i can't use COLLADA because Blender doesn't export animation to it correctly. Anyway i'll take a look at it thanks :)[/font]




[quote name='Waaayoff' timestamp='1319742887' post='4877648']
I wrote a converter that converts a Collada file to my own binary format. However since Blender's exporter is a useless piece of shit, i have to go through this everytime i need to load a model into my game:

Export .fbx file from Blender -> Convert to .dae using Autodesk Converter -> Use Collada Refinery on .dae file -> Finally convert .dae file to my format.

But then i realized that for some reason, the Autodesk Converter converts the animation keyframes into interpolated keyframes. So instead of reading 2 keyframe data and doing the interpolation in real-time, i have to read 10^10 keyframes. And i can't reverse it because the original keyframe data isn't there anymore.

So, FOR THE LOVE OF EVERYTHING THAT IS HOLY, does anyone have a working collada exporter for blender?! If not, could you at least tell me how do you convert your Collada files? Assuming that you do..

I need a drink.


Have you considered writing your own exporter directly from blender? The python API for blender is actually fairly easy to use, and you can do some really slick stuff with it like opening and dumping scenes directly from the command line. In my project, I don't manually export anything, I just run my build script and any changes in the game's blend files are automatically built into data for my engine and posted to the output directories for use.

http://www.blender.o...quickstart.html
[/quote]
[font="arial, verdana, tahoma, sans-serif"][font="arial, verdana, tahoma, sans-serif"]I really don't want to keep maintaining an exporter, the Blender API changes way too often. I did write a simple exporter that i had to update 3 times. I just can't be bothered.[/font][/font]
"Spending your life waiting for the messiah to come save the world is like waiting around for the straight piece to come in Tetris...even if it comes, by that time you've accumulated a mountain of shit so high that you're fucked no matter what you do. "

This topic is closed to new replies.

Advertisement