← All ideas
  • Published 5 Dec 2023

Grouping object in Blender

Blender needs a basic grouping system, badly.

How, should it work.

A basic empty where all other meshes get parented to it without the empty being visible or clickable in that sense. You click a group of meshes called group 1, under the hood it's parented to an empty, but when you click the grouped it wouldn't select the empty, it would select all the members of said group.

In essence that would be like a container + it's members


As evidenced here (how badly we need one): devtalk.blender.org/t/groups-in-blender/23292 And there are many many more discussions about this.

I find it utterly sad that this post got Archived without it driving a feature forward that is needed. I also find it absurd that such a basic feature requires arguments or a discussion for it to be a thing at all.


And my reasoning here: (and No, Collections are not the same in function)

It's very problematic having to organise object only to be hampered by Blenders lack of basic tools, and I'm not even joking when i say basic tools. Every other DCC program has a grouping function, every program that has object has a grouping system, Drawing software has grouping system, everyone, except for Blender (again).

I am honestly getting frustrated by Blender every time I open the software because it randomly always lacks something I expect the software to have only to wake up to the reality that i'ts missing because of some random nonsense. It really makes me want to quit the software within 5 minutes because it kills my workflow.

Please, anyone, or even if a Blender Developer is reading this,
P L E A S E implement this, not just for me, but for everyone that has used or will use Blender.


100%

Development Status: Open

Upvote 4 Downvote 0
Dragosh
5 Dec 2023

19 Comments

ezez

You link to some thread that is a wall of text, what should readers of your request do about that? Read it? What kind of groups are you actually looking for? Something different than Collections? Something different than empties? Something that groups object hierarchies or something else? It would be more constructive if you laid out a plan, how you see it should works exactly, instead of "Blender bad, I need a new feature" kind of request. Just saying.

4
Dragosh Author

This isn't about "Blender bad, new feature pliz". It's about having a basic tool almost every software has without needing to use some weird way to use/interact with it. Basic is the key here.

A basic empty where all other meshes get parented to it without the empty being visible or clickable in that sense. You click a group of meshes called group 1, under the hood it's parented to an empty, but when you click the grouped it wouldn't select the empty, it would select all the members of said group.

Make it a separate item in the outliner called group.

After numerous discussions about this "feature" on the official forums with good proposals and ideas or approaches only for it to be redirected to RCS because apparently here go suggestions and ideas to die a slow decaying death.

Lauloque

Have you tried collections? They do basic grouping just fine.

3
thorn

No, they don't. Which is why people keep requesting groups.

Dragosh Author

Collections and Groups opperate differently and are two separate tools even if they appear to look similar at first glance.

1
matt6

How exactly do you want to group objects that is different from how collections work?

You repeatedly say that blender doesn't have a feature without explaining in detail the feature that you're saying blender doesn't have. Too many words without actually saying anything.

1
ezez

Yeah - grouping based on empties allows to group items based on transform hierarchy - just like Maya for example. If you check their docs, doing a group there puts objects under a "transformation node". So it may look slightly different, behave and look slightly differently - but its purpose would be the same. Then on the otherhand, if OP wanted logical grouping, without transformation hierarchy relations between objects ("Drawing software has grouping system") - then collections does this and even more, as you can even include same objects in multiple Collections IIRC. He didn't either mention could his idea have something to do with grouping related to lighting or render layers.

matt6

True, I forgot about empties. OP said basic grouping and mentioned drawing software, so I was thinking that he was thinking more along the lines of basic folder type grouping, which would be collections. Now that I'm thinking about it though, groups in drawing software often have a transform which lets you transform all of the layers and subgroups so maybe they're looking for empties.

But yeah, multiple ways to group things in blender, depending on the kind of behavior you're looking for.

1
iCameiSawiBlended

Took me a while to wrap my head around Blender's Collections because of (1) the lack of a common origin, and (2) the weird instance-offset, which is declared in the collection, and applies to every instance(!!!???!!!).

But I solved all this by creating an EMPTY named 'ANCHOR ...' at the origin, putting that in the collection, and then parenting the other collection members to that. Makes moving around the collection really easy, even if you override it.

That figured out, I love collections and use them extensively esp. for instancing and hierarchical modeling, and scene organization.

thorn

Select a collection. Choose the move tool. Move and rotate the collection. Now do the same, and keyframe it.

Got it yet?

There's one example.

Dragosh Author

One mesh can be a member of multiple collections. Which is a utter pain for basic manipulation of objects.

Selecting a Collection does nothing, you have to select every member of a Collection to be then be able to manipulate it, which just puts the user at the beginning again, selecting meshes by hand.

Clicking selecting all members of a collection in the outliner is another extra step for something basic. But try to have a plethora of collections and by got pray that you didnt placed one mesh in multiple collections and then decide to move multiple collections a couple of times.

Dragosh Author

I was really to the point when i said "A basic grouping system". I have in fact used 3 words and a letter do describe it. You know you could have just asked for an additional explanation.

"A Basic Grouping System" A basic empty where all other meshes get parented to it without the empty being visible or clickable in that sense. You click a group of meshes called group 1, under the hood it's parented to an empty, but when you click the grouped it wouldn't select the empty, it would select all the members of said group.

1
josepho

New here. Somewhat new to Blender. Every now and again, I try to use Blender for architecture and I usually get so frustrated at the apparent lack of comparable features, that I give up. This has been more frequent since Blender finally gave up on right-click select dogma, which I hoped was a sign Blender would eventually adopt more conventional UI features across the board. But I should have realized calling layers Collections instead of Layers was a sign that no, this wasn't going to be the case.

Regarding groups specifically, and admittedly I do not know the full scope of Blender functionality to say with absolute certainty, but thru basic, readily apparent operation, Collections are definitely not it. The closest thing I've found is Parent-Child, but the interface for doing this is bad and inconsistent.

To wit:

  • Place the 3D cursor to your desired Group origin
  • Create Empty
  • Select all objects to Group
  • Select the Empty
  • Command-P (which may or may not parent to the last selected item as documented)

Typical Grouping:

  • Select all objects to Group
  • Invoke Group function

Sure, the latter requires similar steps as the former to more intentionally define the latter group origin, but it is functionally optional.

From a UI POV, Blender doesn't report the Group effectively to the user. If I select an object in the group in the 3D Viewport, the app only selects the object, not the group. The hit box for the Empty is terrible and showing only the Empty as selected does not intuitively convey that I am controlling the group (children) by showing them selected too. None of this is ideal in a Group feature implementation. And as far as what goes in and out of the Parent, in the Layers interface, I can't just select some object and drag it into the Parent, or grab an object in the Parent and drag it out, which might be "logical" from some software engineering perspective, but it is inconsistent with how the Layers interface works in most other cases.

And worst of all, I can't array a Parent-Child group. Or a Collection.

All of this also touches on the Component versus Instance discussion, too, I imagine, since Blender's implementation of Instances is also really bad. Now, I admit my lack of Blender experience and my architectural bias is likely clouding my impression of these features and lack thereof, but the documentation and the community (in general, not this one in particular) do not really help, and in fact seem dogmatically hostile to any implication that Blender is insufficient and stubbornly unconventional in these cases.

Now I'm off to spend a few hours reading up on the extensive history of why Groups are bad and the app already has the feature actually.

MSherak

The issue is not that Blender needs a basic grouping system, it has a grouping system. Currently it has to be done manually instead of a hotkey like other DCC's. Also I think this is where the terms Groups and Collections collide with the users coming from other DCC's.

  1. Grouping, other DCC term, is taking the selection of items and parenting them to an empty/locator in world/parent space with options of setting the pivot to origin/center and naming it.
  2. Ungrouping is taking the named empty/locator, if named, and unparenting the items attached under them and placing them back into world/parent space with the empty/locator coordinates applied as an offset.

In Blender Collections are the equivalent of Layers in other DCC's. Which are used for viewport selection , viewport visualization and rendering controls. Collections are part of the outliner along with everything else and not in a separate "LAYER" panel as in other DCC's.

For the users that want the "grouping feel" like other DCC's all that is needed is two python scripts. One that will take everything selected, parent it to an empty created at parent/world coordinates with a pivot set to center/origin and be able to name it. And another to reverse the process, which will take into account the coordinate offsets of the empty/locator in parent/world space.

From there, user's from other DCC's could assign their favorite hotkey to the scripts. I bet would bet over time the grouping complaints would slowly start fade away.

Dragosh Author

The grouping to a parent "grouping system" needs a lot more than just parenting meshes to a empty.

A Baseline good grouping system done is in sketchup: you take a bunch of objects, group them and they behave like a single object, until you ungroup them. On top of that, if you want to change the individual elements/members of the group you would double click the group and enter inside the group where you could select and manipulate any member.

Blender on the other hand: you take a bunch of objects and parent it to an empty, selecting the parent highlights the parent only without highlighting any of its children , ie. the equivalent of group members, then if you select a single child of a parent you immediately begin to manipulate said child.

So the current feedback that Blender gives the user is just pure confusion in that regard.

This is why "just a script" isn't enough, because a change to the internal code is required to change the behaviour of a parent-child system to behave closer to a group, but since that system is fine for what it is, then that means there's only one logical solution to this.

Creation of a new System called object groups, leave parent-child system as is.

Object Container/ Object Group would basically serve as a container containing members, selecting a member of a container selects the whole container, want to manipulate any of it's members ? enter the container and do anything you want to its members.

This would be efficient, clear to the user and consistent.

1
MSherak

Again, sounds like more a special mode where the software should lock up children from being editable unless the parent is double clicked. As one stated this is more of an organizational system.

But basics being the same in most 3D DCC software, each DCC does some quirks to those basics that users may or may not like. Stating Blender needs this to act like all other DCC's does not mean it is lacking. It's different and change scares humans or makes them frustrated. Again first step is not to think of collections as groups. They have no 3D representation to the program.

And the just isn't enough script could include an option to set the children selection flag to be deactivated, this way they would not be editable. Ungroup could have the option to set them back to selectable. Blender is flexible enough that with a little python code it could act like the other DCC's out there.

And FYI I was a diehard other 3D DCC user until I really sat down with Blender. Now I know better.

Lauloque

Friendly reminder that discussions about groups/collections and their features have already happened many times, proposals were made, ... Unless OP or other participants have a new thing to add to the table, I don't think it is smart to open that can of worms again if it only gets people worked up repeating the same things. We have plenty of topics about it already. Just to quote a few:

Devtalk:

BA:

RCS:

And that's just a few of them...

Dragosh Author

This is like a obvious wakeup call saying how many people want a Grouping system. In a way it tells us what users want and still do not have. A basic tool everyone uses.

Lauloque

I think we don't use "basic" the same way.