GSoC 2020: Outliner Discussion and Suggestions

@natecraddock Awesome work so far this summer. I haven’t been able to pay that close of attention or try out builds, but I would like to inquire if you had the chance to make these two changes to the outliner’s default key bindings so Blender behaves in line with standard desktop software.

Both have been unfortunately ignored by the main devs (probably because it’s such a small tweak, not a shiny new feature request) but these two paper cuts have garnered a lot of hearts here on Blender Devtalk and fitting the tweaks in with your outliner project would be the perfect time to integrate them. They are two of the many things that collectively make Blender behave as people expect software to behave, which was a big push for 2.8 that got most of the way there, but left various paper cuts like these hanging around.

In summary, change CtrlG from Create New Collection to Move to Collection > New Collection and change ShiftLeft Click to expand/collapse the outliner tree to AltLeft Click as all other software uses.

2 Likes

Outliner/Folder expand hierarchy hotkeys:

Maya - Shift Click
C4D - Ctrl Click
Houdini - Shift Click
Adobe Suite: Alt Click
Katana - Ctrl++ or context menu
3DS max - Selections in viewport will open outliner to object automatically

Software using right click context menu’s to achieve this:

Sketchup
Modo

Software I’m not aware even has this function, and have tested using alt + click amongst other typical shortcuts:

Substance Painter
Davinci Resolve
Krita
Grimp

These are merely the ones I’m familiar with. Some I did some research on for this list, correct me if I’m wrong.

The point is I would contest the idea of “all other software”, there hardly seems to be a common convention. It’s a mixed bag between CTRL, ATL, SHIFT and context menu’s.

1 Like

Isn’t it shift click for Maya?

You’re right, I’m updating it. I’ve been using F like a pleb :confused:

1 Like

Here’s a few more:

Visual Studio Code - Alt Click
Unity - Alt Click
UE4 - Shift Click

That’s weird C4D would be such an outlier using Ctrl. But those kinds of paper cuts are the things the big proprietary software companies ignore in perpetuity and they’re happy to keep their quirks.

I was unaware there is actually a somewhat wider usage of Shift than I thought— I don’t use Maya, Houdini, or UE4, but those appear to be the big three that use Shift. All the other big programs seem to have settled on Alt, or forgotten to even implement it as a feature. But there’s still Unity, Photoshop, Illustrator, InDesign, all of Adobe’s other big programs, and VS Code. I would advocate for at least using both options, because users of programs that implement Alt account for a broader industry but that is certainly fair that people switching from Maya or Houdini may expect Shift.

2 Likes

@natecraddock
Thanks for all the awesome work. For using Blender in a professional environment these features are amazing!
I dont know if this is outside the scope of your outliner project but it seems low hanging fruit with a lot of usability and I would dare say essential missing feature.

Relink and Reload Collections:
Link to RCS proposal: Reload and relocate linked collections Right-Click Select — Blender.Community

Basic idea: Right click those broken collection link icons in the outliner and choose to relocate or reload directly from the context menu in the outliner.

Once again thanks for your contributions. You are a hero :smiley:

2 Likes

@natecraddock
I know these are daily builds, but I’m just throwing stuff on the proverbial fire just in case you are not aware:

Drag deselect in the mode column doesn’t seem to be working right now.
Drag
It will only deselect the first clicked item, and only after release. Also if you start on a deselection run and continue over to items that are not active in the mode column, it will activate them, instead of leaving them be.

Also, I think it’s smart to change the dot to the mode icon on hover. It makes it very clear that a change in state can happen, which is great for discover-ability. But I still think that the hover color should be considerably more de-saturated. It’s really strange when you click something off in the mode column only to have the icon still present because that is where your mouse is. It almost feels like a bug, though it’s not at all. Without a visual difference to signify a change in state it doesn’t seem like the click has done anything:
No Difference

Thanks for everything,
Good luck on the last week!

3 Likes

Thanks for all you hard work on this years soc Nate! It’s much appreciated.

Quick quesion - Did anything come out of the talks with the devs regarding the “Indicate active object when in a collapsed hierarchy” thing?

1 Like

A grid and folder view mode would be very interesting. Or even something similar to a knot tree. Even if it was just to organize a little and then go back to the list view. In a file full of things it would really make a difference to the visual understanding of the scene.

Hey everyone! I’ve shared a video on my weekly report with the current state of the project. I would appreciate some testing this last week to help find some of the remaining bugs.

The build (will be updated in a few hours): https://blender.community/c/graphicall/Qmbbbc/

Thanks for testing. That seems to be an unfortunate side effect of changing the dot on hover. Not sure exactly why, will look into it.

I’ll also look into the dimming of icons.

1 Like

Hi, thank you for your great work! i would have two suggestions that might be very handy and would increase workflow speed:

  1. Drag and Drop Materials between Object and Data.
  2. “Drag +ALT” Material onto another Material to replace the single one.

Thanks!

2 Likes

I haven’t tested this branch for days, and I liked seeing the Exclude Checker as a column on the right side, it looks more orderly and it reads better.

I make some proposals for the Color Theme, which I think helps to better understand the structure and function of objects.

1 · Color the hierarchy triangles of the Collections.
2 · Brighten and reduce a little contrast to the background
3 · Contrast with the dark background and light frame, the box of the active objects.

2 Likes

I’m playing with the outliner right now. So far i like all the changes :slight_smile: Great job.

A possibility to drag modifiers(horizontally) when they are collapsed would be nice addition :slight_smile:
modif
but not that important.

The only thing i don’t like is the management of parented objects - didn’t change much from current stable.
For example when i drag parent object between collections children should be moved to.
Deleting parent/collection - default behavior should be to delete children to.
I relay cannot find any logical reason to keep the current uintuitive behavior…

Even deleting parent in the 3d viewport should at least ask if the children are to be deleted - but probably out side of scope.

Is there any chance that this behavior could still be tackled?

13 Likes

Really love the new changes. Manual sorting works like a charm and colors make it easy to distinguish between collections.

For me the biggest inconvenience by far is being able to spot active collections or anything inside a collapsed hierarchy. That’s something that’s solved in every other software I’m using, and is very hard to explain to others when showing them the outliner. That light grey overlay is just not enough.

That being said, I think we’ve come very far in terms of usability. Can’t wait to have all this in the master.

4 Likes

Hi @natecraddock, thanks a lot for all your efforts, all these improvements will be extremely beneficial.
Even if I already expressed my doubts on the choice of removing the lines between objects (except in Collections), I imagine that right now it’s late for changing things again.
While I can get used to this “freerer” layout, I really want to stress the importance of reintroducing relationship lines for objects parented to other objects, which right now feel harder to detect.

Besides this, thanks for all of your work on the Outliner :love_you_gesture: :love_you_gesture: :love_you_gesture: :love_you_gesture: :love_you_gesture:!!!

4 Likes

Suddenly I’d like this issue to be tackled: https://blenderartists.org/t/linking-outliner-eyeball-visibility-with-render-visibility/1194279/11
I especially agree with the last suggestion ‘link visibility’

6 Likes

I made the borders less transparent and removed the backgrounds. I really like it! The poor contrast of a light background made things unreadable at times, and I think this is a great improvement. I also made the roundrects square rather than slightly squashed.

image

It could be nice, but it would be a more difficult change and I don’t think the added code complexity is worth the small inconvenience in adding row drag+drop.

This has been brought up a few times. Don’t have time during GSOC to look into it. Not moving children with the parent between collections is not a bug, but a decision on the workflow when collections were first implemented. but it’s very possible, and perhaps easy to do. On the other hand, I do not agree that deleting a parent object or collection should delete the children. We do have a handy context menu operator Delete Hierarchy for that purpose.

Agreed, and sorry for forgetting to reply to your other posts on the topic. I am not 100% sure, but the code has a TE_ACTIVE flag meant for this very purpose, but it is unused. It would need some work to get this working, but I really do want to add it. Looking back on this, I think that a row highlight is the best option.

A question about the implementation: Should the parents always be highlighted, or only when the child is in a closed subtree? And should this parent highlight be only for the active object, or for all selected objects?

That all said, today’s change already helps :slight_smile:

image

Worked on it today, how does it look?

image

9 Likes

I’d definitely highlight it (the whole row) disregarding if the hierarchy is closed or open, or if it’s a selected or active object or not. (Similar to most other apps) The collection highlight is usually a dimmed/somewhat desaturated color so I never found it distracting. Basically what you’d want is something that is immediately visible in complex hierarchies. If you have a layout scene with thousands of objects and complex relationships ideally you want to select something in your scene and see it right away in the outliner. Seeing which collection/parent it belongs to is really helpful since things can become messy fast.

Speaking of active objects, not sure if it’s handy or just annoying in Blender. I found the whole concept to be the later more often than not (I mean it remembering the active state. Not sure if it’s just me but if I select a bunch of objects I expect the first or last to become active. I can work with either, not so much with an object that was set to active who knows when).

active

It’s great to know that collapsed hierarchy can be highlighted though, I was afraid there’d be some bigger bumps on the road for that one. You’re doing a bigger service to Blender users than you’d know :slight_smile:

3 Likes

Working a lot with parenting (object and bone), I feel this is better, but could still use the short horizontal lines that connect the child objects to the vertical hierarchy lines. We used to have those in 2.7, the Maya outliner has them as well, and they do add a lot of clarity to deeply nested hierarchies such as the ones you end up with while rigging characters. Maybe just for object parenting though, since nested collections already have that colored line that make things very clear.

Also would like to thank you for your work and your uncomparable collaboration with users !

3 Likes

Thanks Nate!

Agreed, I also think it would help much more for parenting.

1 Like