Jump to content
  • Advertisement
Sign in to follow this  
Triad_prague

3d file format with skeletal animation and normal mapping

This topic is 1081 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Edited by Alundra

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!