MD5 Importer

I’ve decided to write a plug in which supports the MD5Mesh and MD5Anim file formats for people who use Blender. After researching Blender, it seems that the blend format itself is not really that suitable for importing into game engines. Mostly because it requires a lot of knowledge on how to translate the file formats from every version of Blender (which Blender itself knows how to do). However, it does appear that the MD5 formats are quite well supported and seem to have enough features for it to be a viable format to use to go from Blender to UE4. The only thing it doesn’t seem to support very well however is multiple UV maps; but the way I will get around that is by doing either of these two options:

  • Layering the mesh import to allow you to import a new UV set specifically for light maps.
  • Allowing you to embed meshes with other names attached to them which specify those meshes and it’s UV coordinates as light map variations.

The first option is slightly easier to implement, but requires more external files. The second option is easier to import and manage from a file point of view, but isn’t very flexible with managing exporting and so forth. I might think of another method at another time perhaps.

Today I managed to get the mesh importing as a static mesh. I have the skeleton data (since you need that to create the ref pose in the place) so plans there is to open a dialog box which allows you to tweak the import parameters and to import as a static mesh vs a skeletal mesh. As you can see, there is still plenty of work to resolve.

  • I still need to resolve the smoothing groups on the mesh. For now I haven’t calculated the face normals, binormals and tangents. When this happens, Unreal seems to take over and create this. But it’s not that great.
  • Some of the UV mapping seems to be wrong. I’m not 100% sure why yet, and it is entirely possible that I’ve introduced a bug somewhere.