Blender to Unity3D: Applying Materials in Unity

4.4k views Asked by At

So, I am creating a mesh in Blender. Now I do NOT want to apply materials or textures in Blender, I just want the mesh.

Now, after exporting the mesh and importing it in Unity, I aply a material in Unity and - it doesn't work. I see the material is changed in the inspector, but no matter what the material or texture is, the object in the scene has just some different shade of grey.

I have tried different export formats (including the recommended .fbx export), I tried aplying a material in Blender and then replacing it, I checked the various export settings and I have researched the issue, but all tutorials/questions I could find asume you are aplying the material in Blender.

So now I have to admit that I am pretty new to Blender and totally overwhelmed by it, but perhaps somebody knows the issue and can tell me what I am doing wrong or what I am missing.

2

There are 2 answers

1
Milad Qasemi On

you should first UV unwrap your model in Blender after that when you import your model then you will see the textures that you assign
there are a lot of tutorials for making UV maps for example this and this

0
Razzlez On

This includes some steps, after you have made your mesh in blender, you will need to unwrap it, to easily do this, start with a cube:

1.Select all the faces.

2.Press U -> Unwrap

3.In another window (Or move to UV editing window), you will see an automated unwrap of your cube, imagine that your texture will set behind those vertices, move them around so it would like like a cross shape. Optional. You can and probably should use Seams in order to unwrap things efficiently, learning where to place the seam takes a bit of time, but you can do it without that as well, you can unwrap a face at a time, or several at a time and align them in the UV sheet so it would look "logical"

4.Once you select a mesh on the right side bar in blender you will see a circle/sphere, click that, here you will have all the materials that you will apply to your mesh, so say you created a mesh but you want to use two different materials on different areas in the mesh, NO PROBLEM, just select all the faces you want, press the + sign under the material to make a new one, and press "Assign material", then select the other faces, and assign them to a different material, you can do this to as many materials as you want.

5.Export your mesh to unity using .FBX extension.

6.Once you got your object into your project, on the right hand side bar in unity you will notice in the inspector an option of "Normals - Imported" cahnge that into "Normals - Calculate".

  1. That's it your mesh is ready to use in unity, with the amount of materials that you have gave it in blender, all that is left is giving each material a color/texture and a shader =]

P.S: If you apply same material to all the different areas unity will just use one material for them all, the materials are replaceable of course, using one is the most efficient. Good luck!