diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp index 3dd01754a35a..89e2e36b7725 100644 --- a/editor/import/resource_importer_obj.cpp +++ b/editor/import/resource_importer_obj.cpp @@ -245,6 +245,7 @@ static Error _parse_obj(const String &p_path, List> &r_meshes, bool p_ String current_group; uint32_t smooth_group = 0; bool smoothing = true; + const uint32_t no_smoothing_smooth_group = (uint32_t)-1; while (true) { String l = f->get_line().strip_edges(); @@ -349,10 +350,7 @@ static Error _parse_obj(const String &p_path, List> &r_meshes, bool p_ if (!colors.is_empty()) { surf_tool->set_color(colors[vtx]); } - if (!smoothing) { - smooth_group++; - } - surf_tool->set_smooth_group(smooth_group); + surf_tool->set_smooth_group(smoothing ? smooth_group : no_smoothing_smooth_group); surf_tool->add_vertex(vertex); } @@ -367,8 +365,10 @@ static Error _parse_obj(const String &p_path, List> &r_meshes, bool p_ do_smooth = true; } if (do_smooth != smoothing) { - smooth_group++; smoothing = do_smooth; + if (smoothing) { + smooth_group++; + } } } else if (/*l.begins_with("g ") ||*/ l.begins_with("usemtl ") || (l.begins_with("o ") || f->eof_reached())) { //commit group to mesh //groups are too annoying