Simple idea for "groups" in Blender - "Collection Selection Locking"

Yep, I know there’s addon that creates gropus in separate scene.
Yes, you can add shortcut for example, double click on object select whole collection.
But there’s always problem for selecting multiple “groups”, it is just a little bit a clunky solution.

But what do you say about a simple idea, new restriction toggle called “Collection Selection Locking” (or whatever else that would fit better)?

locking-selection-collection

Behaviour:
A) Unlocked Collection Selection

  • Same as always, also default value

B) Locked Collection Selection:

  • If we select any object within collection, it should select whole collection
  • Entire collection should be treated like an one object, including snapping, editing etc. so if we enter edit mode - it should edit all objects in collection; if there are others objects like light, we can’t edit it (or we can, it depends what community would want in those situations as default behaviour), similar when we select meshes and lights, and one of the light is active, we can’t enter edit mode
  • If we want select specific object in locked collection, using Alt + Click should be enough for it
2 Likes

One object can exist in infinite different collections.

What happens if I select an object that is in 11 collections?

2 Likes

Thanks for pointing it out, I forgot about linking. I guess it should be the same case as other restriction toggles - e.g. if you put holdout only on one collection with object that is linked in the 3 collections, object is treated as holdout, despite that other two layers doesn’t have ticked holdout restriction.
Likewise, if we have this cube linked in 3 layers, but only one has “locked selection”, so when we click on this cube, it’s still a part of “group” of first, “locked” layer.

We need a totally separate implementation of “groups” that does not try to involve or repurpose collections.

3 Likes

I’m waiting for implementation of groups for about 8 years or more, so I would more like any feature than nothing/waiting forever. Also my propose would be many times easier to implement than making completely new, more complicated feature, I guess?
Moreover, I don’t see any signs from devs for implementing this, nor any discussion.

1 Like

There’s discussion on Dev talk and rightclickselect

A possible workaround would be to allow command/control-clicking a collection to select its objects. If this command works on a selection of more than 1 collections, it works without introducing a new paradigm. Right click select objects works for 1 collection only in 3.6, unless you use this workaround.

You’ll get confused, then you’ll get angry.

Or maybe it’s the other way around? Either way, something’s gotta give…
I am certainly confused and angry about this whole issue.
Collections, linking, instances, references, groups - its all a giant mess that needs cleaning, but the rot sits deep…

1 Like

If you select all objects in a collection and move them you will be changing the coordinates of every object. With actual groups you only move the group parent and the coordinates of everything else stays the same.

Collections were never groups. They were layers. I think maybe the confusion happened because they initially said they replaced groups?

I don’t remember.

The best way currently to set up a transform Group is to use a null object.

But if you group things across collections then it can cause confusion in Outliner.

The best practice is to manage your groups and layers so they don’t cross pollinate.

I find the cleanest way to manage layers and groups is to think of layers as organizational folders within which groups of objects, hierarchies and sub layers live that you don’t want cluttering up or being confused with other layers.

Then organize based on group instancing needs or linking needs.

And as far as I know that is all groups are in Maya from inception until about 2012 when I stopped using Maya. To select a group in maya you had to find the group parent in the outliner and click it. If you selected an object in the scene you had to press a keyboard shortcut to select its parent to get the group. Just like in Blender. Biggest difference is CTRL+G created the NULL/EMPTY object and make it the parent by default. In Blender I had to find an addon that could create the relationship and manually change the shortcutf or CTRL+G.

I’ve seen old 2.79 files where one layer contained only the “parent” objects. So when the artist wanted to move a group, they would enable visibility of that layer to select the group parent.

In maya you have both an outliner showing only parenting heirarchy of the 3d scene and a “layers” panel that was more about visual heirarchy/holdouts/render layer also maybe.

To achieve the same thing with Blender I open 2 or more outliners (which I don’t even think is possible in any other 3d app) and set one to not show collections, set the other to only show collections. A 3rd outliner is setup like normal. A 4th outliner only shows curves. A 5th outliner shows the whole blender file contents to make it easier to move objects between different scenes. A 2nd main window shows a 2nd scene where I store reusable assets that get instanced to the first scene.

That’s the impression I got, when reading the older blog-type postings on the matter. I also felt like the person typing it (and perhaps coding it?) lacked an awareness of how grouping is done in other software.

It’s like telling me you’re getting rid of spoons, and have replaced it with a new butter knife feature. Meanwhile the rest of the world is using a flamethrower.

2 Likes

One question: What kind of barbeque is it, you’re hosting?

3 Likes

I think they just gave a better name and ui access to an existing feature… and then piled some additional features on top of it without actual user testing it thoroughly. I honestly think some of the people working to expose the feature in the UI were not fully aware of all the features. Listening to Pablo on blender today years ago talk about how groups should probably be built on top of collections made me think he’s barely used them himself.

Sigh … re-invent and re-imagine a concept that doesn’t need to be.

Collections are a fine enough thing (I guess.). Grouping isn’t the same thing. Instancing a group, isn’t the same thing. Adding grouping on top of not the same thing is just bad idea.

It does sound like the two features were kind of mashed. Thinking back on it. Because Group instance was replaced with Collection Instance.

The one advantage here perhaps is that you can instance anything without it being in a transform group. As long as you put it in a collection.

Over the years now I have settled into a workflow with collections.

It took me a while to get used to how it works best.

And for me now it is just keeping all hierarchies under one collection.

Don’t spread hierarchies across collections and don’t put objects in more than one collection.

I think of them more like organizational folders that I want to keep things in to have a cleaner outliner and aid in instances snd linking.

So parent to a null? That’s how C4D did “grouping” when I last used it. I have a “parent to empty” addon to calculate the center of your selection, place a null there and parent your selection tot the null. I use it all the time for large scenes where collections handle my visibility and parent nulls move groups of objects.

I think I might have commented about it before somewhere else.

Empties should be the most logical way to group since the already support constraints, just need to add support for modifiers, but there are couple of issues that from my point of view should be addressed first.

First is how hierarchies are handle, for collections you just drag and drop objects, for empties you have to hold shift to do the same, that has to be remove.

Second (I know is coming for the next version but I’m still not happy), hierarchy selection is not automatic, either you have to open menu and select hierarchy or double click on the empty icon… it should be automatic as groups are handle in Kirta or Gimp (I just install them to be sure) where you select the group parent to copy and when you paste it somewhere else, the children come along. Actually, in gimp you drag and drop the group to another document, but the bottom line is that even in those software the children will always come along, no need to do a select children operation separately for it.

I think of them more like database queries or a tag system that I use to help me find many related objects. But many objects can be related to each other in many different ways, thus I use many objects in many collections.

For example: all lights, all emissive objects, all christmas lights, all blue christmas lights, all christmas lights on house #1, all christmas lights on house #2, all lights on house #1, all lights on house #2, all emissive objects on house #1, all emissive objects on house #2, all trees, all trees in back yards, all trees in front yards, all evergreen trees, all in-door christmas trees, all christmas lights on outdoor trees, all christmas lights on indoor trees, etc

falls perfectly in line with my advice to open 2 outliners and mimic Maya. One only showing object heirarchy and another only showing collections. Also the advice I saw an in old 2.79 file from blendswap where all parent nulls were in their own collection to make it easier to find and select them.

This sort of misrepresents how C4D actually does this, from the result it gives the user.

In C4D (and I believe possibly Maya), it’s done in such a way that the full hierarchy is taken into account, and this full hierarchy is the group. You don’t have to create a null and drag things into it. Anything can be the parent. Anything can be a child of the parent - a mesh, a light, whatever.

You can have parent/child/child/grandchild (similar to standard OS folder hierarchy structure), and all the kids are now grouped to the parent. A big difference of this, compared to Blender, is that when instancing the Parent - the entire family is taken into account and also instanced. Further, parent/child PRS is maintained within.

(For exampme - in blender, instancing a ‘top level’ mesh object ignores all the children. You only get a copy of the parent, and none of the children.)

You can certainly choose to make a null the parent, if you wish, but it isn’t required.

It also goes beyond just instancing, of course. It’s hell convenient to just drag an entire structure as a group without dealing with extra nulls or delta offsets.

3 Likes