GSoC 2019: Outliner Improvements Ideas

One of the features I use a lot in Windows os is dragging and dropping a file with the left mouse button does the default action of moving the file, whereas dragging with the right mouse button brings up a popup when you drop the file giving the other options - move, copy, create shortcut.

I could see this being mimicked in the outliner where a left drag of the parent moves the children to the same collection, but dragging and dropping with the right button brings up a menu with Move Only Parent to Collection, Move Hierarchy to Collection, Link Inside of Collection

1 Like

I committed yesterday, so it should be in builds now.


@AUDITORIUM There are plans to fix the operators in the outliner, both in the context menu, and with keyboard shortcuts. Thanks for the suggestions


@dan2 We are also working on improving edit mode toggling. Also, you can delete hidden objects from the context menu in the outliner.


This would be nice! Iā€™m not sure if it is possible, because as far as I know the box select ā€œfreezesā€ the interface.

And about the renaming, outliner renaming no longer calls the popup so renaming only occurs for the active element. There is room for improvement though, but multi-object renaming is better suited for discussion outside just the outliner.

2 Likes

Is that the case in the Outliner Build now? I realize now that I think about it that the Middle-Mouse would cause issues. I only ask because I donā€™t see it in 2.80 or 2.81 ā€¦

YouĀ“re right it doesnĀ“t. Shift click on the eye hides and unhides the whole hierarchy but selecting the whole hierarchy apperas to be gone.
This was an important function imo.

@1D_Inc suggests this

1 Like

I have an idea to improve the outliner: color coding for things. Finding important stuff in there when you have a big project itā€™s a pain.

Iā€™m going to try and make an addon like this before the update so we can have it beforehand. Itā€™s just like the best thing since sliced bread.

1 Like

Hmm, you are correct, ctrl+click for select hierarchy is missing. I think I know why. Iā€™ll look into it.


Outliner data is not exposed well via Python, so an addon will not work if you want to add more drawing, buttons, menus, etc. inside the outliner. This has been proposed to me many times though. I suggest making a new topic to describe the feature (Archive - Developer Forum). Then discussion about design could be made before possible inclusion.

2 Likes

Thatā€™s an interesting concept, and a feature I didnā€™t know about before. I think parenting could just be rewritten to not need shift, and then modifier keys and context menus would work for everything else.

6 Likes

Agree 100%.
More straight forward and intuitive. :+1:

3 Likes

Right now, clicking on a collection doesnā€™t do anything. It would be nice to have all the objects inside a collection selected when you click on the collection, instead of right click->select objects.

3 Likes

I think this has been brought up before. Clicking on a collection activates the collection, which has a number of uses in itself. For example this is how you set which collection new objects are created in. Plus there are operators which work on the active collection, like delete collection, duplicate collection, etc.

1 Like

Thanks)

A full copy of post:
Here are proposals about global visibility functions in outliner.
The way to provide control for heavyweight (~1000 collections) setups.

A) Normal state - initial state of outliner

B) Ability to use ctrl+LMB outliner isolation as toggle, with restoring previous global state.
First ctrl+LMB press remembers inital state of scene visibility, and isolates collection, second - restores previous state of scene, stored by firts ctrl+LMB.
This will allow to quickly figure out what is stored in any collection.

C) Ability to invert visibility globally - to figure out what is hidden in scene. Red line indicator have to be drawn in UI.

D) Ability to swap any column with visibility temporairly. This will allow to view and edit render/other state of objects of entire scene as visibilty for better scene handling and control. Column, that was swapped with visibility column became purple to indicate swapped state.

E) Ability to make everything visible via single simple toggle hotkey (maybe * key), to make sure what scene contains during setup, and go back to previous setup quickly as a toggle mode.

upd, not shown in GIF
F) ā€œSend current all states of all objects/collections from visibility to given columnā€.
This will allow to setup different unobvious states as obvious visibility, and apply it.

Here is GIF:
COLL_VIS

6 Likes

Iā€™m hoping for this too. Did u have some answer about it?

Hi,
Iā€™ve just been rigging in 2.8 for production for the first day and tried to incorporate Outliner for that. It turned out to be a bit cumbersome to use since the layout changes between Edit/Pose modese. After a while I got that itā€™s due to having separate armature trees, just as they would be accessed as data-blocks.
I get that hiding that is probably a big can of worms, but alternatively it should be more usable if both trees would mirror each otherā€™s expansion and center on selected bone when switching between Edit and Pose modes, so the view doesnā€™t change that drastically each time.
A couple more notes:
Centering the view on selected node aligns selected node to the left. Would probably take less navigation if some tree structure would be still visible. Maybe align it with text to the center of the view?
Add-selecting a bone in Outliner clears object selection, forcing still to use viewport to select bones to parent object to. Also itā€™d be great if ctrl+P Parenting menu would be accessible when mouse over Outliner.

Anyway - itā€™s awesome! Thanks.

Proposal:
Locate the selected items quickly, such as in the text search engines of web browsers.

proposal

I wonder if this suggestion would be possible.
That when you give the button with the arrow goes up and down the view to the selected elements, just like google chrome and firefox does with the next search item finding, in this case would be with the selected objects, to be able to go up and down and locate where they are easily all the selected elements and be able to go to the next element selected by going up and down.

In this way you will be able to know in which collections each one of the objects. If it is inside a collection it is shown expanded and jumps to the height where the element is in the outliner.

3 Likes

I did, but apparently it wonā€™t get done because it interferes with other stuff :frowning: Personally, I think we can have both things, but Iā€™m not a programmer, so I canā€™t really say. Hereā€™s the reply I got:

I think this has been brought up before. Clicking on a collection activates the collection, which has a number of uses in itself. For example this is how you set which collection new objects are created in. Plus there are operators which work on the active collection, like delete collection, duplicate collection, etc

1 Like

Thank u so much. Letā€™s hope that could be implemented in the future. :crossed_fingers:

1 Like

I am not the owner of this thread or the developer, that is @natecraddock, I just offer my opinions.

Second, the quote below from me was my reply to another post where you proposed that when a user clicks on the collection it should also select everything inside the collection. It has nothing to do with your idea of synchronised renaming (which does seem very useful).

I knowā€¦ I just assumed that it had been discussed. My bad, sorry.

I just discussed this with @billrey today. We think it should work, but we have some more important issues to take care of first.

We are working on making selection simpler :slight_smile:


Yes, your are correct about the different data trees. In theory we could probably sync them together, but I think your idea of just mirroring the opened/closed state in the outliner would be helpful enough.

If you are talking about the show active operator, you should try the latest 2.81 builds, this has been fixed.

I have fixed this, and you can now select objects in the outliner no matter the current interaction mode. Itā€™s in a branch waiting review but I think it will be in 2.81 soon.

I removed the parenting menu from the outliner because it exists in the 3D view already, and we decided it makes more sense to just do simple object parenting from the outliner.


Well, its possible, but Iā€™m not sure it is needed. The show active operator (. on the keyboard) already shows each instance of the active object. This was changed in the outliner branch, so you need to use a build of 2.81 to test it.


B) I Think this already exists. I could be mistaken. A ctrl+click on a collection visibility toggle will isolate the visibility.
C) in the 2.81 builds there is now a outliner filter to only show the hidden objects.
D) this is possible
E) in the viewport do alt+h

3 Likes