GSoC 2020: Outliner Discussion and Suggestions

Selecting hidden objects would be great. Right now not being able to delete them is a consequence of not being able to select them, and I think it is a great limitation. That’s not strictly a problem with the outliner, though : it is a general paradigm in Blender that the user can only operate on visible things (with the exception of the node editor…).
edit this is more or less a feature request and @natecraddock has explicitly asked to not use this thread for them, so apologies.

@natecraddock I seem to have missed the train about that active camera icon. Using a new column entirely for the purpose of changing active camera (which is definitely not something you do frequently) sounds hardly justifiable to me… what’s the rationale if you don’t mind ?

Ok I dug through the thread to find the design task. https://developer.blender.org/T68498
It seems that left gutter is mixing up several concepts. Active camera, objects being edited…? that does not justify a new column to me : all of these things could be solved much more compactly, for instance indicating the active camera by drawing its icon differently (either with a different pictogram or an embossing/halo around it, the solutions are plenty). Objects part of edit mode could be toggled by clicking their already existing “data” icon. Finally scenes can have their radio button to the side of them, just like collections have their checkbox.

I think if we’re keeping at this pace the Outliner is going to need its own monitor to display correctly. Already the restriction toggles are taking up a lot of space, and if we don’t add stuff in a smart and compact way it’s only going to get worse. (my personal reasoning is that the “renderable” toggle is redundant and managing renderability should be the job of view layers, but I know that’s out of scope here).

5 Likes

I also think they should always be visible, also beacuse it makes you understand that it’s a toggle only for cameras and collections

1 Like

(I definitely don’t mean to derail the thread, it was more a question than a request. You can select hidden objects just fine though (in the outliner) as well as being able to delete them when deleting a hierarchy. Only thing that’s not allowed is deleting single/multiple objects that are hidden, which is not a restriction that’s present in any other production oriented packages.)

Changing active cameras can be common depending on the department you’re working in. For product visualization, lookdev and even layout it is used quite frequently.

I’m using the renderable icon a lot, especially since it can be animated (same for disable in viewports) Not sure what the practical reason is for having a separate show and disable in viewports toggles though. Having all these toggles keyframeable for collections as well would be great, but I’m not a fan of removing them since we’re already allowed to show/hide them to our hearts content.

I’ll explain why there are two separate visibility toggles : one carries over between scenes, for example when a collection/object is linked to another file- and the other is purely a local override for visibility. This is why I think overrides should handle that instead of having two separate toggles. (I meant overrides in my previous post, not view layers, sorry…)

Thanks for bringing your side of the story to the “active camera icon” - even in animation I don’t use that so much since it can be animated with timeline markers. I usually rely on the graph editor/dopesheet to keep track of that but I can understand your pov. That being said, active camera is indicated in properties editor, scene panel - it’s not like it’s out of reach. Bear with me, I’m just trying to limit the Outliner expansion craziness here, I really don’t want to be stepping on anyone’s feet (toes?). I see things with my animator eyes, but Blender is such a jack of all trades…!

I agree. However one potential problem here is visibility and renderability, being two separate toggles, are not in sync. So if you’re approaching things with a mindset such as “I render what I see” then you’ve got these two separate toggles to keep track of, and keep in sync at all times, which can be a burden.

I’m ok with this but some folks have expressed frustration back on BA.

1 Like

Thanks for the explanation. As long as their state can be animated and they’re easily accessible (one single click, not a click more :slight_smile: ) I’m fine with whatever. I find the current way pretty practical, way more convenient than in Maya for example. Always great to hear other angles though.

Ye, I get your point. I was clicking the camera icon to the right to set cameras active in the outliner, I guess this extra toggle would be there to unify setting cameras and collections as active. I get people who’re conscious about screen space though - there are departments where a majority of time is being spent in the outliner and having extended functionality is a must, and others where a minimized space is more appealing as it’s used mainly for selecting objects.

As for syncing viewport and render, I have to do that frequently and I’m using a slightly modified version of a free addon to do that at the moment. It is quite crucial in many cases, let’s say you’re working on a scene doing some modeling, and you have tens or hundreds of heavy lidar scans in the scene as well. You probably don’t want to see those all the time, or even ever after a point, but you still need to show some of them in renders either as a background object or for QC purposes.

Hi all, I see there is some confusion regarding the first task of the project (Mode toggling & data activation). I’ve updated the design task with the rationale and current state of the project. I don’t want to duplicate this information in multiple places, so please read it if you are interested. https://developer.blender.org/T68498 You are welcome to reply here or on the task with feedback.

Many of my tasks for the summer involve the same thing: Outliner selection is confusing. A few examples to illustrate:

  • Selecting a collection will always activate it. If you want to select to reorder, nest, rename, etc, it gets activated.
  • Selecting mesh data enters edit mode, and armature bone/pose data will toggle the mode. This is helpful, but hidden
  • Selecting camera data always sets the active (scene) camera.
  • We show datablocks for most data types (modifiers, grease pencil, lights, etc.) but the icons don’t do anything useful when selected.

Also, it’s not always super clear what collection is active (the highlight isn’t the most visible). Last summer we planned a few tasks to clean up selection and activation.

This first task was planned last August. At the time we identified scenes, cameras, and collections as good candidates for this left “activation” column. I think the most important is collections, so perhaps scenes and camera could be removed. I do think at least camera activation is helpful.

The second part is to switch properties editor tabs when clicking object data. Like I mentioned above, we show light data (green) in the outliner, but selection does nothing! We want to make datablock selection useful by switching to the correct tab in the properties editor. If datablocks were still connected to setting the scene camera and mode toggling, this would again cause multiple actions on selection and be confusing.

I hope that clears things up! Thanks everyone for the wonderful feedback! I’ll be posting my weekly report in a few hours with some nice updates :slight_smile: Edit: posted here. Also, @Hadriscus feature requests are just fine here! Many ideas in my project this summer are feature requests from last summer.

2 Likes

I agree, making the icons always visible is better. I’ve left it that way.

@jc4d @xan2622 @Hadriscus setting the radio icon for a camera sets the scene camera. This is the camera that is used in camera view, for rendering, etc. The column is used for many things, and camera activation is just one of them. The column already is there in 2.83 and before, now it is just filled with useful information.

@dan2 in 2.83 you can use the context menu in the outliner to delete hidden objects. In 2.90 you can directly press X in the outliner to delete objects and collections :slight_smile:

@Zuorion thanks for the collection colors mockup! And about the radio icons, we are thinking of better ideas, thanks for the idea.

2 Likes

haha :smiley: Never tried it for some reason, thanks heaps for that! That’ll save a lot of frustration. Strange that hitting x doesn’t work in the viewport, but this definitely works for me. I got to pay more attention to the manual, just recently discovered cool thinks like hiding every object inside a hierarchy by shift-clicking the parents visibility icon.

1 Like

Something I was thinking about the keyboard shortcuts in the outliner, when pick walking, you can press right arrow to open the hierarchy of a collection/item one level, however if you shift select several items then hit right arrow it only opens the active item.Pick walking 2
I feel like it should probably open all the highlighted items. The same applies for shift+ right arrow press too, to fully open up all hierarchies. I feel the selection would start from where you stopped at, which it already does, just minus the opening of all the items.

In truth I’m not sure how helpful it would be to shift + right arrow several items, it could potentially open up a crazy amount of things, but I believe that if you can come to a conclusion based on the given tools in a software and it feels like you should be able to do that thing, then you probably should be able to do that thing. Just feels right to me, what do you think everyone? @natecraddock

3 Likes

Another thing that I think would make life easier is hotkeys to jump to the closest parent up or down.


This is the behavior. When hierarchies get very complicated this can be extremely helpful. I’m not sure what key would be used for this, but I noticed both ctrl and alt haven’t been used up yet in the outliner. something like crtl + up arrow to jump to the parent above, ctrl + down arrow to go to the parent below.

Much in the same vane, skipping all hierarchies to the next item in the list is also very beneficial I think.


This is the behavior. This can make getting to the items you want on keyboard really easy combined with the last one. I think shift ctrl + down/up would work.

Why all these extra shortcuts? Well it’s nice for overall I think, but this workflow is incredibly nice for riggers. Keeping it all on the keyboard is ergonomic and makes sifting through long hierarchies easier to explore.

2 Likes

@Bobo_The_Imp I like that first suggestion. I’ll probably get to that when I clean up the context menu. It should be a simple fix, just run the expand hierarchy function for each selected parent.

For the jump to parent and first child, that is already in the test build! It is mapped to the right and left arrow keys currently. Give it a try and let me know if it works well. https://blender.community/c/graphicall/Qmbbbc/

I’ll look into one for skipping the hierarchy. Perhaps now that right and left go in and out of sub trees we can simply use up and down rather than relying on key combinations.

3 Likes

Works perfectly! Ain’t nothing like suggesting something only to have it already be implemented haha. Thanks, riggers will be happy no doubt.

1 Like

Not sure if it’s been mentioned in the thread already, the Outliner should allow to select hidden or selection-disabled objects. It’s very confusing at the moment.

Current progress is looking good!

I have proposition about making Outliner more consistent and usable with keyboard inputs.

Right now performing some actions like renaming objects/collections require moving right hand back and forth between keyboard and mouse just for selection/activation. That is very frustrating, especially when you have to rename multiple objects differently.

That could be solved with setting an active object with a key, like Enter - it’s intuitive and close to arrows used for navigation in Outliner. The additional benefit is that the user could easily perform many different actions with keyboard that are reserved to active objects only.

Simple case
(current state):

  1. Rename one object (F2)
  2. Move your hand to mouse,
  3. Activate next item.
  4. Move your hand to keyboard.
  5. Rename second object (F2)

(proposition):

  1. Rename one object (F2)
  2. Move to the next (Arrow)
  3. Activate (Enter)
  4. Rename it (F2)

I have nothing against left column dedicated to current state of objects. But it can be used only with mouse input. That I feel is little limiting.

The above method could be expanded to multiple selections as well:

  1. Select couple objects (Shift + Arrow)
  2. Batch rename (Alt + F2, or F2 as I proposed earlier)
  3. Select different objects (Arrow, Shift + Arrow)
  4. Activate (Enter)
  5. Batch rename (Alt + F2, or F2)
1 Like

@natecraddock I just watched your video on the weekly report and I noticed that the Collection’s checkbox was replaced by the radio icon, the base function will remain unchanged that if we uncheck the radio icon the collection will be disable?

Hi Nate, beautiful to see progress going well! The new radio icon for activation already looks better, it’s definitely easier to understand its function. Still, I’m curious to see how a different camera icon would be.

I absolutely agree that besides the priority of collection, setting the active camera is a helpful and needed feature.

Regarding the mode toggling, as you wrote in the task, I also think that the icon for objects not in interaction mode should be different (and simpler), also beacuse in scenarios where we have a lot of objects in the scene it might get really confusing.
Thanks a lot for your efforts!

1 Like

Great work, @natecraddock! I love what you have done overall up to this point for Blender, so thank you! That said, one concern. I just watched much of your video, and it seems problematic to have the same sculpt mode (or edit mode) icon repeated for line after line after line for each of the three objects with only the bolding of an icon being the differentiator between what is and is not included for editing/sculpting. Such a “wall” of icons (three might not be a wall, but if you had five or six or ten or etc, it would seem like one) would make it hard, if possible at all, to quickly glance over at the outliner and know what is and is not included in the edit or sculpt mode. One has to pause and verify that a particular icon is or is not bolded. I think it might be better to not show the edit or sculpt mode icon at all if it is not included, or have two clearly distinguished icons (although this latter option would again provide a wall of icons that would make it harder to pick out what is in and what is out). The easiest would be to have icons on the left column only for what is currently in the edit or sculpt mode and nothing for what is not included.

2 Likes

Yea, I tend to agree. There is a discussion on whether showing them at all times is good or not. I’m still unsure myself. I think with higher contrast though the current build would work better:


It’s a little more readable this way. I think the dots that were used before might have been better though? That is to say small dot to indicate its not activated, and then the corresponding icon if it is (sculpt, edit, weight paint etc).

7 Likes

Another small thing I noticed when tinkering around. When inside edit mode, or other modes that use the left column, if you hover over an inactive icon, it lights up showing you that you are over it. I like that feedback, but the “hover-highlight” is the same color as when it is active. Highlight
Because of that it’s a bit hard to see when pressing it if you have in fact activated it or not. I feel there should be probably be 3 levels of brightness:

  • Inactive - dark
  • Hovered over - medium bright
  • Active - Brightest.

That way, the contrast between “hovered over” and active would make the state change easier to see.

3 Likes

image
Maybe a filled corner instead? I doubt transitioning between medium grey to medium-light grey to light grey is enough contrast for the small icons.

2 Likes