GSoC 2020: Outliner Discussion and Suggestions

Ye, seems like a small quality of life improvement, but definitely something that’s coming up frequently when talking to professionals converting to Blender.

Really happy to see how much the outliner progressed though. Looking forward to proper manual sorting.

3 Likes

@kromar I agree with you, more work could be done in this area. Making collections the children of objects would be very difficult because collections are containers for objects, not the other way around. I’m not saying it couldn’t be done, but it’s a very large task that wouldn’t be a good fit for the summer of code.

On that topic, @kynu I agree, a grouped mesh that could support instancing and modifiers would be amazing. I even talked about this with @billrey the other day. Very off topic though, so let’s try to stay more on topic here.

@tintwotin I’ve noted some smaller things that could be done this summer (like drag and drop). Those mockups you have made are great, but I really think that it would be better to make a separate design task for the sequencer workflow.

@Oskar I see the problem. One issue is currently Blender doesn’t allow selection of hidden objects. You can “outliner” select it, but the actual object data is not selected. The Select Hierarchy operator is selecting objects recursively, so when it gets to Sphere.001 in your example it cannot select it. Now that selection syncing works well, a better solution for this operator would be to select the objects recursively with Outliner selection, that way it still syncs to visible objects, but the whole tree is selected for drag+drop. Most of the context menu operators in the outliner will get some fixes this summer.

An alternative would be to drag children with parents when linking between collections.

@LeoSch I hope to make arrow key renaming better in the next few days. The workflow would be Up/Down then F2 to rename. The rename field is a generic UI rename field, so I’m not sure if it could be mapped to Up/Down to rename the next item. That would be great though, so I’ll keep that in mind.

We use lots of modifier keys for drag+drop currently, so I don’t think duplicate would be able to fit well there. For your last point, collection instances!

@Rayfly0225 cool video, but there aren’t any links to your addon so others can benefit!

@dan2 Parent highlighting when active is in a collapsed hierarchy. I really love the idea. and I wanted to do it last summer, we already have 3+ types of highlights in the outliner so this would need to be done right to not add more clutter.

5 Likes

Thanks for the great feedback and suggestions everyone! I’m keeping a list of the smaller improvements to implement alongside my original plans on my design task: ⚓ T77408 Continued Outliner Improvements Design. Let’s try to keep that design task free of feature requests please :slight_smile:

Now that the summer of code has officially started I’m making good progress with my first task. I’ll start a weekly reports topic tomorrow. Within a few days I’ll be sharing my progress for feedback on the current progress of the mode toggle and activation column.

6 Likes

Hey Nathan, great to see you tackling the Outliner again! :smile:

I’ve been thinking about a small QoL improvement: Currently, when in local mode, the only indicator is the word “(local)” in the viewport, which is very hard to spot sometimes. So, I was wondering if the Outliner could be a visual aid and dim (or even disable(?)) all objects that are currently not in local view.

4 Likes

giving it a try…

image

or even

image

1 Like

I’d go with a full length one, almost like a dimmed overlay, similar to other packages. (maybe an option in the theme settings would be cool) Highlighting only that little object data icon could be easy to miss depending on the contrast in the theme settings.

2 Likes

@natecraddock: Hello, you mentioned drag and drop improvements in the outliner.
The problem I have every day with the blender outliner is, that it is not possible to drag and drop one hierarchy into another one because all transformations are lost. You have to select one hierarchy then the other one, move the mouse into the 3D viewport and hit strg+p and select “Object (keep transform)”. That is very cumbersome!
Maybe if I drag and drop in the outliner a popup can appear where I can select if I want to parent with transforms or without! Or it is an option you can set in the outliner options dropdown.
In all other 3D programs I know, you can drag and drop across the hirarchy without loosing the transformations. It would be really great if that would be possible in blender too!
I hope you understand what I mean?!
Cheers

4 Likes

To make clear what I mean I created a simple blend file.
Blender_Outliner_Drag_and_drop_01
If I drag and drop the Cube.001 into the Empty it moves in the viewport because it inherits transforms. So drag and drop is not possible with keep transforms.

3 Likes

Alright, first weekly report in: GSoC 2020: Outliner Weekly Reports
Also, there is now a Windows build of my branch: https://blender.community/c/graphicall/Qmbbbc/

I committed changes to add a new left column for this task: https://developer.blender.org/T68498. It works well right now, and I would love some feedback!

@MichaelHermann though that would be great, I don’t think the outliner would be a good solution because local view is viewport-dependant. So you can have more than one 3D view window open each in local view on different sets of objects. I can’t think of a way to cleanly represent multiple differing local views in the outliner.

@lsscpp @dan2 thanks for the mockups. I prefer either brightening the icon highlight, or the full bar, the half bar highlight has some asymmetry. I really would like to think of something other than another highlight if possible though.

@machieb it’s a bit cumbersome, but you can drag+drop parent in the outliner holding Shift+Alt and it will keep transforms. Making drag+drop more intuitive is on my todo list for the summer.

5 Likes

Only thing I’ve seen that could be an alternative is that auto expand/frame thingy that houdini/solaris is doing in the scene graph view, but that might be something that’s more practical with extremely complex scenes, it wouldn’t be viable at this stage - at least until everything nodes comes along.

I guess adding a theme option to change the icon highlight could be the simpler solution, might throw off people coming from other packages though, at least until they get used to it. Most softwares I’m working with have that dimmed highlight option a’la Maya.

Thanks for the great design task an all your work on these improvements! Really looking forward to this project.

1 Like

Parenting through outliner drag’n’drop should show the same “Parent…” popup we get when parenting objects in the 3DView, so that we can choose between “keep transforms” or not (and hopefully one day we get “keep transforms and apply inverse parent matrix”).

7 Likes

Hello everybody! First off, thanks a lot Nathan for continuing in the outliner improvements! After testing a little bit the new Outliner branch, here are my impressions:

  1. ACTIVE ICON

I think that the active icon is too similar to the enabled in view layer icon for collections, and being them also very close to each other, I think it might create confusion on their purpose. This is connected also to the second point.

  1. ACTIVE CAMERA ICON

I appreciate a lot having a clearer visualization of the active camera, but for me the active icon of the camera should differ somehow from the active icon of collections and scenes. I understand that it could be for avoiding visual cluttering, but I personally think that cameras are a different concept from collections and scenes, and therefore need a specific icon for the active one. Here are 3 mockups for how it could be:

the first one simply uses the same icon of the camera with a different color: I don’t completely like this solution because it ends up having the same camera icon 3 times in different colors.

1

The other two use the data icon of the camera for showing the active one. If, as I expect, these could conflict with the idea of syncing the outliner with the properties, I’d say that accessing the camera properties could happen by simply clicking on the camera’s text space and/or orange icon.

2

3

  1. ACTIVE SCENE COLLECTION

I don’t completely understand the need of having an active icon also for the scene collection: isn’t implicit that is active, being it inside the active scene we are working in? Please tell me what I’m missing.

  1. ACTIVE COLLECTION CLICK

This is aside from the latest column implementation: currently, when we select a collection, making it active, every new object and collection that we create are added to that selected collection. The thing is, if you select a collection and then click outside of it in the outliner, the new object we create will still be added inside that collection, while if we want to add a new collection without it being inside the selected one, we simply need to click anywhere else in the outliner: I think this behavior should work the same with adding objects.

  1. DELETING SCENES

This last entry is made out of a suggestion and what I think is a little bug:

-Currently, for deleting a scene in the outliner we can only right-click on it and select delete. I think it should be possible to delete them by simply clicking X, like with objects and collections.

-BUG: If we delete a scene in the outliner that is not the active one, the scene remains in the outliner, and we have to click or go with the mouse to another editor to actually make it disappear.

3 Likes

That’s true! I have one idea though: Dim only if the mouse is in a 3D viewport window and only dim for the viewport the cursor is in. Whenever the mouse leaves that viewport, the Outliner goes back to normal.

1 Like

In a real life project with hundreds of objects its a pain/impossible to parent objects/collections with drag and drop if the list of objects is too long for the limited vertical space of the outliner.

The modifiers got a really nice update recently with butter smooth pan when dragging outside the boundary, could this be adapted for the outliner as well?

https://developer.blender.org/D7465

4 Likes

Yes please! Selecting in 3d Viewport and then having all parent nodes/collections highlighted would be awesome. Right now it’s impossible to find objects in the outliner if they are organized well.

5 Likes

Thanks so much for helping improve the outliner once again for the Blender community!

I would like to still see layers remembering states when toggled on/off. Brecht overruled this but to me it’s still feels like broken behaviour. Outliner & objects/collections visibility paper cuts

Also, it would be great if there right-click options to easily move or add objects to a different collection as mentioned here: https://blender.community/c/rightclickselect/Mhfbbc/

3 Likes

I tested the latest windows build and the left column is a nice idea, I would like to share my first impressions.

1- Having the check mark while the camera is not Active (View–>Cameras–>Active Camera) is misleading. Ideally would be that the check mark become visible ONLY when the user enable it and then the Camera becomes Active. In this regard, by enabling the check mark call the Active Camera command.

2- When an object is in edit mode using the new left column and clicking on another object both objects are available in edit mode, but if I click on the active object icon both objects are out from Edit mode, I’m not sure if would be better if I click on the second object icon, then that one becomes active and exiting the current active one… hope it makes sense.

1 Like

Here is a small proposal to replace the camera check mark, I’m using blender icons in both examples: VIEW_CAMERA and SHADING_BBOX with the current dot.

What you guys think?

2 Likes

Like the second one!

First design is clearer at a glance.