Workbench UX design #54908
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
23 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#54908
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The viewport in Blender will work as follows.
We split options into two categories, Shading and Overlays. Shading is all the stuff that relates to the shading itself, such as colours, lighting, surfaces and shadows. Overlays are the things we display on top, such as wireframes, relationship lines, normals etc.
Here's how we will lay it all out:
Shading
Below is a description of the settings we will put in the Shading popover:
Single Color
This option displays objects in the viewport as single color objects. We have three ways of picking the color:
We also have several ways to control the lighting:
Additional Options:
Textured
In Textured Mode, you see the active Texture for each Material for each Object.
The active material is set in the nodes view. If a material has no active texture, or no textures at all, we just display a neutral color.
We also have several ways to control the lighting:
Additional Options:
Material
This option uses Eevee to preview the lighting and shading of your Cycles materials, but is also available for Eevee, as a method for previewing your materials with flat or studio lighting.
In the Material View, we support the same lighting modes as above:
Additional Options:
Matcap
Matcap is a combination of both a material and lighting. Users simply pick a Matcap from the list.
We also allow Cavity to be enabled.
Additional Options:
Rendered
This simply represents the final output of theRenderer.
Overlays
Here's a list of the Overlays we will provide, which are common to all the modes:
Edit Mode Overlays
These options only apply to Edit Mode, and only show up if you are in that mode:
Note: We will have one toggle called 'Overlays' that will toggle ofalloverlays in the viewport. This is equivalent to the old Only Render option.
User Interface & Visualizations
Shading popover:
Overlays popover:
Flat Lighting
Studio Lighting
MatCap
Random Colors Flat
Random Colors Shaded
Selection
When "Limit Selection to Visible" is enabled, we want to remove the face dots in face select mode, because it's very distracting, especially on dense meshes. Here's how we want to differentiate vertex, edge & face select mode in Blender 2.8:
The big difference is, that now make the element type corresponding to the current to the selection mode more prominent. Than means the when in vertex select mode, vertices should be more prominent. In edge select mode, edges are more prominent. Same thing for face select mode.
Active elements will become more prominent, rather than less so, as is the case today.
When you can see through the mesh, face dots are still needed because selection is based on the face center.
Examples where face-dots fall short:
As you can see, face dots never worked properly for N-gons. Here the face dots are actually outside the face:
For even very sparse meshes, the face dots make it very hard to see your model:
When your mesh is dense, the face dots destroy model visibility completely:
Compare this to displaying the faces without, and you can see how much clearer your mesh is:
Added subscriber: @WilliamReynish
Added subscriber: @pablovazquez
Added subscriber: @wevon-2
Matcap is a trick to simulate a complex illumination by a texture, but the magic is lost in the fliped faces. I think the normals should always look at camera in this mode, and the Face Orientation Overlay support transparency adjustment.
I usually see students modeling with golden and normal inverted Matcaps XD
Added subscriber: @moisessalvador
Could the material shading view be active with Eevee as the render engine as well? It seems useful to have the flat lighting and studio lighting options in hand, maybe with scene lighting greyed out or removed from the list, forcing you to switch to the rendered view
Added subscriber: @AlbertoVelazquez
What about a retopo mode?
Added subscriber: @Ko
I guess X-ray mode will be "per object" setting, like in 2.79.
Added subscriber: @L0Lock
I like the first "User Interface & Visualizations" screenshot, it looks a bit like Unreal Engine's viewport which I really enjoy to use.
I guess that having those options & menus directly drawed in the 3D viewport could free a lot of space in other areas and make everything more clear :
How would that work when set in Quad view?
Added subscriber: @lsscpp
So far it's not possible to have the old wireframe viewmode: transparent faces+wireframe.
Now, assuming that an additional shading mode (transparent) can be added, we would then have to perform two (mouse movement+)clicks to achieve what now we achieve with one Zkey press.
Anyway, wouldn't presets for Shading+Overlays become useful once one knows how he/she wants to see scenes in the 3dview?
Yes, we have discussed having a presets system too, so that users can set up certain combos which may be useful for specific tasks, such as sculpting, modelling etc. We may do that.
Just like today. Quad View works as if it was one viewport.
Also, it will be even cleaner than in your screenshot. The Overlays will be in the Overlays popover, and not in the N-key area.
Added subscriber: @jpthrash
In the current version of Blender there is no possibility (without add-ons) of toggling wireframe on all scene objects with a single click of a button, neither for the selected objects. I think that would be a much welcome option and would fit under the Overlays popover.
update: I just saw the wireframe front option, will that work globally?
Added subscriber: @LucianoMunoz
Hey, great stuff,
Loving it. though it would be a shame not to ask for a pinning button for those popover windows:
You probably have thought of this but just in case:
Many times when you want to test what works best going back and fort to the menu each time and having to open it again after every option can be painful. But if you can pin it and move it to the side to test things out quickly would be perfect.
... and by the way, also would be a good time to fix the properties panel pinning right?
cheers guys amazing job!
Also detaching the popovers to place them around the viewport becoming pinned automatically.
Yes! nice! and when you close your detached popover (an X is needed), the next time it will be back in its original place under the header
Added subscriber: @michaelknubben
Added subscriber: @leandro_cavalheiro
Hi guys, lovely work!
Are you planning to make "Edit Mode Overlays" settings global?
In 2.79 they are saved per object. If you enable one of this settings (eg.: Normals) with one object and enter edit mode with another, they're not preserved. Maybe it makes more sense to be a global display setting.
@leandro_cavalheiro yeah maybe there should be a base option in the settings that does it for your every scene, but then that can be overriden on a per object / file basis ?
Added subscriber: @brecht
The edit mode overlay settings are planned to be per 3D viewport, and no longer per object. There will be a few shading / overlay settings that are overridable per object, but probably none of the edit mode overlay settings.
Added subscriber: @TimurAriman
Added subscriber: @BartekMoniewski
Removed subscriber: @L0Lock
Added subscriber: @DavidKozma
Hi guys - I have commented this before to a very wrong task (sorry for that) This might be a more appropriate place.
My question (and hope) is if you plan to implement per pixel self shadows in WB engine? (all viewport shading is that in 2.8 as far as I know)
Drop shadows are pure beauty but self shadows on curved surfaces are not yet :)
(Also I have zero idea how hard it is to deal with the terminator problem but eliminating that too would be awesome)
Thanks in advance and wonderful work on the engine so far!
hey @WilliamReynish
You think we could make the "relationship lines" only show when the object is selected and have a gradient color from parent to child (maybe from the color of the selected bone fading to black) so one can actually know how the hierarchy is built?.
Also it could be nice to have a secondary color that tells you how bones or objects are related to other by parenting and by constraints with different colors for each?. for example y select abone, and all the direct childs get this secondary and the bones that have a constrain pointing to this bone will get an other color.
Would love to hear your thoughts.
Cheers!
Hey william
How do you think you can make up for all the advantages that facedot provide when it comes to selecting objects as opposed to selecting faces that are clearly inferior?
How can the user select with the same ease in the wireframe view? How will you avoid the typical problems of selecting when polygons overlap?
Several answers:
Apart from that, you just select a face by selecting the face. We also don't have a en 'edge dot' in the center of every edge. We don't need it.
Getting rid of it makes it easier to see your model, without loads of tiny dots for every face. For dense meshes, this is a big problem that we want to fix.
I'm modeler and I don't agree with this assessment at all, first of all because it's about deciding for the user and taking away features that currently help him (like select faces that you barely sees, because you select the facedot instead of click in the face) for purely aesthetic reasons.
Will there be no wireframe view at the end of the codequest? You're not planning on having wireframe again?
Removed subscriber: @moisessalvador
Added subscriber: @ErickNyanduKabongo
Face dot is important but i can live without, but you have to give us something, may be an option in the user preferences to turn it on and off or the ability to highlight the face that cursor will select on a click? Sometimes it is difficult to know what face my cursor is close to, specially when you are in transparent mode ( limit selection visibility) or wireframe mode.
@AlbertoVelazquez Yes wireframe is coming just be patient. You are not the only one who is impatient about the subject ;)
I only see that problems like a feature, If I see the facedot like in that images is because I'm doing something wrong, so it warns when your ngon is not correct for some reason and normally I use facedots like references when I move meshes and I don't need a lot of precision "¿Oh, my cursor is in the same position that the facedot? then I put the cursor correctly". And this happens all days a lot of times. Like incorrect faces that for some reason are created between two faces and don't have any area and facedots tell "hey, you have here a face that you don't want"
You want to remove a really usefull feature only because you cannot do beauty screenshots (of course, making the facedot size like a rice grain putting the model really far in the corner). And sorry, but is not the normal situation to edit a model of 30-50k triangles in a corner of the screen.
@ErickNyanduKabongo I supposed that wireframe will go back in some moment of the future, but after the post I want to ask it directly. And of course, the facedot could be optional, for that reason I don't understand why to remove it.
Removed subscriber: @TimurAriman
Added subscriber: @ideasman42
As noted by @WilliamReynish limit-selection-to-visible requires face centers for selection so face dots cannot be removed in that case. Updated design document to reflect this.
Added subscriber: @zeauro
@ErickNyanduKabongo had a very good point about zero area faces.
It is quite common to forget to merge snapped vertices and then extrude a face or to cancel just extrusion movement without cancelling the extrusion.
Wrong Normals are a poor indicator of that problem. It indicates that there is a problem. But in the case of an Ngon with overlapping vertices, it may not indicate clearly where is the problem.
Currently, the way to solve that is to be in face select mode with limit-to-visible option enabled to avoid noise of culled faces.
Face dots is helping to explain to newbies what went wrong in their model.
We need to know how many zero area faces are in the mesh. But also, where they are. Because there are cases, when an edge split is intentionnal or vertices of separated elements are overlapping just for basis shapekey and not for another shapekey.
So the way, they are selected by button of 3Dprint toolbox addon is correct for a 3D print model. It does not mean that works for a robot character of an animation.
So, we may need to solve some zero area faces by Remove Doubles and others by face deletion.
I also saw @venomgfx replying on a blender today livestream that because there is a Select Faces by Sides operator an overlay of faces by sides was not needed.
I disagree.
The same way, we may choose to solve issues caused by Ngon or triangles differently according to their location in mesh.
In that case, we are using Select Faces by Sides, solving the problem for an Ngon by a connect cut.
And then, recalling Select Faces by Sides, solving the problem for an Ngon by a knife cut.
And then, recalling Select Faces by Sides, solving the problem for an Ngon by a dissolve.
Etc...
IMO, an overlay by face sides is not redundant and would be useful.
Same remark is also pertinent for Select Non Manifold. But in that case, it would imply creation of not just one but multiple overlays.
There is an addon mimicking what is talked above : Mesh check . In my experience, it saved me a lot of time and is way more flexible and easy to use than the "Select Faces by Sides" operator: it's visual, displays and updates on the fly and it's easy to focus on one area in order to fix it. while the "Select Faces by Sides" operator needs to be managed by hand, can't detect both triangles and n-gones at the same time and once you've found them, if you start fixing one area you lose the other's selection.
The downside of the addon is that it's based on assigning colored materials to faces. → It's heavy, and it can screw up your materials stack.
IMO, such feature as overlay would be awesome.
Added subscribers: @L0Lock, @VukGardasevic
The add-on is shipped with Blender as a part of the Mesh Edit Tools 2.
Another point to take into account on removing face dots feature, when implementing the new feature, please take into consideration that, when you are in face select mode after a loop cut, Blender switches to edge loop select without any warning and not seeing those face dots is the only information that we get from Blender that we are in a different mode. So some kind of clear visual info to make the difference between this 2 modes.
And to back @AlbertoVelazquez on his point, what Pablo and Will consider as a fall short for n-gons with face dots, it is actually a good tool to tell us that something is wrong. So you come with the question like "why this face is hiding there?" or "where is the face dot of this face?".
No pressure guys take your time, in you we trust ;)
Could Matcaps be consolidated inside the Studio Lighting menu? After all, they look similar, a menu of spheres, even if what they draw (lights vs images) and how they're mapped is different. Matcaps would only need a third folder in datafiles/studiolights and be processed differently, not as equirectangular 6 lights things.
Added subscriber: @cedriclepiller
Why not do this for the options of the workbench?
Right now we have to go to 2 different places to edit the settings.
Yes, the current viewport settings in the Scene Properties is not ideal. However, the reason it's like this, is because the settings in the Scene Properties are actually scene settings.
It may be counterintuitive, but there's no good way to make the shadow direction a per viewport setting, because of the way it works. The same goes for SSAO Distance, which depends on the size of your scene, and not the viewport.
We could still perhaps put those settings inside the Shading popover, but it needs to be clarified that they are per scene.
The other thing needed to make that happen is for sub-panels to work for popovers, which they currently don't, but we want to add that anyway, to solve other similar issues.
Added subscriber: @dark999
Added subscriber: @JonDoe286
Changed status from 'Open' to: 'Resolved'
Archiving this task for now, most of the design here has been implemented and further improvements will be handled in other tasks.