3
$\begingroup$

I imported a .ply file and its texture as explained in the video Importing meshes with separate textures in Blender 2.80, for my Blender 2.93.

For some meshes it works well, but for another one that I textured in Meshlab, the texture is not showing up; the mesh is shaded in its base colour only:

missing texture in Blender 2.93

What can I do?

$\endgroup$

1 Answer 1

3
$\begingroup$

It looks like Blender is picky with loading UV Maps from .ply files. It seems that as of writing:

  • Blender cannot import per-Wedge UV coordinates
  • Blender can import per-Vertex UV coordinates
    • The names of the UV coordinates in the PLY header must be called s and t
    • They must not be called texture_u and texture_v, like Meshlab exports them.
      • In such case, simply edit the .ply file in a text editor, replacing texture_u -> s, and texture_v -> t.

If you provide a format that Blender cannot import, it will silently continue, skipping to import the UV Map.

How to check if your UV map got imported correctly

Directly after your PLY import, In the Properties panel, Object Data Properties tab, check the UV Maps section. It should show 1 UV map, like this:

enter image description here

It should not be empty, like this:

enter image description here

Example PLY headers

The header of a PLY file is plain text, so you can read it with a text editor. It will tell which form of UV map is present.

For a per-vertex UV one, with s/t coordinates, that Blender can read:

element vertex 200085
property float x
property float y
property float z
property float s
property float t
element face 66695
property list uchar int vertex_indices
end_header

For a per-vertex UV one, with texture_u/texture_v coordinates, that Blender cannot read:

element vertex 200085
property float x
property float y
property float z
property float texture_u
property float texture_v
element face 66695
property list uchar int vertex_indices
end_header

For a per-wedge UV one, that Blender cannot read:

element vertex 33793
property float x
property float y
property float z
element face 66695
property list uchar int vertex_indices
property list uchar float texcoord
end_header
$\endgroup$

You must log in to answer this question.

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