Delete hierarchy on a collection in outliner does not really delete objects [they stay in other collections, e.g. rigid body world] #73545
Labels
No Label
Meta
Good First Issue
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Eevee & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds, Tests & Devices
Module
Python API
Module
Rendering & Cycles
Module
Sculpt, Paint & Texture
Module
User Interface
Module
VFX & Video
Priority
High
Priority
Low
Priority
Normal
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Information from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-manual#73545
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: macOS 10.13.6
Graphics card: Intel Iris 1536 MB
Blender Version
Broken: 2.81a (2.81a 2019-12-04)
Broken: 2.83 (2.83 2020-02-02)
Short description of issue
When deleting a collection in the outliner via the Delete hierarchy right click menu option, objects that are have a rigid body settings will "stay" in the rigid body world
There seems to be no easy way to clear them afterwards (I've tried to use the purge option in the Orphan data but it doesn't do anything)
Exact steps for others to reproduce the error
From the .blend example file
in the outliner, right click on the foo collection
select "Delete hierarchy"
play the animation
the second ball will collide with the first one that was apparently deleted
physics-bug.py.blend
Added subscriber: @Sushi
I've made a script to remove the unused objects (may not be correct, but it worked in my case)
if obj.users_collection == rigid_check:
bpy.data.objects.remove(obj)
Added subscriber: @iss
Changed status from 'Needs Triage' to: 'Confirmed'
Can confirm even after making sure cache is cleared.
Added subscribers: @mont29, @lichtwerk
Not sure if this is really supposed to delete the objects entirely?
If I look at the documentation https://docs.blender.org/manual/en/dev/editors/outliner.html#collections, it suggests it would, true...:
But code wise, this only does
BKE_collection_delete
/collection_object_remove
, so it wont really delete the object if it is in another collection as well.(this not only happens with the rigidbody world collection, it is true for any other collection as well -- so if Sphere from the file would also be in another collection in the viewlayer, it would still be visible and not deleted after Delete Hierarchy on the foo collection)
If we wanted to really kill the objects, something like
object_batch_delete_hierarchy_cb
/object_delete_hierarchy_cb
would need to be used...CC @mont29
Added subscriber: @natecraddock
Delete hierarchy in outliner does not affect rigid bodyto Delete hierarchy on a collection in outliner does not really delete objects [they stay in other collections, e.g. rigid body world]Changed status from 'Confirmed' to: 'Archived'
Code is behaving as it should. Whether doc should be updated, or expected behavior should be modified, may be open for discussion (modifying that behaviour would be for #user_interface team to decide anyway, since that is UX topic). But there is no bug here. Thanks for the report anyway.
Added subscriber: @Blendify
The manual has been fixed in rBM6159
thx @Blendify