diff --git a/io_scene_obj/__init__.py b/io_scene_obj/__init__.py index 1ae4a8bf98a073b1a60cdad7e7bec0f45edfb136..e52035e8fea9b78c99baaaca03edcd8dd8fcb747 100644 --- a/io_scene_obj/__init__.py +++ b/io_scene_obj/__init__.py @@ -21,7 +21,7 @@ bl_info = { "name": "Wavefront OBJ format", "author": "Campbell Barton, Bastien Montagne", - "version": (3, 5, 8), + "version": (3, 5, 9), "blender": (2, 80, 0), "location": "File > Import-Export", "description": "Import-Export OBJ, Import OBJ mesh, UV's, materials and textures", diff --git a/io_scene_obj/import_obj.py b/io_scene_obj/import_obj.py index 34d971468675b7d29c3037a6c4c0e55e2029da64..d31d290d654c7711597f33fbc7d10bde6099fbf5 100644 --- a/io_scene_obj/import_obj.py +++ b/io_scene_obj/import_obj.py @@ -678,6 +678,9 @@ def create_mesh(new_objects, if verts_tex and me.polygons: me.uv_layers.new() loops_uv = tuple(uv for (_, _, face_vert_tex_indices, _, _, _, _) in faces for face_uvidx in face_vert_tex_indices for uv in verts_tex[face_uvidx]) + print(sum((len(face_vert_tex_indices) for (face_vert_loc_indices, _, face_vert_tex_indices, _, _, _, _) in faces))) + print(sum((len(face_vert_loc_indices) for (face_vert_loc_indices, _, face_vert_tex_indices, _, _, _, _) in faces))) + print(len(loops_uv), len(me.uv_layers[0].data)) me.uv_layers[0].data.foreach_set("uv", loops_uv) use_edges = use_edges and bool(edges) @@ -947,7 +950,6 @@ def load(context, face_vert_loc_indices = None face_vert_nor_indices = None face_vert_tex_indices = None - face_vert_nor_valid = face_vert_tex_valid = False verts_loc_len = verts_nor_len = verts_tex_len = 0 face_items_usage = set() face_invalid_blenpoly = None @@ -1043,25 +1045,16 @@ def load(context, if len(obj_vert) > 1 and obj_vert[1] and obj_vert[1] != b'0': idx = int(obj_vert[1]) face_vert_tex_indices.append((idx + verts_tex_len) if (idx < 1) else idx - 1) - face_vert_tex_valid = True else: face_vert_tex_indices.append(0) if len(obj_vert) > 2 and obj_vert[2] and obj_vert[2] != b'0': idx = int(obj_vert[2]) face_vert_nor_indices.append((idx + verts_nor_len) if (idx < 1) else idx - 1) - face_vert_nor_valid = True else: face_vert_nor_indices.append(0) if not context_multi_line: - # Clear nor/tex indices in case we had none defined for this face. - if not face_vert_nor_valid: - face_vert_nor_indices.clear() - if not face_vert_tex_valid: - face_vert_tex_indices.clear() - face_vert_nor_valid = face_vert_tex_valid = False - # Means we have finished a face, we have to do final check if ngon is suspected to be blender-invalid... if face_invalid_blenpoly: face_invalid_blenpoly.clear()