From 16d176961a60381224303a659d03d45c5d9d7e3f Mon Sep 17 00:00:00 2001 From: Eoin O'Neill Date: Sat, 17 Apr 2021 21:01:14 -0700 Subject: [PATCH] Improved importer to split parts of track as separate static bodies. --- editor/import/resource_importer_scene.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 752964c92f51..ae5fa5e8a911 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -532,19 +532,27 @@ Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map } if (shapes.size()) { - StaticBody *col = memnew(StaticBody); - col->set_name("static_collision"); - mi->add_child(col); - col->set_owner(mi->get_owner()); - int idx = 0; for (List >::Element *E = shapes.front(); E; E = E->next()) { + StaticBody *col = memnew(StaticBody); + + if (E->get()->get_name().empty()) { + col->set_name("static_collision " + itos(idx)); + } else { + col->set_name(E->get()->get_name().to_upper()); + } + mi->add_child(col); + col->set_owner(mi->get_owner()); CollisionShape *cshape = memnew(CollisionShape); cshape->set_shape(E->get()); col->add_child(cshape); - cshape->set_name("shape" + itos(idx)); + if (E->get()->get_name().empty()) { + cshape->set_name("shape" + itos(idx)); + } else { + cshape->set_name("shape-" + E->get()->get_name()); + } cshape->set_owner(p_node->get_owner()); idx++;