3d file format with skeletal animation and normal mapping

Started by
4 comments, last by Triad_prague 8 years, 8 months ago

Hi fellow game developers!

Right now I have my homemade converter that would produce from a milkshape 3d file (*.ms3d) a skeleton file, skeletal animation files, and mesh with correct bone weights. I've tried to add normal mapping support, but the results aren't satisfactory (it looks like the normal map is skewing in some parts). I believe the suspect was an error with TBN vectors calculation (perhaps caused by bad UV coordinates).

I've decided that the time wasted looking for fix isn't worth it and proceed to look for a shortcut. I need a 3d mesh file format that internally support normal mapping (so the converter wouldn't need to do TBN calculation). Also I want to ditch milkshape 3d (I use pirated one for learning) and switched to blender (for obvious reason). Now things would get a little bit complicated, because of the too long stage of working on 3d assets.

Right now my 3d assets pipeline is as follows:

model in blender -> export to wavefront (uv mapped) (.obj) -> open milkshape 3d, import (.obj) file -> weight vertices + adjust stuffs + skeletal animation -> save as (.ms3d) -> convert it using self made converter -> done.

That was insane, working on a model could take days for me. What I'm aiming now is:

model+uv map+skeletal animation+stuffs (basically everything) in blender -> export to some magical format (that supports normal mapping, a quaternion based bone orientation is a big plus) -> convert using self made converter -> done.

TL;DR;

Do you know any file format that supports normal mapping and can be worked on in blender?

the hardest part is the beginning...
Advertisement

I use collada (dae) format models, I then wrote a converter that uses Assimp to read the data in and spit out my own optimized format. Collada is kind of a bloated format but I don't use the daes at runtime so it doesn't matter. Most people I know now use FBX, but I have not tried that so I can't comment on it.

I import FBX and convert it to my mesh and animation format. This is the way used by Unreal and Unity too.

The other way is to write your plugin, I used this way on 3dsmax and maya before FBX was good enough.

One limitation from the FBX is to not support shear on the transformation matrix.

FBX SDK is not thread safe too.

Well I had a look at collada and it was perfectly suited my purpose! Thanks guys. Writing the converter is also easier since it's basically xml. Big thanks!
the hardest part is the beginning...

Well I had a look at collada and it was perfectly suited my purpose! Thanks guys. Writing the converter is also easier since it's basically xml. Big thanks!

I suggest using an existing converter such as Assimp instead if it suits your needs. It will save you a lot of time and headaches.

"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. "

Well I had a look at collada and it was perfectly suited my purpose! Thanks guys. Writing the converter is also easier since it's basically xml. Big thanks!


I suggest using an existing converter such as Assimp instead if it suits your needs. It will save you a lot of time and headaches.

I wish I had seen it earlier! I'm trying to get my hands dirty on it now. Judging by the spec, Assimp looks like a great library!
the hardest part is the beginning...

This topic is closed to new replies.

Advertisement