Fix "Convert to MeshLibrary" not respecting collision transforms

This commit is contained in:
Ricardo Buring 2022-01-18 16:30:41 +01:00
parent fd5fb7d64a
commit 025d7b9332

View File

@ -136,9 +136,11 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library,
continue; continue;
} }
//Transform3D shape_transform = sb->shape_owner_get_transform(E); Transform3D shape_transform;
if (p_apply_xforms) {
//shape_transform.set_origin(shape_transform.get_origin() - phys_offset); shape_transform = mi->get_transform();
}
shape_transform *= sb->get_transform() * sb->shape_owner_get_transform(E);
for (int k = 0; k < sb->shape_owner_get_shape_count(E); k++) { for (int k = 0; k < sb->shape_owner_get_shape_count(E); k++) {
Ref<Shape3D> collision = sb->shape_owner_get_shape(E, k); Ref<Shape3D> collision = sb->shape_owner_get_shape(E, k);
@ -147,7 +149,7 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library,
} }
MeshLibrary::ShapeData shape_data; MeshLibrary::ShapeData shape_data;
shape_data.shape = collision; shape_data.shape = collision;
shape_data.local_transform = sb->get_transform() * sb->shape_owner_get_transform(E); shape_data.local_transform = shape_transform;
collisions.push_back(shape_data); collisions.push_back(shape_data);
} }
} }