Collections Proposal #54775

Closed
opened 2018-04-23 17:59:50 +02:00 by William Reynish · 8 comments

Collections Proposal

Separating Scene Graph from Collections view.

One of the main confusing things, is that we are currently mixing Scene Graph (Parent/Child relationships) with Layers/Collections. This makes it seem as if all children of objects in a collection is also inside that same collection, even if that's not the case. The two views are entirely different, and we should reflect that in the UI.

In the Outliner, we will have one view called Collections, and another called Scenes:

  • 'Collections' shows a list of Collections inside the current View Layer
  • 'Scenes' shows a list of all the Scenes with the scene graph inside each.

Overrides
Overrides are stored in the View Layer. For this reason, we will move overrides to the View Layers Properties section. This way, we can make it so all Collections are always displayed under the Master Collection in the Outliner. We never want to see Collections hanging out independently, which caused lots of confusion.

In the View Layer properties, we have a list of View Layers. each of these allows you to create a list of override sets. These include a list of affected Collections as well as the properties themselves that get affected by the override.

Accessing Collections from the 3D View
We would like to keep a way to access the collections from the 3D view, just as you can in Blender 2.79. It's useful when the Outliner is not visible, and when working in full screen mode. However, the old 'dot bucket list' interface does not map at all well to the concept of nested collections, so we really don't want to use the old interface here. It will only make users confused and have to think about several mental models all at the same time.

Instead, we will create a mini-Outliner view in the N-key area, where users get a list of nested Collections, and a quick way to show/hide items inside it. Later on, we could also support renaming and adding new collections here.

List of UI tweaks that would make working with Collections easier

  • There's no way to move a collection back to the top level once you've nested it.
  • New Collections should always be added to the Master Collection, so objects don't immediately disappear when adding them to new Collections
  • We will do away with the 'Collection linking' concept. If Collections are always added to the Master Collection, we won't need it.
  • Filtering we can handle better in a popover. The infinite list of mini-icons is not clear and not fun to scroll through
  • Adding new Collections should be super easy. We will add a clear button to add new ones

This document reflects the current state of the Collections design

## Collections Proposal **Separating Scene Graph from Collections view.** One of the main confusing things, is that we are currently mixing Scene Graph (Parent/Child relationships) with Layers/Collections. This makes it seem as if all children of objects in a collection is also inside that same collection, even if that's not the case. The two views are entirely different, and we should reflect that in the UI. In the Outliner, we will have one view called Collections, and another called Scenes: - 'Collections' shows a list of Collections inside the current View Layer - 'Scenes' shows a list of all the Scenes with the scene graph inside each. **Overrides** Overrides are stored in the View Layer. For this reason, we will move overrides to the View Layers Properties section. This way, we can make it so all Collections are always displayed under the Master Collection in the Outliner. We never want to see Collections hanging out independently, which caused lots of confusion. In the View Layer properties, we have a list of View Layers. each of these allows you to create a list of override sets. These include a list of affected Collections as well as the properties themselves that get affected by the override. **Accessing Collections from the 3D View** We would like to keep a way to access the collections from the 3D view, just as you can in Blender 2.79. It's useful when the Outliner is not visible, and when working in full screen mode. However, the old 'dot bucket list' interface does not map at all well to the concept of nested collections, so we really don't want to use the old interface here. It will only make users confused and have to think about several mental models all at the same time. Instead, we will create a mini-Outliner view in the N-key area, where users get a list of nested Collections, and a quick way to show/hide items inside it. Later on, we *could* also support renaming and adding new collections here. **List of UI tweaks that would make working with Collections easier** - There's no way to move a collection back to the top level once you've nested it. - New Collections should always be added to the Master Collection, so objects don't immediately disappear when adding them to new Collections - We will do away with the 'Collection linking' concept. If Collections are always added to the Master Collection, we won't need it. - Filtering we can handle better in a popover. The infinite list of mini-icons is not clear and not fun to scroll through - Adding new Collections should be super easy. We will add a clear button to add new ones ---- *This document reflects the current state of the Collections design*
William Reynish self-assigned this 2018-04-23 17:59:50 +02:00

Added subscribers: @WilliamReynish, @brecht

Added subscribers: @WilliamReynish, @brecht

Added subscriber: @ErickNyanduKabongo

Added subscriber: @ErickNyanduKabongo

New Collections should always be added to the Master Collection, so objects don't immediately disappear when adding them to new Collections

This makes me wonder why Workspace RenderLayer is the default and not Viewport workspace? I asking because i believe everyone will like to understand what is going in the background, it is not a problem if something disappears as long as you know where to find it.

Let's say Viewport workspace is default workspace when starting Blender, when user adds an new object to a collection, the object gets highlighted and if the collection is closed or nested, it gets collapsed and user can see the newly added object. Note that objects are not disappearing when Viewport is the visible workspace because here Master collection is already visible.

I have been toying with blender 2.8 collection and sometimes it is pretty fast to create a new collection to already created collection and add an object there. No need to create first in the Master collection and then start to move collection over the place.

> New Collections should always be added to the Master Collection, so objects don't immediately disappear when adding them to new Collections This makes me wonder why Workspace RenderLayer is the default and not Viewport workspace? I asking because i believe everyone will like to understand what is going in the background, it is not a problem if something disappears as long as you know where to find it. Let's say Viewport workspace is default workspace when starting Blender, when user adds an new object to a collection, the object gets highlighted and if the collection is closed or nested, it gets collapsed and user can see the newly added object. Note that objects are not disappearing when Viewport is the visible workspace because here Master collection is already visible. I have been toying with blender 2.8 collection and sometimes it is pretty fast to create a new collection to already created collection and add an object there. No need to create first in the Master collection and then start to move collection over the place.

Yes, Viewport should be the default active view layer in the workspaces if we are creating it by default and suggesting users to work within it.

Yes, Viewport should be the default active view layer in the workspaces if we are creating it by default and suggesting users to work within it.
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

Huuuuge thumbs up for the general proposal! I've been very worried about the complexity of the new layer/collection system; this addresses my concerns just fine and is in fact quite similar to what I had in mind.
No more linking, instead you define you're hierarchy once and define a sub-set of it for each layer -- so much yes!

I notice one point though: Why having a master collection rather than a master view-layer? It would behave just like the master collection, you organize all your objects in it and it would be the base of all other layers. View-layers are already a higher-level concept than collections, it feels a bit unintuitive to squeeze another level in-between those two.

Huuuuge thumbs up for the general proposal! I've been very worried about the complexity of the new layer/collection system; this addresses my concerns just fine and is in fact quite similar to what I had in mind. No more linking, instead you define you're hierarchy once and define a sub-set of it for each layer -- so much yes! I notice one point though: Why having a master collection rather than a master view-layer? It would behave just like the master collection, you organize all your objects in it and it would be the base of all other layers. View-layers are already a higher-level concept than collections, it feels a bit unintuitive to squeeze another level in-between those two.

@JulianEisel, I think the scene is the "master view-layer", and the view layers are different "views" of the scene. The scene has a collections and (render) settings that you can override in the view layer. We will be hiding the term "Master Collection" from the UI, there will just be "Collections" in the scene.

@JulianEisel, I think the scene is the "master view-layer", and the view layers are different "views" of the scene. The scene has a collections and (render) settings that you can override in the view layer. We will be hiding the term "Master Collection" from the UI, there will just be "Collections" in the scene.

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
5 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#54775
No description provided.