Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate "Exclude MeshSwap" collection state for all view layers #170

Closed
TheDuckCow opened this issue Nov 1, 2020 · 4 comments
Closed
Labels
enhancement Feature requests or new functionality suggestions
Milestone

Comments

@TheDuckCow
Copy link
Member

TheDuckCow commented Nov 1, 2020

When creating a new Collection in blender, by default it is added as visible in all view layers (by default, there is only one view layer). This means when the Exclude Meshswap layer is added (for objects spawned via meshswap used as the source for instances), it is properly excluded or disabled in the active layer, but not all other view layers.

Alternatively, we could change to "disable in all renders", or iterate through and mark as exclude in all view layers that are present at time of pressing the operator (and only if it was just added as a collection).

@TheDuckCow TheDuckCow added the enhancement Feature requests or new functionality suggestions label Nov 1, 2020
@Kabinet0
Copy link
Contributor

Kabinet0 commented Nov 1, 2020

Just giving a heads up, You asked me to move the function, move_assets_to_excluded_layer to util.py so it can be used by both meshwap and the upcoming entity spawner. Because it defines the name of the exclude collection in the function, for both meshswap and the entity spawner, I made the collection just be called "Spawner Exclude". Is this okay, or should I make it have two different collections for the entities and meshswap blocks respectively? I am putting this in this thread because it is affecting naming of what you want to add here. Sorry if I should have put this in my pull request..

@TheDuckCow
Copy link
Member Author

That's perfect, thanks for thinking of that proactively! I think it makes a lot of sense to call it "Spawner Exclude", works with me.

@TheDuckCow TheDuckCow added this to the v3.2.4.1 milestone Nov 3, 2020
@TheDuckCow
Copy link
Member Author

Minor follow up on this issue. It seems that current behavior is that using "hide globally in viewport/render" does what is desired here, if applied at the collection level. If the exclude group is marked as to hide in one active view layer, it will update in all view layers, unlike using collection exclusion.

For this reason, I am going to switch up the logic of move_assets_to_excluded_layer to not exclude but rather be hidden. I think the word "exclude" is still fine to keep, but worth considering renaming to "Spawner Hidden". TBH I think "Spawner Excluded" is still more self-evident.

hide globally

Only drawback is it may be less obvious for a user how to view the contents of this collection (as by default, those extra columns are not made visible in the viewport). Also worth making clear that pressing "alt-h" does not unhide anything made hidden in this fashion. In either case, I would not expect the user to need to jump into this too often anyways, and more advanced users would know how.

@TheDuckCow
Copy link
Member Author

Pushed update in 5bca2dd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature requests or new functionality suggestions
Projects
None yet
Development

No branches or pull requests

2 participants