Ideas to improve Collections

Note: I hope this is on the right Category, just want to put this ideas here and hopefully start a conversation about them.

The Collections concept was a great addition to 2.8, a lot better than what we had in 2.79 (groups specially were kind of useless tbh), but I think there’s still a few things that could be made to make Collections even better:

  1. Give Collections their own transforms, basically, treat them as if a collection was an actual object, like a container for the objects inside it. That way we wouldn’t have to hide the original collection and add instances to manipulate it as a single group of objects.
    Having transforms for the Collections is important because users could move, rotate and scale them without affecting the local transformations of the objects inside it.

  2. Double click on an object in the 3D Viewport should select all the other objects inside the same Collection (Just like Shift+G but faster). Currently is possible to setup this short-cut on the keymap but I think it would be better to have it as default.

  3. If Collections are treated as actual objects in the scene, then it should be possible to duplicate Collections directly in the viewport. Shift+D would do a full copy of both the Collection and its objects, Alt+D would create a linked copy of everything and Shift+Alt+D would create an instance of the Collection.

  4. Include Viewport shading options for Collection color (so the color tag in the outliner would be visible in the viewport too) and Collection random color (just like with objects, but assign random colors based on collections).

  5. Allow Collection instances to have a time offset, this would be incredibly useful for motion graphics and also when you have for example a character with a run cycle and want to have several instances all playing the same loop at different offsets/speed.
    I think this one is the most outlandish (is it even possible?) of them all, but I figured it couldn’t hurt to mention it, right?

What do you guys think?

4 Likes

Ok, I’ll throw what I think about those points:

1.- I get your point, but it’s kind of difficult, I agree that having transforms in a collection could be a good thing, but at the same time collections are also layers used to show/hide things from render (and do other things) so making the collections to have transforms can make it a mess in some scenes.

Due to the mixed nature of collections (layers/groups/instances and other things) this can be a good idea, but IMO this is something that should be specifically enabled by the user for specific collections, but not something to have for all collections, it’s very dangerous and can make layered scenes to break easily and you won’t notice it until a layer holdout is 1 pixel off of it’s location due to a small translate in the collection.

2.- I don’t like this one, having a double click to interact as a selection tool, but in this case it’s a matter of opinion, nothing objective against it, just subjective.

3.- IMO Not a good idea because of what I said before, collections are not just containers, are way more things.
In case you specifically enable transforms for a collection, then it should be able to be handled like an ordinary object and have this duplication options probably, but again not as a general thing.

4.- This is a good idea, and in the original design of collections I remember they had a possible option to assign specific matcaps or colours per collection, so this is something that was more or less on the plan, not sure what happened with this.

5.- AFAIK IF they have a time offset, then for the render engine is not the same geometry, so the memory savings would be lost and would be the same as having a copy, I’m all for this, but how the render engines will interpret them, I’m not so sure.

:slight_smile:

1 Like

About 1 and 3 it makes perfect sense, I completely forgot about the use of Collections in the rendering workflow, it would be incredibly messy and error prone…
In that case, then I think a new type of object is needed, and that would be the group (as in Maya groups). No need to make big changes to Collections and it would cover the functionality that I think is missing. I mean, parenting to empties is the current alternative and it works fine but it can get messy and cumbersome sometimes too.

I’ve been trying this one for the past week and it’s really useful, and way faster than selecting an object and then hitting Shift+G to select the other objects in the same collection. But yes is completely subjective.

Yeah, more often than not I find myself trying to setup viewport colors according to collections, and there’s manual ways to do it but having such options by default in the Viewport Shading menu would be great.

I just saw this about Collection Nodes and I think it covers the use case I’d like to see pretty well
https://wiki.blender.org/wiki/Modules/Physics_Nodes/Projects/EverythingNodes/Collection_Nodes
I hope it gets implemented in some form in the future. :crossed_fingers:

1 Like
  1. I like the idea of transforms in a collection, would be easier to animate some things.
  2. The Double click functionality is an interesting proposal, more intuitive I guess.
  3. It will be essential at some point.
  4. I Agree.
  5. Oh wait, It would be like a collection modifier!? That could open a lot of possibilities.

And I just want to add another idea and is the possibility to animate the restrictions of a collection. For example, The enable/disable in viewport or in the render. (Currently to do this is by instantiating the collection)

2 Likes
  1. It’s a big improving actually. I hope importing fbx from maya without conversion from group to Empty anymore, but with group to collection. Opposite as well.
    And prefer to just adding “transform” feature to collection not adding new type of object.
    I totally agree with JuanGea’s concern that transform of collection can mess up. Still personaly I prefer just locking the transform of the collection without adding new specific option.
    As my concern, we can put object in multiple collections (for organization), which mean object can have multiple parents… sounds troubling?

  2. Aswesome idea. Double click to select all object in the same collection sounds intuitive and working well. Once “collection transform” implemented, another option can be Double click to select the collection itself which it belongs to. So that you can select and transform collection qucikly, and his all child collections will follow the transform.

1 Like

Just wanted to point out that for these 2 suggestions I found a pretty good alternative, the Machine Tools addon just brings the group functionality without having to change Collections at all, I’ve been using it for a couple of days and it’s amazing, check it out here: GitHub - machin3io/MACHIN3tools: MACHIN3tools is a free, continuously evolving collection of blender tools and pie menus in a single customizable package.

EDIT:
Funny to see that Blender Bob just released a video talking about the same :sweat_smile:

1 Like

To me one thing that can be added is “Collection Modifiers”.
A modifier that is added to all the objects inside the collection.
Example of use: Instead of using a copy Modifier to get multiple object a Lattice deformation, you automatically added to all of them if they are inside a collection. Its modifier data is linked, as you change settings in the modifier collection, the object modifier change. (You can achive this with drivers but its tedious.)
As order in modifier is important, this should be added at the end, maybe you can reorder, but not so sure.


Would not be the sweetest solution as you use it more for layering than other stuff, and maybe you want to link the modifier but having object in different collections so… kind of a different way to work.
Maybe this can be better implemented by having the modifiers as data-block, then you can select the same modifier in different objects. But I guess this will be solved when in geo nodes you have all modifiers, as you can datablock them due to add more to the layout will kill the simplicity of adding modifiers.

4 Likes

1,3. You are asking about grouping ability
Was discussed in layer maniphest.
There are problems with cumulativity.

  1. Doubleclick is the worst possible action for overloaded viewport.
    Also, check select-up addon with expanded functionality
    https://youtu.be/8GzFT8kiElw

  2. Colors display was already proposed.

  3. This will require management system.

Do you use Collection Manager addon?

I’m currently working on adaptation of BenjaminSauder SimpleLattice addon for 2.93, it can handle multiple selected objects even in Edit mode, even in different collections.
Example:

So if Benjamin accept some workaround to make it properly worked, it can be available soon.

5 Likes

The issue to me is when you don´t want to apply the lattice.
Imagine you want to fake a perspective of a house by adding a Lattice.
All the objects in the house are separated.
Then you want to change the strength on the lattice to the house, so you have to change it in all the objects.
You can copy the modifier one and over again, but that’s not so fancy :(.

this will be doable once every modifier is available in geometry nodes. There can’t be modifiers on the collections themselves, because what would happen if an object is inside of multiple collections?

Tbh I don’t really get the issues that people seem to have with collections. Imagine them as tags.
If you want a transformation hierarchy use empties.

1 Like

Yes, when object is inside of multiple collections - that’s cumulativity.

It is not a problem to imagine tags, it is a problem to use them in practice.

The need for commong groups realization still remains.

What would be the difference to empties though? I get that there should be some improvements regarding mass hiding / selecting of parented hierarchies + some default shortcut for parenting stuff to a new empty.
But I really don’t see why a new concept is needed

Are you familiar with GroupPro addon?

I really want devs to enlighten us why it is currently impossible in a blender.
More than 3 years have passed since proposal on RCS was created with more than 270 votes UP…

It can be possible

1 Like

There are 2 ways of approaching collections, the photoshop way and the unity way. In my opinion things with the unity way can get very fast very confusing especially for beginners.

However maybe one could think about making this an on off setting.

There are 2 ways of possible grouping.

  • Static context - collection can be turned to a Group in case if it is non-cumulative.
  • Dynamic context - a separate cross-hierarchical entity that groups selected objects (Common Group paradigm, like in your proposal or almost every software, except Maya).

Indeed, grouping was discussed for a long time in different treads.
They was announced as well (it was time when Ctrl+G shortcut was reserved for grouping ability)

My assumption is that such an ability was ignored during 2.8 depsgraph redesign (probably because Maya don’t have Common Groups paradigm), and it turned to be too hard to implement Groups later into resulting depsgraph realization.

1 Like