Objects do not retain View State when turning Collections Off then back On #87111

Open
opened 2021-04-01 10:47:49 +02:00 by rohan stevenson · 32 comments

System Information
Operating system: Linux-5.8.0-48-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: GeForce RTX 3070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.39

Blender Version
Broken: version: 2.92.0, branch: master, commit date: 2021-02-24 16:25, hash: 02948a2cab
Worked: (newest version of Blender that worked as expected)

Short description of error
If an object has been hidden within a collection, after turning the collection off and then back on the object becomes visible again. It's "hidden" state is not retained.

Exact steps for others to reproduce the error

  • Drag the cube into a new collection
  • Disable Hide in viewport (eye button) option for cube
  • Disable Exclude from view layer option (checkbox) for collection.
  • Enable checkbox, now cube is visible (it should not)

Result = the cube is visible, it should remain hidden.

N.B. This does not affect whether the cube is hidden from renders - the render view state is retained.

**System Information** Operating system: Linux-5.8.0-48-generic-x86_64-with-debian-bullseye-sid 64 Bits Graphics card: GeForce RTX 3070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.39 **Blender Version** Broken: version: 2.92.0, branch: master, commit date: 2021-02-24 16:25, hash: `02948a2cab` Worked: (newest version of Blender that worked as expected) **Short description of error** If an object has been hidden within a collection, after turning the collection off and then back on the object becomes visible again. It's "hidden" state is not retained. **Exact steps for others to reproduce the error** - Drag the cube into a new collection - Disable `Hide in viewport (eye button)` option for cube - Disable `Exclude from view layer option (checkbox)` for collection. - Enable checkbox, now cube is visible (it should not) Result = the cube is visible, it should remain hidden. N.B. This does not affect whether the cube is hidden from renders - the render view state is retained.

Added subscriber: @rohan.stevenson

Added subscriber: @rohan.stevenson

#93527 was marked as duplicate of this issue

#93527 was marked as duplicate of this issue

#92487 was marked as duplicate of this issue

#92487 was marked as duplicate of this issue

#87604 was marked as duplicate of this issue

#87604 was marked as duplicate of this issue

Added subscriber: @APEC

Added subscriber: @APEC

But if hide/unhide collection with eye icon it remain hidden objects in collection.

I also don't like behavior when off/on collection/s but it can be intended.

But if hide/unhide collection with eye icon it remain hidden objects in collection. I also don't like behavior when off/on collection/s but it can be intended.

But if hide/unhide collection with eye icon it remain hidden objects in collection.

I also don't like behavior when off/on collection/s but it can be intended.

Hi, I am not sure what you mean.

If I have a collection with some objects hidden within it, then that state should be remembered when I turn the collection on and off. Otherwise how will you keep track of all the objects you may wish to hide from a collection?

Or are you saying that this does not happen for you?

This issue occurs for me on all my systems - Mac, Windows, Linux. 2.92. I have not checked if it is a regression.

> But if hide/unhide collection with eye icon it remain hidden objects in collection. > > I also don't like behavior when off/on collection/s but it can be intended. Hi, I am not sure what you mean. If I have a collection with some objects hidden within it, then that state should be remembered when I turn the collection on and off. Otherwise how will you keep track of all the objects you may wish to hide from a collection? Or are you saying that this does not happen for you? This issue occurs for me on all my systems - Mac, Windows, Linux. 2.92. I have not checked if it is a regression.

I wanted to say that if I hide some objects in the Collection (eye icon inactive) and then hide this Collection (eye icon inactive),
it remember hidden state after unhide Collection (eye icon active),
but if you disable Collection withing checkbox, it remember only visibility in render (camera icon) and in viewport (tv icon), eye icon always be visible after activating collection,
it also happen if you hide some objects (eye icon inactive) and then unhide all objects with Alt+H hotkey, it unhide all objects even if collection was hidden (eye icon inactive).

Hope you understand me. So the proper way (in Blender, just deal with it) to hide objects it's disable it visibility from Render and Viewport...

I wanted to say that if I hide some objects in the Collection (eye icon inactive) and then hide this Collection (eye icon inactive), it remember hidden state after unhide Collection (eye icon active), but if you disable Collection withing checkbox, it remember only visibility in render (camera icon) and in viewport (tv icon), eye icon always be visible after activating collection, it also happen if you hide some objects (eye icon inactive) and then unhide all objects with Alt+H hotkey, it unhide all objects even if collection was hidden (eye icon inactive). Hope you understand me. So the proper way (in Blender, just deal with it) to hide objects it's disable it visibility from Render and Viewport...
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

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

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

I can see the behavior.
More precisely step would be :

  • Drag cube in new collection
  • Disable Hide in viewport (eye button) for cube
  • Disable Exclude from view layer option (checkbox) for collection.
  • Enable checkbox now, cube is visible (it should not)

Guess it is unintentional behavior, Confirming the bug.

I can see the behavior. More precisely step would be : - Drag cube in new collection - Disable `Hide in viewport (eye button)` for cube - Disable `Exclude from view layer option (checkbox)` for collection. - Enable checkbox now, cube is visible (it should not) Guess it is unintentional behavior, Confirming the bug.

Added subscriber: @Varyag

Added subscriber: @Varyag

In #87111#1147594, @PratikPB2123 wrote:

  • Enable checkbox now, cube is visible (it should not)

Yes, same behavior.

> In #87111#1147594, @PratikPB2123 wrote: > - Enable checkbox now, cube is visible (it should not) Yes, same behavior.
Member

Not so familiar with User interface module code, Guess something wrong here in this function {https://developer.blender.org/diffusion/B/browse/master/source/blender/blenkernel/intern/layer.c$1443}
Because tis function only stores previous state of child collection and not child objects

Not so familiar with User interface module code, Guess something wrong here in this function {https://developer.blender.org/diffusion/B/browse/master/source/blender/blenkernel/intern/layer.c$1443} Because tis function only stores previous state of child collection and not child objects
Member

@Varyag, Thanks for testing.

@Varyag, Thanks for testing.
Member

Added subscribers: @SebBlender, @Calra

Added subscribers: @SebBlender, @Calra
Member

Added subscriber: @Imaginer

Added subscriber: @Imaginer

Added subscriber: @valera-8

Added subscriber: @valera-8
Member

Added subscriber: @kursadk

Added subscriber: @kursadk
Member

The collection View Layer visibility is more about rendering and the render passes. Toggling the View Layer state of a collection should not mess with the child item's viewport visibility. There are already other ways to disable or enable the children visibility at once, like shift clicking on the collection's viewport visibility icon.

I recommend that the title is rephrased to include the View Layer status, because this is not really turning on and off a collection, this is about disabling a collection in the current View Layer. This can be roughly called "turning a collection off", if the user has only a single View Layer.

It would be nice also if this bug has a bit of higher priority given this bug is just a production pipeline nightmare. It got me badly yesterday.

image.png

The collection View Layer visibility is more about rendering and the render passes. Toggling the View Layer state of a collection should not mess with the child item's viewport visibility. There are already other ways to disable or enable the children visibility at once, like shift clicking on the collection's viewport visibility icon. I recommend that the title is rephrased to include the View Layer status, because this is not really turning on and off a collection, this is about disabling a collection in the current View Layer. This can be roughly called "turning a collection off", if the user has only a single View Layer. It would be nice also if this bug has a bit of higher priority given this bug is just a production pipeline nightmare. It got me badly yesterday. ![image.png](https://archive.blender.org/developer/F12674507/image.png)

Added subscriber: @XenWildman

Added subscriber: @XenWildman

The default behaviour presented is through the checkbox and that does not work as expected so yeah I call this a bug. I've been reporting it since 2.8x
Subcollections tend to "forget" their status when you disable (uncheck) the parent.

The default behaviour presented is through the checkbox and that does not work as expected so yeah I call this a bug. I've been reporting it since 2.8x Subcollections tend to "forget" their status when you disable (uncheck) the parent.

Added subscriber: @thinsoldier

Added subscriber: @thinsoldier

Any chance of this being fixed this year?

Any chance of this being fixed this year?

Added subscriber: @GeorgiaPacific

Added subscriber: @GeorgiaPacific

Any chance of this being fixed in 2023?

Any chance of this being fixed in 2023?

Added subscriber: @silex

Added subscriber: @silex
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:23:32 +01:00

The bug is still present in 3.6.1, any chance for fixing this?
We use Exclude from View Layer regularly to speed up the export significantly (by temporarily excluding collections with a lot of objects)... but we are forced to always do Revert after that - to get the original Hide in the Viewport settings back. This is very irritating.
Thanks.

The bug is still present in 3.6.1, any chance for fixing this? We use Exclude from View Layer regularly to speed up the export significantly (by temporarily excluding collections with a lot of objects)... but we are forced to always do Revert after that - to get the original Hide in the Viewport settings back. This is very irritating. Thanks.

Ditto would really like to see the back of this bug.

Also it is related to a similar issue:

#110720 (comment)

It really limits collections usefulness for optimising scenes when rendering, whether using view layer method or multiple linked scenes for compositing.

Blender should be able to disable a collection which removes everything within it from the scene (110720) and for it to be returned to its exact state to be remembered exactly when turning it back on (87111). The collection hierarchy should be observed.

Ditto would really like to see the back of this bug. Also it is related to a similar issue: https://projects.blender.org/blender/blender/issues/110720#issuecomment-992471 It really limits collections usefulness for optimising scenes when rendering, whether using view layer method or multiple linked scenes for compositing. Blender should be able to disable a collection which removes everything within it from the scene (110720) and for it to be returned to its exact state to be remembered exactly when turning it back on (87111). The collection hierarchy should be observed.
Member

This bug really needs attention, it really cripples the workflow.

This bug really needs attention, it really cripples the workflow.

Also - the same issue with Make Instances Real on instanced collections - it makes all the items visible.

Also - the same issue with Make Instances Real on instanced collections - it makes all the items visible.

Also - the same issue with Make Instances Real on instanced collections - it makes all the items visible.

That's why Bonj and I developed Restore Collection Instances addon. Make Instances Real also destroys the collection heirarchy.

> Also - the same issue with Make Instances Real on instanced collections - it makes all the items visible. That's why Bonj and I developed Restore Collection Instances addon. Make Instances Real also destroys the collection heirarchy.
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
13 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#87111
No description provided.