There are a few actions that we need to cover for collection editing and daily work:
- Hide/unhide collections
- Manage F12 view layer without the hassle of rendering while doing so
- Add/remove objects
- Add/remove overrides
- Edit overrides
- Add/remove collections
- Enable/disable overrides
Collection editing design
Reinforce a separation between organizing the scene, and the view layer
Organizing the scene includes:
- Move objects from/to different collections
- Create and delete collections
- Change collection hierarchy
Organizing the view layer includes:
- Link collections
- Add/remove overrides
- Collection visibility
To change the scene organization we can use:
- Shortcuts (change objects collections).
- Outliner when seeing the scene tree.
- Properties editor
- Object: collections
To change the view layer we can use:
- Shortcuts (hide/show collections)
- Viewport header (compact hide/show collections and overrides)
- Viewport properties (hide/show collections and overrides, edit overrides)
- Properties editor
- Scene: hide/show/link render (F12) view layer, add/remove/hide/edit overrides
- Workspace: add/remove/edit overrides, hide/show/selectability/link view layer
- Collection: edit overrides
To change the groups we have two ways:
- Properties editor (minimized layer/overrides visibility control in the group panel for objects)
- Outliner (visibility, hierarchy and add/remove objects and collections for groups)
Following that idea, let's dig further into scene organization.
- Outliner "Collections"
- Rename current outliner display mode from Master Collection Tree to Collections
- Auto-incremental collection names
- No more "Default Collection" or "New Collection"
- By default when adding a collection we will have a suffix based on the collection "index" in relation to its parent, and a prefix based on the parent collection name.
- For collections nested under the Master Collection we use "Collection 1", "Collection 2", ..., if one rename the last collection from "Collection 5" to "House" and add a new collection, the new collection will be "Collection 6"
- For collection nested under any other collection we use the parent collection name as prefix, so by default when adding collections to a collection named "House" we get "House 1", "House 2",
- Support non-sibling collections to share the same name
- This way we can have a Rig collection under "Boris", and "Agent" collections.
- We will need to expose the full "path" (characters ➜ Boris ➜ Rig) for tooltips or UI.
- Master Collection always expanded
- And really T53340 (collections are always collapsed) should be fixed yesterday.
- Deleting a collection moves its objects to Master Collection
- This reinforces the mental model of all the objects are in the Master Collection as presented in the View Layers and Collections document.
- We can still add an option with a shift modifier to delete a collection and not move objects to master collection
- No operator buttons there (e.g., add / remove collection)
- Menu with these operators to control collection and objects
- X: delete collection (Delete collection and move its objects to the master collection)
- C: add new nested collection
- ?: add selected objects
- ?: remove selected objects
- Re-order and moving objects and collections working via drag & drop
Move to collection: This replaces the old "move to layer" operator. This mockup is literally using menus for this. The final solution needs to let users know if a collection already contains the object (or if a nested collection from it has it). As well as supporting clicking and shift+clicking without closing the menus.
Collections: Similar to how we handle groups, we list all the collections (of the current scene) an object is linked to. That also allows for quickly remove the object from a collection. In this case, when clicking "Add to Collection" we don't use the same popup as the "Move to Collection". Instead, we use the search template.
Note: This is no longer part of the design. It will be implemented as an addon for now. But this should be solved by the outliner, via a bottom-up mode. Also this would be potentially slow on playback.
Organizing View Layers
View layers organization happens in a few places. They all share some elements in common. This example you see the workspace view layer editor which is the most complete one.
- For the render panel, we don't need to expose selectability.
- For the viewport properties area, we won't have this panel - even if initially we planned to have. The idea is to reduce redundancy. So we give users one good way of doing something, and stick to it.