2
\$\begingroup\$

I tried a very straightforward import of the Monk model from https://opengameart.org/content/monk into Unity 5.6.1f1, and ended up with no color/texture on the model. Why? Monk in Blender Monk in Unity

\$\endgroup\$
4
  • \$\begingroup\$ Have you tried to change the "Import naming" of the materials in the Inspector of Unity ? You may have to simply reassign the textures on the imported materials \$\endgroup\$
    – Hellium
    Commented Jun 11, 2017 at 8:02
  • \$\begingroup\$ Yes, it didn't seem to help. The textures didn't even show up in the textures folder, and the materials all came in as white. \$\endgroup\$
    – BlueMonkMN
    Commented Jun 11, 2017 at 9:33
  • \$\begingroup\$ Try exporting from Blender yourself, and importing the re-exported version to Unity. \$\endgroup\$ Commented Jun 11, 2017 at 10:55
  • \$\begingroup\$ If I unpack the textures from the blend file, copy them into the Materials directory, then export the blend file to an FBX file and import that into Unity, it works much better (though still not perfectly). I thought Unity supported .blend files better than this. \$\endgroup\$
    – BlueMonkMN
    Commented Jun 11, 2017 at 11:54

2 Answers 2

2
\$\begingroup\$

Remember the steps (sequence should be followed):

  1. First Import your texture (copy) in your unity Project
  2. Then, Import your model (copy) in you unity project.

Remember what the unity official docs (HOWTO-ImportObjectBlender) said about blender import requirement Requirements

  1. You need to have Blender version 2.60 or later (in some earlier versions of Blender the FBX export was broken).
  2. Textures and diffuse color are not assigned automatically. Manually assign them by dragging the texture onto the mesh in the Scene View in Unity.
\$\endgroup\$
2
1
\$\begingroup\$

Apparently Blender has numerous ways of associating textures with meshes. This particular model had UV Maps associated, but had assigned the textures some other way rather than via the UV map.

  1. I unpacked all the images from the blend file into external files using the External Data menu under the File menu.
  2. I make sure those are in the Textures directory under the location where I will import the blend file in Unity.
  3. I went into Edit mode on each component of the model in Blender (3 main components: Hair, Head, Body), selected all the faces, and changed the selected image to the appropriate value in the UV Map editor, even if it looked like it was already correct for the head.
  4. Save the Blend file.

Then when I import the model into Unity, the textures are already assigned. All I have left to do is assign the occlusion and normal maps.

I still think Unity could do a much better job of importing Blend files. For one thing, it'd be nice it there were a warning message about the textures being packed if it doesn't want to import packed textures. And for another, it'd be nice if it could pick up textures that were associated with a mesh regardless of whether it came in via the UV map or some other association. And it would be nice if it could support the normal maps and occlusion maps associated with the mesh.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .