5
$\begingroup$

There is an object shared between Blender scenes. So the same object appears more than one scenes (see below).
Is there a way to unlink the object from a specific scene? In my case I would like to remove the Cube.001 from Scene.001.

enter image description here

There is Make Links - Object To Scene command and we can use it to add objects to another scene (see below). So I search for kind of an opposite action.

enter image description here

$\endgroup$

4 Answers 4

2
$\begingroup$

While the active scene is Scene.001 select Cube.001 and press X. You can also right-click RMB on the object in the outliner and choose Delete.

Deleting an object only applies to the current scene, any other "copies" in other scenes will still remain there.

You can link the object back to Scene.001 by selecting it in Scene and pressing ⎈ CtrlL->Objects to Scene->Scene.001

You can also remove the object using python, you can type the following into blender's python console or paste it into blender's text editor and click run script. Changing unlink to link will let you replace the object back into Scene.001.

bpy.data.scenes['Scene.001'].objects.unlink(bpy.data.objects['Cube.001'])
$\endgroup$
4
  • 2
    $\begingroup$ blender 2.8. both objects from scene A and B deleted when delete object in scene A. $\endgroup$
    – Albert
    Commented Mar 14, 2020 at 12:13
  • $\begingroup$ @Albert looking at 2.80,2.81,2.82 and a recent daily build I don't see that happening. Are you sure you are deleting the object? If you link a collection into a second scene and then delete the object from the collection in the first scene it will disappear from both scenes. $\endgroup$
    – sambler
    Commented Mar 20, 2020 at 7:38
  • 1
    $\begingroup$ @sambler I'm having the same issue in a new 2.90.1 scene. I added my solution to this as an answer. $\endgroup$
    – DAG
    Commented Jun 10, 2021 at 19:22
  • 1
    $\begingroup$ @DAG When you create a new scene, you get some options, creating a linked scene produces the effect described. That is each linked scene uses the same object lists, so deleting in one also deletes in each linked scene. If you create a new scene or a full copy this does not happen. $\endgroup$
    – sambler
    Commented Jun 11, 2021 at 6:09
2
$\begingroup$

You can simply delete the object, however per sambler's comment, linked scenes will delete the object from all scenes, thus:

On the scene and object to remove, do Relations > Make Single User > Object. Once this is done you can safely delete the object.

enter image description here

$\endgroup$
1
  • $\begingroup$ This is not working in 2.93(.5). Consider: New Blender File -> New Scene > "Linked Copy" -> Select Default Cube -> "Object" menu > "Relations" > "Make Single User" > "Object" -> Delete object (hitting "X" key -> "Delete") -> Switch to first Scene. Expected: The default cube is still in this scene. Observed: The default cube is no longer in this scene. $\endgroup$
    – sgbrown
    Commented Nov 10, 2021 at 0:49
1
$\begingroup$

These observations apply to version 4.0.2

It depends on how it ended up being linked to the scene.

If it's not part of a collection that was also linked ( e.g. if it was individually spawned from another scene by Object > Link/Transfer > Link Object to scene). Then make single user and delete as explained in replies above or use Right Click and Unlink from the Outliner.

However if it is part of a collection (other than the Scene Collection) that was also linked (e.g. new scene created by New Scene > Linked Copy or via direct linking of a collection to the scene then it's more complicated since the object is also part of a linked collection and altering the object alters the collection which is shared across scenes.

In that case unlink the entire collection from scene2, go back to scene1 and add/link whatever objects you need individually. Otherwise deleting or unlinking seems to delete the object from all scenes.

Best is to switch the outliner to Scene view and see how objects and collections are linked.

$\endgroup$
-5
$\begingroup$

bpy.data.objects.remove(bpy.context.scene.objects[id], do_unlink = True)

$\endgroup$
4
  • 7
    $\begingroup$ Could you elaborate more on this? How to use it, where to paste it? It could not be so clear for everybody. $\endgroup$
    – cgslav
    Commented Feb 25, 2017 at 22:16
  • $\begingroup$ As far as I understood, you need to do that in Python, right? If so, place it at the point where you need it removed. Replace id with some identifier to actually get the object. If you need to do that manually, just delete button should work, doesn't it? $\endgroup$
    – D. Skarn
    Commented Feb 25, 2017 at 23:41
  • $\begingroup$ I'm not OP of this question. Please add more information with Edit option. $\endgroup$
    – cgslav
    Commented Feb 25, 2017 at 23:43
  • 1
    $\begingroup$ This will remove the object from every scene - the question specifically wants to delete it from only one scene. $\endgroup$
    – sambler
    Commented Feb 26, 2017 at 5:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .