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.
19 Comments
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.
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.
Have you tried collections? They do basic grouping just fine.
No, they don't. Which is why people keep requesting groups.
Collections and Groups opperate differently and are two separate tools even if they appear to look similar at first glance.
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.
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.
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.
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.
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.
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.
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.
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:
Typical Grouping:
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.
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.
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.
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.
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.
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:
Probably the most exhaustive discussion on " hierarchical structural/navigation issues [since] Blender 2.8. "
BA:
RCS:
And that's just a few of them...
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.
I think we don't use "basic" the same way.