Browse Source

Fix error message being printed when importing an OBJ with no surfaces

An OBJ with no surfaces is valid, and typically happens when
you import an OBJ mesh with no associated MTL file.
Hugo Locurcio 1 year ago
parent
commit
bbf68306c5
1 changed files with 6 additions and 2 deletions
  1. 6 2
      editor/import/3d/resource_importer_obj.cpp

+ 6 - 2
editor/import/3d/resource_importer_obj.cpp

@@ -425,9 +425,13 @@ static Error _parse_obj(const String &p_path, List<Ref<ImporterMesh>> &r_meshes,
 				}
 				}
 
 
 				if (!current_material.is_empty()) {
 				if (!current_material.is_empty()) {
-					mesh->set_surface_name(mesh->get_surface_count() - 1, current_material.get_basename());
+					if (mesh->get_surface_count() >= 1) {
+						mesh->set_surface_name(mesh->get_surface_count() - 1, current_material.get_basename());
+					}
 				} else if (!current_group.is_empty()) {
 				} else if (!current_group.is_empty()) {
-					mesh->set_surface_name(mesh->get_surface_count() - 1, current_group);
+					if (mesh->get_surface_count() >= 1) {
+						mesh->set_surface_name(mesh->get_surface_count() - 1, current_group);
+					}
 				}
 				}
 				Array array = surf_tool->commit_to_arrays();
 				Array array = surf_tool->commit_to_arrays();