caffeinatedguy at June 30th, 2010 10:00 — #1
It's been a while since I posted an IOTD and since I just completed my first software application that I have posted for sale. I thought I would throw one up. It is a converter which takes a Sketch Up 7.1 DAE (Collada File) and converts it to FBX (Autodesk format).
I've been working on a small game prototype in Unity. Nothing to show yet but I ran into a problem when I was working on it. I had been using Sketch Up to rough out my levels. Which worked great as it could export to Unity in FBX but only for the pro trial version. The regular version exported collada files but they won't load in unity. I looked around for a tool which could convert the Collada files. After not having much luck I decided to bite the bullet and build my own.
I ended up writing a converter which you can find here:
It was written in C# using .net 2.0 and visual studio 2005.
I coded a parser for the Collada files and a writer for FBX files to keep all the code in C# and dependencies at a minimum.
I am currently working on getting a version running on Mac via mono (I have it running actually just need to get it packaged up).
The white house model is from http://sketchup.google.com/3dwarehouse/\ SketchUp® is a registered trademark of Google, Inc. FBX® is a registered trademark of Alias Systems Corp
reedbeta at June 30th, 2010 12:46 — #2
You reversed and wrote your own code for both Collada and FBX? Well...no one can say you're not dedicated, but really, you went down that path because "other apps" that used them had "stability issues"? Can you give any more detail? Do you have any evidence that the official Collada or FBX SDKs are actually unstable?
You're entitled to do what you want with your own projects of course...I just find it bizarre that you'd choose to reinvent the wheel that way. The official libraries are used by many people and are already well-tested, so from the perspective of a potential user of your software, I'd consider your software much more robust if it used the real libraries.
caffeinatedguy at June 30th, 2010 14:45 — #3
The main reason I wrote both libraries was because I wanted a lightweight C# parser and writer to keep the app fairly dependency free. Meshlab had crashes but worked sometimes for converting my DAE files. The FBX Converter didn't work at all for loading the SketchUp DAE files (which is used internally inside of unity). I didn't mean to imply the libraries themselves were unstable.
rouncer at July 1st, 2010 16:42 — #4
caffeinatedguy at July 2nd, 2010 02:23 — #5
Thanks. I didn't make the model. I found it on google 3dwarehouse. Unfortunately can't find the exact link. I believe it is still up there somewhere .
I also just posted a mac version of the tool as well.
jarkkol at July 6th, 2010 17:47 — #6
Where did you get the information about FBX format?
bernieroehl at August 8th, 2010 14:45 — #7
Thanks for writing this! I've been trying to use a variety of other tools to do this, and you're right -- they're broken.
Tried importing into Blender, and objects come in all over the place and scaled incorrectly.
Tried using Autodesk's standard FBX Converter to convert DAE to FBX, then imported into Unity. All I got was a single quad!
Yours is the first utility that has actually worked for me. Much appreciated!
Question for you... I notice that you put the textures into a subdirectory, but when I import the FBX file into Unity it comes in untextured. I try to manually assign the textures, but I don't seem to be able to drop them onto individual objects in my scene. Any suggestions?