Blender to Unity: 3ds exports UV maps correctly, fbx doesn't. Why?

I’ve created a simple dragon model in Blender, rigged it, given it some animations in Blender’s compositing screen, broken it up into <65K triangle sub-meshes so Unity won’t automatically break it apart, and UV mapped all of the individual parts.

I’m now trying to export this model to Unity, but if I export it as a .fbx and then import it into my Unity scene, the resulting prefab seems to have lost its UV maps. Exporting as a .3ds preserves UV map information, but doesn’t preserve the model’s animations.

I believe this is intended behavior for .3ds files (that they don’t carry animations with them), but I believe my .fbx export should preserve UV maps. I’ve succeeded in the past with .fbx exports preserving both animations and UV maps, and I’ve read online that they should do so.

For reference, here is a current image of my scene:

The dragon on the left was exported as a .fbx; the dragon on the right began as the same Blender model but exported as a .3ds. The back of the dragon’s right wing illustrates the problem; the .fbx loses all detail and just shows a diffuse black color.

Are there any common reasons this might occur? I am just a hobbyist and there are still many things I do not know about Unity/Blender.

GENERAL SYSTEM/SOFTWARE INFO:

  • Windows 10
  • Unity 5.6b10 64-bit
  • Blender 2.78

FIXES ATTEMPTED:

  • started a new Unity project, problem persisted
  • exported in older 6.1 ASCII fbx format, problem persisted (this is the little dragon not centered in the above image; its right wing is occluded but looks identical to the centered fbx dragon on the left)
  • tried exports with original mesh without first breaking it up into <65K sub-objects in Blender; problem was present there too
  • exported as 3ds rather than fbx and UV maps were preserved, but this loses animation information so it’s not a very good fix
  • directly imported .blend file; problem is present here as well

Figured this out about 18 hours after opening the question (was still under moderation at the time).

Turns out at some point in my repeated UV unwrapping attempts, a second UV map had been created in Blender; I’m not sure how this happened, as I never explicitly changed the UV map in the Data tab, but I’m suspicious there was a single default UV map and that my unwraps created a second UV map and I just kept overwriting that second map. Anyway, navigating to the Data tab on each of my wing objects and deleting the first, default, undesired UV maps fixed the problem.

This still leaves the interesting issue that 3ds picked up the UV map I intended it to pick up (the second/last UV map) rather than the ‘default’ UV map. My current guess is that this happened because 3ds indexes Blender’s UV maps in reverse order and exports with the last UV map, while the other export types I tried (blend, fbx) index Blender’s UV maps in the same order as Blender, and so exported with the first UV map. I’m not sure where to find the specifications for the various export types, but it would be neat if someone could confirm this.

You need to know exactly where the problem come from :

  • First,check if you have multiple materials. You may have forget to add your texture in the shader parameters in one of them.
  • Then you can check that your fbx file have uv value by reimporting it in blender or use a external fbx viewer.
  • Try using a checkboard texture, this can help you identify your problem (like aberrant scale)

Try to reproduce the problem on a simple model like a cube and post your unity scene here.
If you want to, I can check your fbx file for you.