From cb35471cb0e0900780d8f6dbae48d1f4ca154709 Mon Sep 17 00:00:00 2001 From: Lyuma Date: Thu, 23 Feb 2023 03:03:04 +0100 Subject: import: Pass the correct defaults to generated collision shapes. Solves incorrect defaults, as well as applied scale failing to apply. The default values are removed, and they differ from collision shape defaults These values must match the defaults defined in resource_importer_scene.cpp --- editor/import/resource_importer_scene.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index d6d83a45d3..a0fb95daa7 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -410,6 +410,8 @@ Vector> ResourceImporterScene::get_collision_shapes(const Ref box.instantiate(); if (p_options.has(SNAME("primitive/size"))) { box->set_size(p_options[SNAME("primitive/size")].operator Vector3() * p_applied_root_scale); + } else { + box->set_size(Vector3(2, 2, 2) * p_applied_root_scale); } Vector> shapes; @@ -421,6 +423,8 @@ Vector> ResourceImporterScene::get_collision_shapes(const Ref sphere.instantiate(); if (p_options.has(SNAME("primitive/radius"))) { sphere->set_radius(p_options[SNAME("primitive/radius")].operator float() * p_applied_root_scale); + } else { + sphere->set_radius(1.0f * p_applied_root_scale); } Vector> shapes; @@ -431,9 +435,13 @@ Vector> ResourceImporterScene::get_collision_shapes(const Ref cylinder.instantiate(); if (p_options.has(SNAME("primitive/height"))) { cylinder->set_height(p_options[SNAME("primitive/height")].operator float() * p_applied_root_scale); + } else { + cylinder->set_height(1.0f * p_applied_root_scale); } if (p_options.has(SNAME("primitive/radius"))) { cylinder->set_radius(p_options[SNAME("primitive/radius")].operator float() * p_applied_root_scale); + } else { + cylinder->set_radius(1.0f * p_applied_root_scale); } Vector> shapes; @@ -444,9 +452,13 @@ Vector> ResourceImporterScene::get_collision_shapes(const Ref capsule.instantiate(); if (p_options.has(SNAME("primitive/height"))) { capsule->set_height(p_options[SNAME("primitive/height")].operator float() * p_applied_root_scale); + } else { + capsule->set_height(1.0f * p_applied_root_scale); } if (p_options.has(SNAME("primitive/radius"))) { capsule->set_radius(p_options[SNAME("primitive/radius")].operator float() * p_applied_root_scale); + } else { + capsule->set_radius(1.0f * p_applied_root_scale); } Vector> shapes; -- cgit v1.2.3