Drag and Drop Parenting and Clear Parent in Outliner

Hello all!

I’m posting to announce a new feature I’ve come up with which enables drag and drop parenting for objects in the outliner. You can see how it works here:


You can get the patch here if you’re building from source.

A Win32 build has been posted on Graphicall by Demohero.

**** UPDATE ****
I’ve added the ability to clear parents with drag and drop. Some details in the video:


Note: One thing I forgot to mention in the video is that for now I’m allowing parent clearing when an object is dropped on object data tree elements (e.g. a material or texture). I’m allowing this because, for now, there is no other use for dropping objects on object data.

I’ll update the patch and link soon.

Hey… this looks great SCUEY!
I hope this gets reviewed and afterwards makes it into trunk! :slight_smile:

Great feature!

+1 on trunk!

Very interesting stuff. Thumbs up!

Ah, I’ve been waiting for this for a long time. Good work.

well done!

really useful!

Hello, this is great news scuey. Outliner is potentially such a usefull tool and soo underdeveloped. This functionality is essential, I hope it makes it into trunk soon.
Thanks a lot!
if you’d be interested, here’s a proposal which I wrote some time ago, which involves a conceptual evolution of how blender UI works and includes also some proposed outliner changes.

I’ve been perplexed for a long time why this hasn’t been in Blender since I started using it, great work adding it!

Nice feature! Drag and drop is a great and intuitive way to work… but sometimes the simple action to just drag the object name on some modifier text box don’t work well.
The outliner with this features remembers me the Cinema 4d Object Manager.
This is a Great feature and is highly welcome!
Why it’s not in trunk yet?

This is great and definitely something that I’ve wanted too - two thumbs up, SCUEY!

As it stands, I find the Outliner pretty much unhelpful on a day-to-day basis, as I would mostly want to use it for parenting, yes, and selecting bones within a hierarchy, and I find that it doesnt behave as expected with Armatures. For example, when i use [Numpad .] within the Outliner it does not automatically expand and scroll the selected bone into view as it seems to with meshes. And you can’t tell when a bone is selected easily - the little light circle behind the bone is not enough.

But anyway, back to the point - thanks SCUEY. I look forward to this getting added to Blender officially, and to more Outliner developments, particularly in the armature department! :0)

Yesss !! Me too; I never know why the outliner is so limited. It can be used for parenting, grouping, tracking 2 objects and why not applying etc. Pildanovak, your ui proposal about the material editor can be improved but it’s a good idea. Tab are better than srollbar Good work Scuey.

+1 for Trunk, very nice feature SCUEY!! I like the use of the outliner there, makes a lot of sense.

This is a MUST have in Blender official releases… so +1 for Trunk, SCUEY have a look to my comment in your video in VIMEO please.

Very nice Scuey!
How about to show groups also in “All Scenes”-mode?
I mean, the outliner is unusable with more than 20 objects.
With the ability of showing groups in outliner, this would helping to organize your scenes a lot faster…
For example you select 10 objects and press a shortcut in the outliner and all are automatically grouped in the “All Scenes”-mode.
Would be so nice if cou could write a patch for this too?!

Very nice indeed! I’m really pleased to see the full special parent relationships such as Armatures and Lattices supported too.

I would also be interested in seeing a way for clearing parents through drag and drop.

Very nice! I was working on this once, but never got it into trunk. This looks good. What would be really nice, as a more general thing in drag and drop, would be if you had a better graphical feedback on what you are doing while dragging (drag item preview, drop zone area preview etc.)

A suggestion if you feel like it: would be quite neat if you added the ability to add objects to groups by dragging items onto groups inside the Outliner, like so:


Adding the visual overlay drop zone cues is probably outside the scope of this patch though.

Wiliam nice, but you are in “Groups”-mode :wink:
But it would be much nicer, when Groups could be visible in "all scenes "-mode.
Then you could abuse groups as folders for structruring .
I mean total freedom.

nice functionality, thanks, but it wont compile with blender player there are some unresolved external issue, here is the error message:

Z:\DevelopmIennstall file: "release\scripts\startup\bl_ui\space_view3d_toolbar.p
y" as "Z:\Development\blender\install\win64-temp\2.58\scripts\startup\bl_ui\spac
t\blender\build\win64-temp\bin\blenderplayer.exe : fatal error LNK1120: 2 unreso
lved externals
Install file: "release\scripts\startup\bl_ui\__init__.py" as "Z:\Development\ble
Install file: "release\scripts	emplates\addon_add_object.py" as "Z:\Development
\blender\install\win64-temp\2.58\scripts	emplates\addon_add_object.py"
Isnstall file: "release\scripts	emplates\background_job.py" as "Z:\Development\
blender\install\win64-temp\2.58\scripts	emplates\background_job.py"
cons: *** [Z:\Development\blender\build\win64-temp\bin\blenderplayer.exe] Error
   Creating library Z:\Development\blender\build\win64-temp\bin\blender.lib and
object Z:\Development\blender\build\win64-temp\bin\blender.exp
Trying to remove existing py bundle.
Unpacking '../lib/win64/release/python32.tar.gz' to '..\install\win64-temp\2.58\
scons: building terminated because of errors.

two more note or requests:
-can you make it when dragging over the scene clear parent, as clearing parent is actually parenting it to the scene.
-the parenting won’t happen if they are hidden from the scene, well that maybe true for 3d view but not the outliner.

and thanks again for this patch :slight_smile:

Thanks, everyone! I know I’ve been missing this feature for a long time. I think the outliner has a lot of room for improvement. It has many uses already, but to me this was one feature that was really needed. Far too many times in videos or comments I hear people say that they never use the outliner and the first thing they do when they load a new scene is to hide it. It’s worse when I see people do this in tutorials (not you Jonathan!). So I’m hoping this provides utility to all users and gets people to see that the outliner can be an invaluable tool, especially in large scenes.

@JonathanW, SamCameron: Right, I am very aware of the need to clear parents with drag and drop. Once you can set parents this way, clearing parents with ALT+P feels very cumbersome. There are two options that I see: clearly a good way to do this would be to drag objects to the empty space below all your objects in the outliner; in addition, another space you could drag to would be empty space to the right of objects - by this I mean to the right of object object text and data icons but before the restrict render/view/select buttons. Actually, as a third area, there is some space just to the left of the “+” icon for objects, too. But at the very least, the first option is the obvious one.

I’d be happy to hear feedback on this “Clear Parent” implementation - or any other related outliner ideas, for that matter. On that subject, one idea I thought of was the option to drag objects onto another scene in the outliner (in All Scenes mode). This would be a shortcut to copy or link objects to other scenes. Would be simpler for users than hunting through the menus for the correct option.

Known Issue: From an intuition standpoint, one issue currently is that when multiple objects are dragged the user only sees the dragged “ghost” of one object, not the whole list of selected objects. It works the same - this is just a user feedback issue.