Outliner & objects/collections visibility paper cuts

This started with the GSOC 2019 Outliner suggestion, opened a bug report, and want to continue the discussion further as outliner collection and objects visibility doesn’t work as expected

Problem

Collections visibility

Sublayers do not remember their on/off state when a parent layer is turned off and then back on. Once the parent layer is on, all sublayers are turned on as well. Instead, the sublayers should remember their state irrelevant of whether the parent layer is on or off.

Exact steps for others to reproduce the error

  • Create a collection
  • Create a number of sub-collections
  • Turn some sub-collections off
  • Turn off parent collection
  • Turn the parent collection back on
  • All the sub-collections are now on, instead of remembering their previous on/off state

Objects visibility

Similarly, when turning collections on and off, the hidden-in-viewport property gets reset, meaning that if a collection is turned off, and then turned back on, all objects that were set to hidden are now showing in the viewport

Solutions

Layers and sublayers should their stat.

Also, hidden-in-viewport properties for layers/objects should remember their state as they seem to do for whether objects get rendered or not.

A possible way to solve these issues is to create a state to remember the settings prior to executing the operators to turn on/off and show/hide

  1. turn off main layer
  2. sub-layers get all switched on
  3. turn on sublayer
  4. turn on main layer
  5. sublayers and/or hidden/visible objects recall initial state prior to step 1
7 Likes

Just to make sure, I am not going crazy, I’ve re-tested this behavior with 2.79 and, as expected if objects are hidden on a layer in 2.79, and the lsyer is turned off and then turned back on, the objects remain hidden in the viewport.

Fixing this is critical, otherwise it’s impossible to work with complex models. with multiple collections.

Added another bug report

1 Like

Well, it seems to be global Collection system design issue.
It is too easy to lose current scene setup.

1 Like

Another paper cut in the most recent 2.81 versions - a duplicated object with a .000 appears on top of the original plane eg:

plane.001
plane.002
plane

instead of:
plane
plane.001
plane.002

4 Likes

I think it will be better to call everything with their full names.
Because you can turn collection “off” in 3 ways - EC, VV, DV

Indeed, collection management system is quite messy

1 Like

Yes this messiness becomes very relevant when I teach new colleagues how to use Blender.

UI Team. It was suggested that we chat in here regarding some UI challenges related to resetting the sub-collections on-off status if a collection with multiple sub-collections is turned off and then back on. There is a related bug report that has been struck off (https://developer.blender.org/T69812) However, I along quite a few others feels that this feature should really be addressed to work like one would expect it to work, where turning a collection restores all the on-off states as they were before for sub-collections instead of turning all the sub-collections on.

@julianeisel @billrey @ideasman42 @pablovazquez @brecht

1 Like

I would like to. Now a lot does not work as needed. For example, Ctrl + G does not create a collection. No button confirmation. Delete key does not delete objects in the collection, although it works in 3D viewport. Much done to be done through the context menu, and not through hot keys.

I also support this topic. Resetting collection states every time a collection is turned off and on is very annoying. It costs a lot time to set back everything every time, if I even remember how they were before. And it regularly introduces errors into my projects, which I sometimes only notice after a long final render. There is no way this is not a bug.
This is one of those issues where I really wished I could code…

Besides this one problem, the whole collection system really is messy as [1D_Inc] says. (EDIT: what I mean is collections are great, much better than the old layers. What is messy is the way the different collection visibility types are managed.)
We don’t have to reinvent the wheel here. How do other software packages work in this respect?

1 Like

What’s quite interesting is opening a pre 2.8 file without loading the UI in 2.8+. Layers/collections are invisible but one would have no idea how to make them visible because the DV as per @1D_Inc’s diagram is not enabled by default.

I can imagine a beginner opening such a file and quickly giving up on Blender.

1 Like

No. They are completely different types of systems.

  • Collections system is intended for handling a static context - it is needed for complex scenes setup.
  • Layers/QCD (Quick content display system) - for dynamic one - it is needed for quick layered access in complex constructive multirefrenced modeling.
    So, they cannot be compared.

If you played modern games, like Fallout 4, Far Cry or Dying Light, the inventory there works like a Collection system, and the Weapon selector - like Layers/QCD system.

You can’t say that weapon selector is better than inventory, or inventory better than weapon selector - they are different content management systems that behaves differently, and are needed for different purposes.

This way, comparing Collections and QCD systems is like comparing how much animation in Dope Sheet is better than in NLA editor.


In terms of production processes any content management system is characterized at least by two parameters - flexibility of possibilities and efficiency of management of these possibilities.

Layers/QCD system’s goal is speed of combinational access.
It has got one of the best realization of dynamic context management system in modern CG, even modern games takes that concept, it has got the best realization in comparison with other software.

Collections system’s goal is capacity.
It have to be checked by the laws of static context management system, and it have a lot of issues to fix to became a good static content management system, as it have low efficiency of management of its possibilities, in comparison with other similar systems in other software.

Previously, Blender had only the Layers / QCD system, as in Crysis. Now it has the inventory and some chunks of QCD. The problem of 2.79 is not that there are Layers, but that there are only Layers.

Yes, it is known issue, so it would be nice to have all DV enabled by default for files like that.