Opinions on Best Practice for fixing imported Meshes

Just wanted to get everyone’s opinion on this issue.

In Blender the Z axis is “up”. In Unity the Z axis is “forward”. Everything works great with my runtime importer except that the mesh is turned on its side once it gets into Unity.

Should I:

  • Rotate a parent GameObject so the mesh orientation is correct?
  • Rotate the mesh itself vertex by vertex during import? (not a fan of this one)
  • Rotate the mesh in my Blender export script before exporting?

rotate the model in your modelling tool, this is always the simplest , usually most effective way to handle this.

I read here that you can set Z/Y switch when you’re exporting from Blender with this extension. If you’re not using or cannot use it, then I usually prefer to make a prefab with a parent and rotate the child object (that is your real model), but having the same gizmos directions is usually the best way.

Im pretty sure most of the fbx exporters i have seen have z/y switch, but i seem to recall trying to use it with amodel on the way out of max, and it didnt work as i suspected. My memory might be off too, im gettin old.

Parent / child relations of course work well too, but i dont like having objects sitting around that arent doing much aside from re-orienting an object, at least not in a case where rotating it in your model software takes care of this for you. There is rare extreme cases where this may not work. For eg: the model will still recognize that it is rotated 90 degrees around the X axis…

PS , if anyone knows of a way to reorient the model and not retain its rotational data , i would be curious to know how.

I haven’t looked into the export FBX scripts in Blender but I am fairly certain it just rotates the Mesh 90 degrees along the X axis (which is basically what I would do as well). I’ll have to run some tests to see if this botches animation data or not.