diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-03-16 11:15:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-16 11:15:15 -0700 |
commit | 43f147b5aa8f064961df53b763f7b68e7524d7db (patch) | |
tree | 409e5d72a50dcc83d84a1d11fd3cf280229425c4 /editor | |
parent | 39a5bb4fbc9977fe0ee88c547d997c3acc9650cb (diff) | |
parent | 1a397a78784023971124169dda9fc6d9c222a333 (diff) |
Merge pull request #26308 from bojidar-bg/11722-meshlibrary-transforms
Consider StaticBody and NavMesh position when converting to a MeshLibrary
Diffstat (limited to 'editor')
-rw-r--r-- | editor/plugins/mesh_library_editor_plugin.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index aedac7b45d..89eb253afe 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -127,7 +127,7 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library, continue; MeshLibrary::ShapeData shape_data; shape_data.shape = collision; - shape_data.local_transform = sb->shape_owner_get_transform(E->get()); + shape_data.local_transform = sb->get_transform() * sb->shape_owner_get_transform(E->get()); collisions.push_back(shape_data); } } @@ -136,17 +136,20 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library, p_library->set_item_shapes(id, collisions); Ref<NavigationMesh> navmesh; + Transform navmesh_transform; for (int j = 0; j < mi->get_child_count(); j++) { Node *child2 = mi->get_child(j); if (!Object::cast_to<NavigationMeshInstance>(child2)) continue; NavigationMeshInstance *sb = Object::cast_to<NavigationMeshInstance>(child2); navmesh = sb->get_navigation_mesh(); + navmesh_transform = sb->get_transform(); if (!navmesh.is_null()) break; } if (!navmesh.is_null()) { p_library->set_item_navmesh(id, navmesh); + p_library->set_item_navmesh_transform(id, navmesh_transform); } } |