GSoC 2019: Outliner Branch Testing

I’ve just had a chance to play around with this branch for a bit. Great job! A couple of suggestions:

  1. Shouldn’t the Sync Selection be enabled by default? It seems like the more user-friendly option.
  2. The “invisible” filter is great, but is there no “render invisible” filter? I often want to re-enable the objects I’ve hidden from the render.
  3. In my opinion, the outliner really needs to make it clearer when there’s some kind of filter being applied. I often search for things, forget to clear my search and then get temporarily confused when my outliner isn’t showing everything.

Here’s one way it could be implemented:


I’m not a UI designer, so take these with a grain of salt. But it should be something bright and impossible to miss!

6 Likes

After some failed attempts at selection syncing, it should be mostly working now! Still needs some extra features, but the base of it is there and works both directions now. Please test and share what you think!

@AlanNoble In the latest builds synced selection is on by default. Also, I think render invisible could be added to the invisible filter maybe, no need to have two. It would be nice to have some sort of indication on filtering.

@Regnas Try walk selection again, should be syncing now :slight_smile:

3 Likes

Hi Nate,

I’m thinking we might want a generic “invert” filter next to the regular filters, so that we don’t end up with a negative filter for each flag (unselectable, un-renderable, invisible…).

I’ve been working on an ad image that has 6,000 objects. The sync’d selection with shift select is definitely a nice help. I haven’t had any issues with it at all. I think the shift+walk selection would be a nice addition, but as it is right now, I am working much more efficiently with the improved Outliner. Thanks!

1 Like

Glad to hear the improvements help! Just added shift+walk selection for extending, so give that a try in tomorrows build :slight_smile:

@Hadriscus I considered an invert filter toggle. It shouldn’t be too hard to implement, I’m just curious what some of the devs think on that one first. I’ll ask them sometime.

3 Likes

@natecraddock Hi. Great work on the outliner, so far! But, I have identified some issues.

I have multiple collections in my scene. I select a few random collections with Ctrl+Click or a range of collections with Shift+Click. But, when I right click on the selection and choose ‘Select Objects’, it selects only the objects from the topmost collection in the selection. Can we make ‘Select Objects’ make a selection of objects from all the collections selected in the outliner?

Currently if I have to select objects from 10 collections, having multiple collections selected in the outliner doesn’t help. In fact, it makes it worse; regardless of on which collection you right click and choose ‘Select Objects’, it always selects objects from the topmost collection in the selection.

‘Select Hierarchy’ behaves even more strange. If I have 10 empties each with a few objects parented to them and if I select a few of them using range or random select (ctrl+click) and then right click and choose ‘Select Hierarchy’ it always selects the objects parented to the emplty that is bottom most on the selection in the outliner.

It would be nice to select objects from all collections or hierarchies selected in the outliner at once. It will a huge time saver.

By the way, I compile from source myself. I pull changes from this branch and the cycles procedural branch into the master and then build blender, since this works perfectly for the projects I work on. But I have also tested the above on both the master and the outliner build posted by you on graphicall.

1 Like

Thanks for raising these issues! I haven’t worked at all on any of the context menu operators, but once I begin I will see why these selection operators don’t work as expected. It’s good to hear that you are enjoying the improvements otherwise!

2 Likes

Yes, it’s working great. :clap:

By the way, will the delete key work in the outliner? (to delete selected objects)

2 Likes

Still delete selected object/s in the outliner is missing?
Sorry for asking, is just I haven’t had time to test the latest builds.

Now that syncing is nearly wrapped up, I’ll start looking into the outliner tools and operators like delete.

7 Likes

Hi Nate, works great. But it would be even better if the list was repositioned to show the selected item (if it’s outside the visible area). So I don’t have to move my mouse and press “.”

That sounds aweful actually. Often you have a certain region in the outliner in mind as you work on a specific part of a project. If it is constantly moving to whatever you are selecting you will always have to re-find your spot. Maybe as a toggle that could be passable, as sometimes you want that behaviour I suppose? But most of the time I would think not, to be honest

Yes, a toggle would be great.

1 Like

My thoughts exactly. I wouldn’t want the outliner jumping around all the time.

There’s one little thing that bothers me in the outliner.
Centering on the selected object with the “.” button always jumps to the topmost instance of the object, if it’s in more than one collection. Which is good. Problem is, if “show children” is enabled, it jumps to the “ghosted out” version if it’s the topmost instance, and not to a “real” instance. I think it should jump to the topmost real instance.

Example: Object A is in Collection 1, Object B is in Collection 2. You parent Object B to Object A. Now if you have B selected and press “.” in the outliner, it recenters on the ghosted out version in Collection 1. But you can’t do anything with this instance (no toggles, etc.). IMHO it should jump to the instance in Collection 2.

2 Likes

I ask myself. Once this is implemented. Why would you ever want to switch it off. So why not replace this on/off toggle with a center/not-centre toggle.

Because the outliner is used for different tasks than the 3D view.
Now I don’t believe I need to justify my workflow. But I’ll give you my reasoning.
I model, animate, etc. in the 3D view. I mainly use the outliner to turn collections on and off (visiblity and renderability) and to organise obejcts. These different tasks are more often than not done on different objects.
For most of the time, I require that the outliner stay in a given state: scrolled to the location where the objects/collections are that I am turning on/off or organising, and the state of the collections (popped open or closed) should remain that way I set them. This last point is especially important: if some closed collections would pop open automatically (with your auto-center idea), even a mildly complex scene becomes a scroll-nightmare in the outliner very quickly. At the same time, I am modeling whaterever else in the 3D view.
In the event I do need to find the selected object in the outliner, I only need to press “.”. Takes like half a second.

5 Likes

I agree, thanks for pointing out this issue.

@Shovel In regard to the automatic selection focusing, it has been suggested before. Right now I’m not planning on adding it as part of my project. If I ever do, it would be a toggle defaulted to off.

It might be nice if you could step through the different instances by pressing ‘.’ repeatedly.

One thing I’ve been running into in large scenes is creating a new collection using the button in the header is that it always creates the collection as a child of the currently selected collection. It can be painful when you have thousands of objects to scroll all the way to the top to select the scene collection to put it there. It would be nice if:

  1. You could, maybe through using something like shift+click, override the default behavior and create the collection in the Scene Collection no matter which collection is selected.

  2. There was a shortcut key to jump to the top of the outliner. Maybe ‘Home’ would be good, and ‘End’ to jump to the bottom. This may exist, but I didn’t find a keybinding for it.

2 Likes

I think someone mentioned it before, but being able to change cameras(in the camera view) would be a great feature to have in the outliner(like shift+numpad 0 in the 3d view, but without having to move the mouse cursor out of the outliner).

1 Like