Is there a plugin that would let me "group" items in the outline like in Maya?

A while back I threw out all of my customizations and committed myself to learning “raw” Blender (with the exception of a a left click select).

So far that has been one of the best decisions I have made around using Blender. Not necessarily because its defaults are better than other packages, but because I no longer have to look very hard to learn new skills (i.e. if I research how to do something in Blender I know that what I learn will work with my vanilla setup).

Now that I am being productive with Blender in its raw state, I am looking to do some very minor customizations.

The first is that I would like to be able to quickly organize my outliner. In Maya I am used to selecting a whole bunch of items and hitting ctrl-G to parent them under an empty transform node. The items do not move in space (they maintain their transforms relative to this transform - which is at the origin).

Is there a script out there that would do something analogous in Blender? I would like to select a bunch of items, run the script, and have a new empty that lives in the same level of the hierarchy (and physically exists at the origin, not the 3D cursor), and have all of the formerly selected items as children of this item. The objects should maintain their world space location.

Any help would be greatly appreciated!

search menu, parent to empty, operator panel for options as always

Hierarchy comes from parent-child relationship. Object grouping is more abstract and works like a tag.

Edit: noticed that parent to empty comes with add mesh: extra objects addon

So I tried the search menu, but “parent to empty” is not one of my options…

I get:

Make Parent
Clear Parent
Parent Objects
Make Parent without Inverse
Set Slow Parent
Clear Slow Parent

Edit:

Reading comprehension!

You said that parent to empty comes with add mesh:extra objects addon. So I will have to install that first I think?

ctl G works pretty much exactly the same way with Blender. Except, it does not actually create an empty. But to see the results you can set your Outliner to Groups. This will show your group organization very similar - minus the transform node - to Maya. But it does create a parent in the Outliner and you can select the group as a whole as well as rename it there and turn on an off visibility of the entire group.

In general Blender groups work differently and there is an interface for them as well as more menus. As there is in Maya. But I am pretty sure the differences are fundamental after that.

Another thing that groups allow is to create a group instance. This is how you can instance geometry (other than Alt D) that actually saves ram. But it is better to think of Groups and Group Instances like Models in XSI. If you are not familiar with XSI Models, then it is basically anything you add to the Group later gets updated in an instance of that Group. I think it is probably kind of similar in Maya. I just have not used groups that much in Maya.

I use Groups a lot to build things iteratively. So that if I have instances of a group anything I add to it or change in it is updated across all of the Groups on an object level. (for example rather than the mesh level) When you have a large scene with a lot of clones this is a cool feature.

Should be part of the std 2.79 install, you just need to activate it in user preferences->addons.

Thank you. I’ll be back at it tonight so I will try that out.

Edit:

I was actually able to test it here at work. It works, kind of. If I have a number of objects and then select them and do the search: parent to empty it will indeed create an empty and parent the objects to it.

But it only works on items that are at the root level of the outliner. If I have a number of items that are no longer at the root level (i.e. already have a parent-child relationship with some other scene item) then it just creates an empty at the root level, and leaves the children untouched (i.e. not grouped together under the new empty).

This is close though… I will look at the code and see if I can modify it to behave the way I want.

Thanks for the heads up on this feature.

Thank you, that was a very helpful introduction to groups for me.

One question/issue though, the reason I am trying to group things under transform nodes is that I am exporting the geometry to an Alembic file (to be rendered in Clarisse iFX). As far as I can tell, there is no way to get this group information exported to an Alembic. I need the hierarchies so that I can transform individual aspects of the geometry together as well as to control shading. Have you ever exported the groups info into an actual transform hierarchy to be used in another package?

Alternatively I suppose I could code up my own plugin if it isn’t too hard. I am proficient in python, but have never done any scripting in Blender yet.

Thanks all. I think I am able to get it now.

I opened up the mesh:extra objects addon code and poked through it. From there, I was able to code up my own add-on that seems to do what I need. It is based on that original plugin, but does a few things differently (and as close to the process as I am used to in Maya as I can recall - it may not be exactly the same, but does what I need).

You select a bunch of items and then run the addon. A new empty will be created that lives in the same level of the hierarchy as the least nested item you have selected. Then every item you have selected will be made a child of this new empty, regardless of whether they had a parent before or not. I have taken pains to make sure that the world-space locations of these objects do not change.

I have spent all of 10 minutes testing this code, so it may break horribly. Be aware if you try to use it yourself. If I notice that it fails in some ways that I am able to fix, I will post back here. Well, I will post back in the relevant thread, not here.

My code is posted in a separate thread here:

Cool. Glad you got it sorted. I have not tried to export groups. I assume they don’t come through. Only shows hierarchy when you have Groups in the outliner. So it is a Blender-only option as far as I know.