Unable to add texture to self-made imported model.

Hi, I’ve created a .obj model in a 3rd party application and imported it into Unity. I’m not able to add any of my textures to the object the same way I can add them to unity objects like cubes etc…
When I try, the model object changes colour, but without ant of the detail from the texture.

What am I doing wrong?

Hello,

For a 2d texture to be mapped to a 3d mesh made of individual triangles the rendering engine needs a way of finding which part of the texture gets rendered to which triangle. The way this is normally done is using a method called UV-mapping.

In UV-mapping, each vertex of the triangle has a normalized texture coordinate (uv-coordinates) in the range (0.0, 0.0) to (1.0, 1.0) from the bottom left to the top right of the texture. Using barycentric coordinates a point in 3d on a triangle can then be mapped to a 2d coordinate on a texture.

For this to work each vertex will need a UV-coordinate which in a Wavefront .obj file is detonated by vt. By many applications these values are defaulted to (0.0, 0.0), meaning that every pixel the render of the model will be made of, will take the most bottom left pixel as it’s texture “input” (highly simplified).

If you want textures to be mapped properly to your 3d models you will have to UV-map them yourself.

Hope this helps,
Benproductions1