"Paste Objects" doesn't copy source objects' collection heirarchy #76246

Open
opened 2020-04-30 01:37:29 +02:00 by Carlo Andreacchio · 41 comments

Starting to switch over to Blender 2.8 / 2.9, copy pasting still isnt working as intended. Please see #58190 as a reference of the previous bug.

System Information
Operating system: Ubuntu 17.10
Graphics card: GTX 1080

Blender Version
Broken: blender2.9 55a2682348
Worked: master Oct 2018 786870e26f

Short description of error
Copy pasting between blend files, it does not honor the collection hierarchy, Previously with blender 2.7 we could disable 'Active Layer' and the objects would go to their correct respective layers from the original blend file. Now with Blender 2.8 the only option is to have the copy paste on to the active collection, ruining any sort of collection hierarchy that was previously setup.

Exact steps for others to reproduce the error

  • Open Blender 2.8
  • create a new collection called 'test'
  • move the cube into this the collection 'test'
  • copy collection 'test'
  • create new blend file
  • delete everything apart from the default collection 'Collection'
  • create new collection 'test'
  • make the active collection the default collection 'Collection'
  • Paste
  • in the 'Paste Selection from Buffer' dialogue box, disable active collection
  • notice how the cube just created a new collection altogether, rather than creating the correct collection name / merging into it.
Starting to switch over to Blender 2.8 / 2.9, copy pasting still isnt working as intended. Please see #58190 as a reference of the previous bug. System Information Operating system: Ubuntu 17.10 Graphics card: GTX 1080 Blender Version Broken: blender2.9 55a2682348 Worked: master Oct 2018 786870e26f Short description of error Copy pasting between blend files, it does not honor the collection hierarchy, Previously with blender 2.7 we could disable 'Active Layer' and the objects would go to their correct respective layers from the original blend file. Now with Blender 2.8 the only option is to have the copy paste on to the active collection, ruining any sort of collection hierarchy that was previously setup. Exact steps for others to reproduce the error - Open Blender 2.8 - create a new collection called 'test' - move the cube into this the collection 'test' - copy collection 'test' - create new blend file - delete everything apart from the default collection 'Collection' - create new collection 'test' - make the active collection the default collection 'Collection' - Paste - in the 'Paste Selection from Buffer' dialogue box, disable active collection - notice how the cube just created a new collection altogether, rather than creating the correct collection name / merging into it.

Added subscriber: @candreacchio

Added subscriber: @candreacchio

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

Hey guys, i know theres lots on, just wondering if this is being targetted for the 2.83 release or the 2.9 release?

Thanks

Carlo

Hey guys, i know theres lots on, just wondering if this is being targetted for the 2.83 release or the 2.9 release? Thanks Carlo

I guess its not on the page for 2.83 then. Can i get a confirmation that this is going to be part of 2.9?

I guess its not on the page for 2.83 then. Can i get a confirmation that this is going to be part of 2.9?

Its been a few months since there has been any update, Is this assigned to any module owner?

Carlo

Its been a few months since there has been any update, Is this assigned to any module owner? Carlo
Member

Added subscriber: @HooglyBoogly

Added subscriber: @HooglyBoogly
Member

Thanks for the report Carlo, sorry it took so long for a response.

It's too bad this functionality was lost with the transition to collections. This report verges a bit on a feature request though, since the code is working as intended. However, since it's a regression in functionality from 2.79, I'll mark it as a known issue.

It's not that the "Active Collection" toggle doesn't work, it's just that it does a different thing in 2.8, it controls putting the objects in a new collection vs the active collection.

Using "Append" from the file menu can mostly get you what you want, although of course it will append all the objects in a collection instead of just the selected objects.

Thanks for the report Carlo, sorry it took so long for a response. It's too bad this functionality was lost with the transition to collections. This report verges a bit on a feature request though, since the code is working as intended. However, since it's a regression in functionality from 2.79, I'll mark it as a known issue. It's not that the "Active Collection" toggle doesn't work, it's just that it does a different thing in 2.8, it controls putting the objects in a new collection vs the active collection. Using "Append" from the file menu can mostly get you what you want, although of course it will append all the objects in a collection instead of just the selected objects.
Hans Goudey changed title from Paste selection from buffer - Disabling 'Active Collection' doesnt work to "Paste Objects" doesn't copy source objects' collection heirarchy 2020-09-08 21:18:01 +02:00

Thanks for the update @HooglyBoogly ,

The Copy / Paste functionality is ideal for working in large scenes split up across many artists. This bug is pretty much the main reason why we have not updated to 2.8/2.9 yet.

I tried digging around in the code about 2 weeks ago and couldnt really understand how the copy buffer worked, I may just end up coding my own solution in the iterium through python.

Thanks for the confirmation though.

Thanks for the update @HooglyBoogly , The Copy / Paste functionality is ideal for working in large scenes split up across many artists. This bug is pretty much the main reason why we have not updated to 2.8/2.9 yet. I tried digging around in the code about 2 weeks ago and couldnt really understand how the copy buffer worked, I may just end up coding my own solution in the iterium through python. Thanks for the confirmation though.

Hi All,

It has been another month, any update on this bug?

Thanks

Carlo

Hi All, It has been another month, any update on this bug? Thanks Carlo

Hi all, its been another few months and just reaching out to see if there is anyone tackling this issue yet?

Thanks

Carlo

Hi all, its been another few months and just reaching out to see if there is anyone tackling this issue yet? Thanks Carlo

Hey all, just checking in, its been about 6 months since the last reply. Is anyone going to tackle this workflow issue?

Hey all, just checking in, its been about 6 months since the last reply. Is anyone going to tackle this workflow issue?

And another month has gone by without any comment. Is anyone looking into this at all? has it been put on anyones todo list?

And another month has gone by without any comment. Is anyone looking into this at all? has it been put on anyones todo list?
Member

Hi @candreacchio, anyone is free to work on this task, but just because it is in the tracker here does not mean someone will necessarily be scheduled to work on it. That's why it's classified as a "Known Issue" here.

I hope you understand there are lots of other priorities, bugs to fix, other workflows to improve, etc, and in general comments here should not be used to "bump" tasks.

Hi @candreacchio, anyone is free to work on this task, but just because it is in the tracker here does not mean someone will necessarily be scheduled to work on it. That's why it's classified as a "Known Issue" here. I hope you understand there are lots of other priorities, bugs to fix, other workflows to improve, etc, and in general comments here should not be used to "bump" tasks.

Hi @HooglyBoogly

Is it usual for To-Do's and Known Issues to sit idle for years? Is there any plan on tackling the older issues?

Thanks

Carlo

Hi @HooglyBoogly Is it usual for To-Do's and Known Issues to sit idle for years? Is there any plan on tackling the older issues? Thanks Carlo

I wonder if this is a To-Do for blender 3?

I wonder if this is a To-Do for blender 3?

Any word on if this will make it in for Blender 3?

Any word on if this will make it in for Blender 3?

Hey @HooglyBoogly , Its been nearly a year since you last responded to me, nearly 2 years since I opened this task. Is this ever going to get done? I understand that its classified as a 'Known Issue' and that it may not have anyone scheduled for it. But as it is a known issue, it should be tackled at some stage?

Thanks

Carlo

Hey @HooglyBoogly , Its been nearly a year since you last responded to me, nearly 2 years since I opened this task. Is this ever going to get done? I understand that its classified as a 'Known Issue' and that it may not have anyone scheduled for it. But as it is a known issue, it should be tackled at some stage? Thanks Carlo

Added subscriber: @Michael-Drake

Added subscriber: @Michael-Drake

Added subscriber: @LucianoMunoz

Added subscriber: @LucianoMunoz

Added subscriber: @xan2622

Added subscriber: @xan2622

Added subscriber: @Stinaus

Added subscriber: @Stinaus
Member

Adding the #Core module here, since copy and paste of objects and collections seems like it fits there-- it's not just a UI issue.

Adding the #Core module here, since copy and paste of objects and collections seems like it fits there-- it's not just a UI issue.

Added subscriber: @FinbarrORiordan

Added subscriber: @FinbarrORiordan

Added subscriber: @Dangry

Added subscriber: @Dangry

Added subscriber: @AndyCuccaro

Added subscriber: @AndyCuccaro

Added subscribers: @dfelinto, @mont29

Added subscribers: @dfelinto, @mont29

It is indeed not an UI issue, and it is not a bug either, not a regression, and not even a known issue. It's simply a consequence of the change from layers to collections/viewlayers system. Preserving 1-1 features between 2.7x and 2.8x was never an enforced goal, there were many breaking changes between those series.

Now while I can see how nice it would be to be able to preserve a collection hierarchy when copy/pasting an object, this is simply impossible with current design. Unlike layers (which where stored as part of object data), collections are completely different IDs, and view layers are stored elsewhere too (in Scene IDs). Copy paste (which relies under the hood on saving a temp blend file, and appending from it) currently has no way to provide such behavior, and implementing it would not be a simple task. We would probably need a dedicated complex operation on top of the regular copy/paste code.

From a UX perspective, there are also issues, like how to deal with an object belonging to many different collection hierarchies? Should the whole tree of those be rebuilt on paste? What if it is in several different top-level collections in the current view layer? How to deal with an already existing hierarchy of collections? etc.

Personally I would try to find another workflow, rather than trying to force a tool (copy/paste) to do what it was not designed to do.

But would also like to have @dfelinto view on this topic?

It is indeed not an UI issue, and it is not a bug either, not a regression, and not even a known issue. It's simply a consequence of the change from layers to collections/viewlayers system. Preserving 1-1 features between 2.7x and 2.8x was never an enforced goal, there were many breaking changes between those series. Now while I can see how nice it would be to be able to preserve a collection hierarchy when copy/pasting an object, this is simply impossible with current design. Unlike layers (which where stored as part of object data), collections are completely different IDs, and view layers are stored elsewhere too (in Scene IDs). Copy paste (which relies under the hood on saving a temp blend file, and appending from it) currently has no way to provide such behavior, and implementing it would not be a simple task. We would probably need a dedicated complex operation on top of the regular copy/paste code. From a UX perspective, there are also issues, like how to deal with an object belonging to many different collection hierarchies? Should the whole tree of those be rebuilt on paste? What if it is in several different top-level collections in the current view layer? How to deal with an already existing hierarchy of collections? etc. Personally I would try to find another workflow, rather than trying to force a tool (copy/paste) to do what it was not designed to do. But would also like to have @dfelinto view on this topic?

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'

Added subscriber: @brecht

Added subscriber: @brecht

Maybe @brecht sees it differently, but I don't think the old behaviour is compatible with the current collection design.

While before the layer was a property of the object itself, right now the collection is part of the scene organization, and the object is a part of it (not owning it).

I'm closing this as archived since it is not planned to be changed.

Maybe @brecht sees it differently, but I don't think the old behaviour is compatible with the current collection design. While before the layer was a property of the object itself, right now the collection is part of the scene organization, and the object is a part of it (not owning it). I'm closing this as archived since it is not planned to be changed.

Just for the records, what someone could do is to implement a Copy/Paste for full collections. But it is different than what this task was about.

Just for the records, what someone could do is to implement a Copy/Paste for full collections. But it is different than what this task was about.

@mont29 It definetly is possible as we have developed our own internal Python Scripts to essentially do what was previously done. Yes its a bit of a hacky way around it and it would be great to actually get this implemented.

I would like to disagree on whether this is a regression or not. It is a regression. It definetly effects artists workflow in a worse way. Knowing that your copy / paste is going to the same collection layouts helps keep scene organisation and limits mistakes.

@dfelinto I would like you to re-think about closing this as it definetly is a step back compared to blender 2.79.

@mont29 It definetly is possible as we have developed our own internal Python Scripts to essentially do what was previously done. Yes its a bit of a hacky way around it and it would be great to actually get this implemented. I would like to disagree on whether this is a regression or not. It is a regression. It definetly effects artists workflow in a worse way. Knowing that your copy / paste is going to the same collection layouts helps keep scene organisation and limits mistakes. @dfelinto I would like you to re-think about closing this as it definetly is a step back compared to blender 2.79.

I think it would make sense to copy over the collection hierarchy in some way, even if it's not as well defined in all cases. It just seems like the most useful behavior for users.

But it's not obvious to me what the right heuristic would be. Always copying the entire hierarchy towards the scene collection, or only a smaller subset that gets embedded in the active collection.

I think it would make sense to copy over the collection hierarchy in some way, even if it's not as well defined in all cases. It just seems like the most useful behavior for users. But it's not obvious to me what the right heuristic would be. Always copying the entire hierarchy towards the scene collection, or only a smaller subset that gets embedded in the active collection.

In hopes that this can be fixed / improved this is what my approach would be:

Sample scene structure:

Scene collection
 -- character
    -- geo
       -- "my character object"
 -- environment
    -- "my environment object"

We copy "my character object" and "my environment object"

When pasting in the same scene or other I should be able to paste it 3 ways:

1: scene collection
2: maintain collection structure
3: in active collection (being the less commonly wanted)

1: Scene Collection

will just paste all the objects in the root collection to be organized manually by the user.

  Scene collection 
  -- "my character object"
  -- "my environment object"

2: Maintain Collection Structure

If said collections don't exist it will create them.

 Scene collection 
 -- character
    -- geo
        -- "my character object"
 -- environment
    -- "my environment object"

Else

 Scene collection 
 -- character
    -- geo
       -- "other objects previously in collection"
       -- "my character object"
 -- environment
    -- "other objects previously in collection"
    -- "my environment object"

3: in active collection (being the less commonly wanted)

Do the current behaviour.

thanks !

In hopes that this can be fixed / improved this is what my approach would be: Sample scene structure: ``` Scene collection -- character -- geo -- "my character object" -- environment -- "my environment object" ``` We copy "my character object" and "my environment object" When pasting in the same scene or other I should be able to paste it 3 ways: 1: scene collection 2: maintain collection structure 3: in active collection (being the less commonly wanted) **1: Scene Collection** will just paste all the objects in the root collection to be organized manually by the user. ``` Scene collection -- "my character object" -- "my environment object" ``` **2: Maintain Collection Structure** If said collections don't exist it will create them. ``` Scene collection -- character -- geo -- "my character object" -- environment -- "my environment object" ``` Else ``` Scene collection -- character -- geo -- "other objects previously in collection" -- "my character object" -- environment -- "other objects previously in collection" -- "my environment object" ``` **3: in active collection (being the less commonly wanted)** Do the current behaviour. thanks !

@LucianoMunoz would you expect the same behaviour when appending an object as well?

@LucianoMunoz would you expect the same behaviour when appending an object as well?

Changed status from 'Archived' to: 'Needs Triage'

Changed status from 'Archived' to: 'Needs Triage'

Re-opening since we are talking about this. I still believe this should be supported on the collection level though, not on object copy/paste

Re-opening since we are talking about this. I still believe this should be supported on the collection level though, not on object copy/paste

I would, yes :)

I would, yes :)
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

In #76246#1396116, @dfelinto wrote:
Re-opening since we are talking about this.

Assume this can be in a "Confirmed" state for now then (since there is not much the #triaging team can do here)

> In #76246#1396116, @dfelinto wrote: > Re-opening since we are talking about this. Assume this can be in a "Confirmed" state for now then (since there is not much the #triaging team can do here)
Philipp Oeser removed the
Interest
Core
label 2023-02-09 14:43:14 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
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
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info 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
14 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#76246
No description provided.