At the Blender Animation Studio we have been working with the outliner and visibility settings of Blender 2.8 for almost a year now ... and almost every person ended up using those features in a completely different way.
With the inclusion of "disable for viewports" (screen icon), exclusion & view layers and the replacement of the old layers, the visibility system beacme more complex.
Some of these toggles are never even used, by some users they are not even understood to this day.
There should be a clear understanding on how these toggles should be used and for which context but the interface and the tooltips do a very poor job at communicating this at the moment.
The current visibility system:
This is @Dalai Felinto (dfelinto) description of the current visibility system/toggles:
So in most cases the user is supposed to use the eye icon for quick & easy hiding and the excluding to hide collections in a performance efficient way (similar to the old layers) and for render setups. These toggles are per view layer.
Disabling for the viewport/render are two toggles (screen/camera) that affect an object/collection throughout the entire file and should be used more sparingly for corner cases and linking setups.
Local view is an additional temporary visibility mode.
This needs to be as clear as possible in the UI & tooltips!
To make the excluding feature and eye toggle the obvious choices for the user they should be front & center.
- We add the exclusion as a checkmark to the interface on the left. This makes it one of the most obvious toggles to use.
- When an item is toggled off, every other toggle is greyed out to clearly show the effect on the item. The greyed out toggles can still be toggled though. The icons should not be hidden when excluded like it does right now.
- When toggling off an eye, render or selectability icon of a collection, all nested contents will have the same icon greyed out to visualise the effect of nested visibility. An exception would be if any nested object/collection is also linked to another collection and this collection does have the icon still on. Then this nested object/collection will be still visible and should not be greyed out as well. For the case that the user wants to ensure all contents (linked or not) are hidden, they can Shift click the icon instead and all nested content will be toggled off.
For now, keeping the "disabled for viewport" (screen icon) as an Alt click for the eye icon is fine. Because the screen icon is mostly used for corner cases that overrides the eye icon, this should work. It also causes less confusion since there would be 2 columns that control viewport visibility.
The tooltips for all the outliner toggles should reflect descriptions above to clear up any remaining confusion on how to use the system.
Currently the tooltips are short and just mention "disabling" and "viewports" which means very little and is confusing/misleading.
To ensure that the eye toggle is fast, easy to use and flexible, there should be a couple of changes to the behaviour.
This is a compromise between the new behaviour of D4011 and the behaviour before those changes.
- When unhiding an object that within a hidden collection, that collection will become shown as well. If there are more hidden collections in the hierarchy above then they will be toggled as well. This will make sure that when the user is toggling an eye icon on, that object/collection will be shown.
- When pressing the shortcut Alt + H, either in the viewport or the outliner, it will unhide all objects and collections. Currently the behaviour is a bit inconsistent because pressing the shortcut in the viewport will only unhide all objects but not the collections.
- Since the camera icon is very similar to the screen icon and the exclusion checkmark should be used for render setups, perhaps it's wise to remove that column as well by default? For users who use the screen/camera icons often, maybe there could be a filtering option in the outliner to add these as a columns. Then by default they could both be disabled to make the eye & checkmark the obvious choices. But the user could also specifically choose which columns get displayed instead of having one option "Show Restriction Columns" to disable eveything.
- Linked objects & collections are also greyed out. Maybe they could be slightly colored red instead to not cause confusion with nested visibility visualisation?
- Exclusion currently only works for collections. Should the checkmark be available for objects as well?
- Any linked collection does not share the eye icon state of another linked version. Linked objects on the other hand keep the state of the eye icon in sync. To keep this behaviour consistent should the eye icon be synchronised to linked collections?
- Originally I proposed to use the number keys to toggle the checkmark/exclusion instead of the eye. Does this sounds reasonable, since it seems closer to the way of toggling layers in 2.7x?
- Should we display the corresponding numbers of collections in the outliner in front of collections or somewhere else (or at all)? Since it's a feature it should be communicated somewhere.
If I forgot to add anything or you have more feedback, let me know :)