Ver código fonte

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 ano atrás
pai
commit
bbf68306c5
1 arquivos alterados com 6 adições e 2 exclusões
  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()) {
-					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()) {
-					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();