U
02 / 22 · 9 min
FAQ

Importing a 3D model: scale, rotation and missing textures

the short answer

Why is my imported model tiny, rotated, or plain white?

Three programs disagreeing, not a broken file. Fix scale with Convert Units on the Model tab rather than the Transform, fix a −90 rotation with Bake Axis Conversion or by applying rotation in Blender before export, and get the colours back by copying the textures in and pressing Extract Materials. Pink means a missing shader, not a missing texture.

A model that comes in a hundred times too small, lying on its face, and coloured plain white is not a broken file. It is three different programs disagreeing about what one metre is, which way is up, and where a texture lives — and each disagreement has a fix you apply once, in the importer, rather than by scaling the object in the scene.

Too small, or too big

Unity measures in metres. Blender also measures in metres but exports FBX at a scale of 0.01 by default, so a two-metre character arrives two centimetres tall. 3ds Max works in centimetres and sends the same character in a hundred times too large.

  1. 1

    Select the model in the Project window. In the Inspector you are now looking at the importer, not at the object — the tabs read Model, Rig, Animation, Materials.

  2. 2

    On the Model tab, tick Convert Units. Unity then reads the unit the file declares and converts it, which is right far more often than typing a number yourself.

  3. 3

    If it is still wrong, set Scale Factor to 100 for a Blender file that came in tiny, or 0.01 for a Max file that came in huge. Press Apply.

Lying on its face

Blender treats Z as up; Unity treats Y as up. The exporter is supposed to rotate the model on the way out, and when it does not you get a character rotated −90 degrees on X.

  • Best fix, in Blender: apply rotation and scale to the object (Ctrl+A) before exporting, and in the FBX export panel set Forward to −Z and Up to Y.

  • Fix in Unity if you cannot re-export: on the Model tab tick Bake Axis Conversion. Unity bakes the rotation into the mesh instead of leaving it on the Transform.

  • The workaround to avoid: an empty parent rotated by 90 degrees with the model inside it. It works until something reads transform.forward — then the character walks sideways.

White, grey, or pink

An FBX does not carry textures. It carries the names of materials and a path to image files that existed on the machine that exported it. Unity imports the names, finds no images, and gives you the default white material.

  1. 1

    Copy the texture files into the project yourself, into a folder beside the model.

  2. 2

    Select the model, open the Materials tab, set Material Creation Mode to Standard and press Extract Materials. You now have real material assets you can edit.

  3. 3

    Drag each texture into the right slot: colour into Base Map, normal into Normal Map. Unity asks to fix a normal map that is not marked as one — say yes.

A note on .blend files

Unity can import a .blend directly, but only by launching Blender in the background to convert it, so everyone on the project needs Blender installed at a compatible version. Export FBX and commit that instead: it imports the same, and the project opens on a machine that has never heard of Blender.