1
\$\begingroup\$

I'm at a complete loss.

An artist has sent me a 3D model so I can test it in Unity. This is exactly what I got:

 - Guy.fbx
 - Guy_DIF_512.tga

Alright. So I move the folder into the Unity inspector. Suddenly, a Materials folder is created within such folder. The Materials folder has one material.

Anyway, now I put the Guy prefab into the scene. It doesn't have textures applied.

No problem. A simple Google search yields this response:

The textures for your model have to be in your Unity project for Unity to apply them automatically when you import.

There are 3 different ways to make sure this happens

1 Use Textures for your 3D model from a \textures directory already in your Unity project

2 Embed them in the FBX

3 Copy the textures into your project before you import your model

I will avoid the second option for now to avoid troubling the artist. Let's see the third option...

3 If you are using 3D software packages that might not have newer FBX plugins or are importing native files you generally do not have the option to embed media, so you will need to copy the textures into a directory inside your project called textures - nested next to the model before you import it e.g.

\Projectx\Assets\Models\Textures\ModelTexture.tga

\Projectx\Assets\Models\Model.fbx

Ok, so I created Assets/Models/Textures and imported the Guy_DIF_512.tga file into it. Then in Assets/Models folder I import the Guy.fbx file.

Doesn't work. The model still doesn't have textures applied.

Alright, so let's look at the first option then.

... Let's look at the first option...

1 If you create your textures in your Unity project to start with and source them from a \textures directory nested under Models for example, Unity should always create materials and pick up the textures correctly at import

**\Assets\Models\Textures**

**\Assets\Models**

Uh, isn't this the same as the third option?

How do I import my 3D model?

I am using Unity 5.

\$\endgroup\$
2
\$\begingroup\$

I don't know about Unity 5, but in 4, you can click on your model in the Scene window. On the Mesh Renderer properties, there should be at least one material.

To start, set the shader to "Diffuse", and click on "select" to select the texture. The character should appear textured.

If you want to save these settings for future use, drag the object from the Hierarchy panel to some folder in your Project panel to create a prefab for that precise model with that precise texture.

\$\endgroup\$
  • \$\begingroup\$ Really strange how this is not by default. Thanks. \$\endgroup\$ – Oxide Mar 24 '15 at 8:16
  • \$\begingroup\$ It should work by default, but there are many reasons why the importer was unable to resolve the texture reference when loading it. It really depends on how the FBX file was exported, which depends on the modeling software used and the exporter settings. So instead of arguing with your 3D designer, you can just fix the reference when you load the file as I explained. \$\endgroup\$ – Panda Pajama Mar 24 '15 at 9:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.