Why the Blender fbx files don't have the scale and rotation with (0, 0, 0) in Unity?

Hi, I use the latest version of Blender and Unity, recently I export fbx files from Blender to unity, but the scale and rotation isn’t (0, 0, 0) in Unity. Why?:face_with_spiral_eyes: Is there anything I miss? Help me! Thanks!:slight_smile:

// New discovery 1
I realize that some of my original fbx files have the Mesh Filter and Mesh Renderer in Unity, and these fbx files all have strange position, scale, and the rotation with (270, 0, 0)!:hushed:
For example, I create a Firewood fbx file with “Rock and Wood” in it, the position and rotation is (0, 0, 0), the scale is (1, 1, 1), correct. A single Pail fbx file, not correct.
But~ If I set a “Empty Game Object” for the Pail in Unity, then the Pail will have the position and rotation with (0, 0, 0), the scale with (1, 1, 1). It will really tired if I really need to do so. So, any ideas?:face_with_spiral_eyes:

Hi Zona,

I use Blender 2.49 with Unity and I noticed that you have to “zero” the scale and rotation of your object in Blender in order for these parameters to show up as zero in Unity. If you don’t, the object keeps it’s Blender scale and rotation. In Blender 2.49, the command is under Object (in Object mode) > Clear/Apply > Apply Scale/Rotation to ObData. Must be a similar command somewhere in the newer versions of Blender.

Zaffer

Thanks Zaffer.:slight_smile:

About the scale, I check the Apply Object Transform, and export it again. This time the scale is (1, 1, 1). But~ If I set the export scale without 1.00, fbx files still have values!

About the rotation… Nothing changed when I check the Apply Object Transform, it still have the strange value with (270, 0, 0).

Today I change the title “Why the Blender fbx files don’t have the scale and rotation with (0, 0, 0) in Unity?” to “Why Mesh Filter and Mesh Renderer show up if I export single mesh with fbx files?” and update the question.

HI Zona,

I checked back to some rocks I made recently in Blender and they all have the X rotation value of 270 in the fbx importer like yours even though they all show zero X rotation inside Blender. I think it must be some sort of export default of Blender’s. Might be a good question for the Blender forums.

Zaffer

This is due to different “up” axes.

In Unity, Y is (correctly :P) up.

In Max, Z is “up” (and I’m guessing so in Blender, too).

So for the models to come in correctly, they must be rotated 270 degrees on the X axis to have what the 3D app thinks is “up” become what Unity thinks is “up”.

All models in Unity, regardless of where they’re imported from, have Mesh Filter and Mesh Renderer. Mesh Filter holds the data for the mesh - without it you have no mesh, Mesh Renderer holds the data required to render the mesh - without it, the mesh won’t render.

Thanks Farfarer,

Yes, Z is up in Blender too. Wish all programs could have Y up – hard to keep straight in my head!

Zaffer

Thanks Farfarer, it really clear my doubt of the rotation!:smile:

And I still can’t understand why I need to “create a Empty Game Object to the fbx files” (or “combine two meshes in Blender in one”) to have the position, rotation with (0, 0, 0) and the scale with (1, 1, 1).:face_with_spiral_eyes: