Blender 2.74: User Interface
User Interface improvements include: The first viewport compositing effects developed during Gooseberry were merged (Ambient Occlusion and Depth of Field), view depth can now be easily picked using an Eyedropper, the Outliner finally got some love in form of a Orphaned Data Blocks mode and many other usability improvements, it is now possible to add notes to nodes, File Browser bookmarks are now editable, ...
The current viewport compositing system includes two effects that can be used as a post process in the 3D viewport and during offscreen rendering.
The goal is to generalize the system and allow node definition of effects in the future but for now there are only two hard-coded effects that can be used:
The controls for the effects can be found in a few places:
To control how the effect appears in a certain 3D viewport, use the checkboxes, "Ambient Occlusion" and "Depth Of Field" located under the "Shading" panel. Camera objects, also have a new panel in their properties, "GPU Depth of Field" that controls the real time depth of field effect. This is used during sequencer or OpenGL rendering and when looking through a camera in the 3D viewport.
- The current system depends on the scene depth buffer to generate information for the effects. As such, any drawing that writes to the depth buffer, such as widgets and wires will contribute in the effects.
- The SSAO effect relies on the surface normals to function, however since the current system is not true deferred shading, those get composited from the depth buffer and smooth shading is not taken into account. Also there will be artifacts at mesh edges due to the composited nature of the normals.
- Multisampling will not work in this first iteration - it requires too much memory to do properly.
This effect tries to simulate the effects of ambient occlusion by doing raycasting in screen space. To control the effect, the following controls are added:
This factor directly multiplies the computed color of the effect, so increase this for a stronger effect.
The maximum world space distance the effect is computed in.
How strongly the effect attenuates with distance. Increasing this makes far away surfaces contribute less to the effect. Use this to get rid of some banding artifacts.
The amount of samples used for the effect. Higher is better but makes the effect slower
Color of the effect, can be modified to give a different feel, from ambient lighting to dirt/rust.
Depth Of Field
This effect tries to simulate a depth of field effect, similar to one produced by a camera. The effect is controlled by certain options of the active camera, namely, the GPU fstop option (in the depth of field panel), the focal length, the sensor size and the focus distance/focus object.
This setting is relevant to the aperture of the camera lens. Less means more blur.
The distance where the focus of the lens is. Using the eyedropper (E) it's possible to sample directly on the 3D viewport to set the focus
Same as above but uses the centre of an object to define the focus. Overrides distance when used.
More focal length means more blur.
Bigger sensor size means less blur.
- Eyedropper for view-depth (EKey over camera distance) (3d503ea8d6fa8)
- The 3D Cursor is now hidden in paint modes if it's not useful (0294327615bb1)
- Theme option for camera clipping border (7a6d757a3b802)
Orphaned Datablocks Mode
A new mode was added to the Outliner for displaying "orphaned" datablocks (030b0aa)
Orphaned datablocks are those which have either:
- 0 users
- A "fake" user only
In the case of the former, they will be quietly discarded from the file on the next save + reload. Hence, it is helpful to have a view where you can confirm which ones fall into this category and might be worth saving.
We also include datablocks with a fake user only so that datablocks given a user above can have that easily turned off again (in case the user makes a mistake). Another benefit of showing these is that it become easier to remove fake users from datablocks you no longer want retained without having to hunt for them.
Managing Datablocks - To Save or Not To Save
The restriction columns are used to display usercount indicators and toggles to manage whether datablocks get saved or not. (16689a1)
- The first column shows an icon to indicate whether that datablock is going to get saved. A tick indicates the datablock will be saved, while a cross indicates the opposite. Clicking on this changes whether the datablock will get saved.
- The second column shows the usercount.
- The third column shows whether the datablock has a fake user.
The second and third columns are pretty much redundant (functionally speaking). While it is possible to also toggle fake users by clicking in the third column, its role here is more as information for power users (and hopefully to allow others to connect the relationship between the saved/not saved status and fake users)
Purging All Unused Datablocks
A "Purge All" button has been added in the header of the "Orphaned Datablocks" mode in the Outliner (263518e). This makes it possible to remove unused datablocks from the file/session "without closing and reopening. It does so by wrapping up the save and "revert" (i.e. reload the saved file from disk, without needing to quit Blender) operators along with a confirmation prompt for good measure.
- Ultimately, we still cannot really cleanly delete any datablocks from the current session outright without reloading the file/data at some point. Thus, we do need to reload the file again before it can be used.
- This does mean that this operation is irreversible. Notably, Undo history is lost is doing this operation. Hence the warnings... (Then again, undo/redo actually reloads the entire scene DB from memory, so it's not anything uncommon ;)
- You can now delete a whole hierarchy of objects (parent/child relationships) (82223270a83f7)
- Alphabetical sorting is now an option (ffe56536f10507)
- "Show Active" will now open the tree to show the child (3356f3f0bb15fa)
- Support drag&drop objects to groups (61c66a996ca5e5)
- Modifiers & Constraints now have their own dedicated ContextMenus [toggle render, visibility & delete atm.] (23214ecad03bfe)
- Libraries that are both directly and indirectly linked are shown twice in outliner to reflect that state (on the first level, and as child of their first user, rBcaf5a325b014e).
- CtrlLMB on the render or viewport visibility button (so that it also affects it's childs as well) now takes the selectability into account rB24976dd29d16f
- Add support to show text-blocks in frames (eb150ef337597)
- UIList search box now updates immediately, as other search boxes in Blender UI (3e034831de8)
- FileBrowser now has a searchbox (like e.g. outliner, etc.) (dcc5997527d)
- FileBrowser's bookmarks are now editable (name and order) (9e2abbc9ba5d)
- Safe areas can be customized now. You can set the height and width for action and title safe margins. They also support center-cuts and presets. Values are shared between the video sequencer and camera view. (09c83d6fea0fc)
- Using RMB now only opens the context menu if no modifier key is held (c792e546991b)
- Returning from a temporary fullscreen now takes a previous, user set fullscreen into account. This way it doesn't return into non-fullscreen view if not wanted. (3e590923485d)
- The UI for Environment Texture Nodes was tweaked to be consistent to the one of Image Texture Nodes (64ef6e74f7ba5, 25412d8ae21f3)
- The Inset Faces operator can now be accessed from the toolbar (cc388ccca449f5)
- Support Alt+MouseWheel to cycle expanded option lists (4422ecbb960e8)
- Two new themes are now part of the official selection: Flatty Light (this time for real!) and RTheme