Dev:Ref/Requests/User Interface/Standards

提供: wiki
移動先: 案内検索

Blender is currently quite non-standard, as far as user interfaces go, and there are many ways in which it could be improved. In particular, there are many interface elements, methods, and terminology that are fairly standardized across other 3D packages, but which aren't reflected well in Blender. This page provides ideas for improvements.

Ideally, a set of Blender UI guidelines should be created at some point, or if a set exists, it should be modified to reflect industry standards more closely. This will have the following benefits.

-Users will learn to use Blender, because interface elements will look and behave the way they are used to.

-Novice and advanced users will be able work more quickly, because the interface will be intuitve. Even features that users have no experience with will be more self explanatory.

-By having strong user interface guidelines, new UI components can be designed by referencing guidelines, resulting in more consistent design for new interfaces.

-The UI will have an look that is self consistent, and similar to the rest of the 3D application community.

-Users of other 3D software, especially high end software, and major studio professionals, will take Blender more seriously, because its interface will reflect the fact that it has been designed in accordance with common industry workflows and standards.

What follows are several suggestions for improvements, and the begining of a proposal to make Blender more user friendly, and more similar to other standardized ways of working.

Obviously, Blender does some things better than other packages, and nothing here is meant to imply that Blender should become a carbon copy of anything else. However, we should search for useful standards, and professional ways of working, and when we discover useful trends, we should make Blender fit with those trends.

Other software consulted for these proposals includes: -3dsmax -Maya -Softimage 3.9 -XSI -Wings 3D -K3D -Modo

Proposed changes

Change Default Settings to reflect standards

Change defaults to reflect industry standards, and user interface standards in general:

Every other 3D app uses Blenders "turntable" viewport navigation as the default setting. Blender's View Rotation > Turntable should be active by default.

The default mouse button for selection should be changed to being LMB. The fact that it hasn't already been changed is a sign that consistency for older users is being prioritized over good, consistent, intuitve, interface design.

Almost every program, 3d or not, uses the LMB to select things.

Forcing a brand new user, who doesn't even know where to find the preferences, to use RMB to select things is a bad plan. Experienced users who like using RMB to select will know where to go to change the preferences.

In general, a change in philosophy is needed for the Blender User Interface. In order to fix it, from feeling "weird" compared to other software, the defaults should be changed, so that Blender, out of the box, feels normal to someone who has never used it. This is more important than. If you want to maintain setting for old Blender users, have some sort of preference to set everything to the old method, perhaps even an option included in the installer. In default, you don't want the old bizarre way of doing things to remain the default just because people are used to it. Inconsistent user interface design should be considered a bug. Just because people are used to a bug, that doesn't make it any less of a bug.

I think more than anything else, this frame of thinking has to be adopted for Blender to make more sense to ordinary people, and especially users of other industry standard software.

I would vote not to compare to other 3D-Apps, but to other Apps like office software and 2D-Graphik Software. Users experienced in other 3D-Apps are rather rare (in relative numbers), and even if Blender is different, it's not so difficult to get the differences if you know about the concepts working with a 3D-App. --Soylentgreen 11:51, 12 July 2007 (CEST)

Relocate the preferences

Put the preferences somewhere sensible where a beginner can find them:

The preferences in Blender are in a very strange location, being in a hidden panel above the menu bar. New users expect generally expect an option such as "Edit Preferences" or something similar. Nearly all other applications use a method such as this to access preferences.

They should be relocated, maybe under file (or edit) > preferences, or even a preferences section in the buttons window. If it is important to maintain a "panel" for the preferences, I suggest having an option in the menu that switches to a screen layout which shows the preferences, and in addition the interface should include an obvious button to get back to the previous screen layout.

Right now its nearly impossible for someone who has never used blender before to guess where the preferences are. Most people aren't familiar with paneled applications, and even in many paneled applications, preferences are not shown in such a panel.

This is made even more serious by the fact that preferences in Blender need a lot of changing for the software to become usable/intuitive for beginners or users familiar with other 3D apps.

The preferences in its current form is a major barrier to adoption.

Why not add a preferences screen along with the Model/Animation/etc screens? (and maybe a nodes / compositing screen at the same time). I don't think making blender usable for users of other 3D applications is the right idea though - better to make it usable for completely new users, since I imagine they far outnumber experienced ones. sheep 12:05, 29 July 2007 (CEST)

Selection as the default tool

Selection should be the default tool.

One major source of frustration in Blender is the bizarre method of selecting things. The "b" hotkey needs to be pressed to draw a selection marquee. And to draw lots of marquees, the user has to keep pushing "b". This is very frustrating.

Mostly, this stems from the fact that select is not the default tool.

If no other tool is being used. The selection tool should be active, it should be possible to click to select an object, and drag to draw a selection marquee.

As a good example of how standardized this is, it even works in firefox (selecting text). It works in open office, it works in GIMP. It should work in Blender.

As another example, other software also follows this pattern. In most 3D programs, when no other tool is active, the selection tool is active. See the following applications:

-Maya -XSI -3dsmax -Wings3D -K3D

I support this strongly. One nearly never uses LMB-Click alone. It' not that it's faster or more user friendly to select with LMB instead of RMB, it's just that one is totally used to select with LMB in every other App. Even in Blender itself there are some areas where you select with LMB and not with RMB.

Context Menue for RMB instead

RMB has to become the context menu. This is really what everyone expects who has ever used a computer. This is an absolute must. --Soylentgreen 11:51, 12 July 2007 (CEST)

There is a workaround for this, for now. Use Jonathan Williamson's Quick Tools add-on and set the hotkey to RMB.

Zoom to mouse cursor

Solved. See User Prefs.

Hard and Soft Edges

This might be more of a feature request than an interface thing, but it is a place where Blender diviates from standardized methods of working.

Hard and Soft edges - most programs use hard or soft properties per edge to determine object smoothing. Blenders set Smooth and Set Solid buttons seems to affect the whole object. I think this is a very important part of functionality missing from Blender. Its one of the most fundamental aspects of modeling, and something people just assume is present in evey 3d package. (3dsmax uses perface smoothing groups instead, an inferior method, but giving the same kind of control.) Perhaps this exists in Blender somewhere with a name I don't understand? Just thought I'd mention it anyway.

Well, just enter edit mode, select the faces you want to be hard(solid) or soft(smooth) and press teh corresponding button. if you do that in object mode all the faces inherit this property --Knittl 18:57, 11 December 2006 (CET)

Yes, this already exists in Blender. --Soylentgreen 11:51, 12 July 2007 (CEST)

Terminology Changes

Below, the Blender word comes first, suggested change and explaination follow.

Edit mode - Component mode. "Edit" itself isn't very meaningful, since in Blender were's always editing things. Universally, verticies, edges and faces are known as components of objects. Some people also call them subobjects, but I think component is clearer and more standardized. Also, its useful as a noun because I can say, "scale that objects components to be larger" but it sounds stupid to say, "scale that objects edits to be larger". Component is an easy way to refer to verts, edges, and faces collectively.

"Rem Double". - Weld verticies. Every other package calls this function "Weld Verticies" or "Merge Verticies". Either name would be fine. Now, I did notice that "Merge" was present in the actual menu, which is good, but it hasn't been fixed in the button window. Remove doubles should probably be renamed "Merge verticies by distance", "Merge by threshold" or something similar.

lamp - should definitely be renamed to light light types - the regular type should get a name such as "omni" or "point" In most software, standard light types are usually omni/point, spot, directional/infinite and hemilight/skylight.

Relative Vert Keys - two possible terminologies... Morph animaton, morph targets, etc, or Blend Shapes, Blend shape target etc... Morphing or Shape animation are the common words used to discuss these types of effects.

IPO - this has to be one of the worst names in Blender. I don't even know what it stands for. Animation Curve, or Function Curve are both fairly standard names. I prefer animation curve.

IPO=InterPOlation, but Animation Curve would be also OK. --Soylentgreen 11:51, 12 July 2007 (CEST)

Location - should be position (or translation, but in general, I reccoment position because its a bit more user friendly. Most other software packages use position or translation, not location. Even Blender itself is inconsistent in this regard, since many python commands exist like getPosition(). In general, when something has a name, the interface should attempt to always call it the same thing.

Size - Scale. This needs to be changed badly.... because scale is so much more correct in describing what this does. Every other pakages uses the word scale.

Center - Some software uses the word center... but it can be inconsistent and unclear, since it can refer to either the physical center, or a user specified pivot. I would personnally suggest changing this to "pivot" which has a very clear meaning in most software, being the user defined pivot point, and not just the geometric center of an object. Also, the Centre, Centre New and Centre Cursor button shoud be relabled and made more clear. "Pivot to Object Center". Also, there is a pivot menu already in Blender, two buttons to the right of the "object mode" button. To be more specific, we might want to specify between object pivot point, and important property of an object, and the tools pivot point, which is generally a temporary thing used for editing.

LSCM mapping - Pelt Mapping or Unfold mapping. I prefer pelt mapping, popularized by 3dsmax and quickly becoming a word industry people use a lot. I like the fact that Blender mentions the actual scientific name, but it isn't very friendly. I would suggest mentioning the LSCM name in the tooltip or something.

Hotkey and Interaction Changes

A lot of the hotkeys in Blender seem to be very poorly thought out. I think a lot of this has to do with the fact that no individual has ever sat down, and truly, "designed" the hotkeys to work well.

When new features get created, the hotkeys typically get "tacked on", probably because you don't want to break compatibility with existing hotkeys.

At some point in the future, a major hotkey overhaul should occur, probably at the same time that the UI overhaul you mentioned will occur.

Also, if flexible hotkeys are allowed, then you can still keep an option to use the old hotkeys instead, also, anyone that doesn't like the hotkey layout can use the other ones.

I agree. --Soylentgreen 11:51, 12 July 2007 (CEST)

For certain things, certain hotkey standards have started to emerge. Whever possible, standardized hotkeys should be used.

q,w,e, and r are the most important standard hotkeys.

They should be q - select tool w - move tool manipulator e - rotate tool manipulator r - scale tool manipulator

Other software that has adopted these hotkeys include: Autodesk Maya Autodesk 3ds Max XSI - not the default setting, but XSI has an easy option that allows users to choose this mode. K3D Unity 3D

The idea behind the qwer hotkeys is that they are all together under one hand, and perform the most frequently used operations, second only to viewport navigation, (which ideally, should require no keyboard use). Also, with fingers on qwer keys, the shift, ctrl and alt keys are readily accessible, as well as tab, spacebar, esc and the function keys f1-f4. The qwer hotkeys are very well thought out and exist for good reason.

If you think about the Blender hotkeys, q, w, e and r, they don't do anything important.

but the very important hotkeys in blender are actually G -grab, R -rotate, S -scale. and they are under on hand too, i don't know what's so strange about them? --Knittl 19:19, 11 December 2006 (CET)

"q" for example is quit. As a general user interface rule, an unmodified hotkey should never be used to quit an application. Its too easy to accidentally hit. If you accidentally follow a "q" press with an enter press, or even a mouse click, you are screwed, and will loose a bunch of work if you haven't just saved! Q should obviously be changed.

"w" is Boolean. How commonly used is a boolean? Not very. One of the first things you learn in most modeling programs is too avoid using Booleans whenever possible, because of the generally messy geometry produced, and the Subdivision surface unfriendly geometry they create. Boolean isn't important enough to justify an unmodified hotkey.

but W is the key for special operations in edit mode. and boolean are "special" operations. --Knittl 19:19, 11 December 2006 (CET)

"e" does not do anything by default in object mode, and is extrude in edit mode.

Thus, since all these keys could be easily changed, adopting the standard qwer layout should be easy.

Even more importantly, standardized hotkeys, like ctrl-c and ctrl-v should always be used, instead of strange combinations like alt-c and alt-v.

That fact that these hotkeys do not already exist is a sign that a better method of defining and choosing default hotkeys is needed.

I think it's pointless to discuss single keystrokes as long as we don't have a general concept for them, which makes it possible to guess the keys.
And there has to be a save dialogue on quit. If you else expect nothing from a program - this is what you expect. Especially you need a save dialogue if you close the App window. Blender is plain broken regarding that point. --Soylentgreen 11:51, 12 July 2007 (CEST)

Tool Access and Mesh Editing Options

In addition to the hotkey changes above, I personally think Blender could benefit from having tool buttons more readily available in a single constant interface as they are in apps like 3DS Max, rather than having the users rely on hotkeys. Maybe have a "Global tools" menu with all commonly used actions (like modeling actions, animating actions, rendering actions, etc...) available right on the spot regardless of which "mode" the user is in. In this way, the user won't have to read ten pages on how to select an edge, or vertex, or whatever. It just seems to make more sense. Also, the modes in Blender I think need to be rethought. As a new user, I find the whole concept of modes in Blender outright confusing as I am used to thinking of modes in terms of UVW wrapping mode, or animating mode.

Same Mouse Button as Select in ALL CONTEXTS

Right now, some contexts use RMB as select. While this is non-standard, it is perfectly acceptable as a developer choice. Those aspects that are different while self-consistent within the app are defensible.

What is upsetting is that RMB is used for selection in some contexts like in the 3d viewports but LMB is used as select in contexts like the outliner or file selector or node editor. This is arbitrary, follows no rhyme or reason (no one can explain why one button is used here and another there) and makes nothing better. And there is now no way to unify the system because using the preferences to set LMB as select now FLIPS EVERYTHING and makes RMB select in the contexts that were initially LMB! This is so fundamental and is an issue that people run into IMMEDIATELY when they begin learning the interface - the problem is not just that Blender is DIFFERENT (which is defensible) but that it is INCONSISTENT (which is a grievous offense that undermines CREDIBILITY).

Just pick a mouse button - any mouse button - and make it select in ALL CONTEXTS. There is no reason to balk at this and to change this makes everything better immediately - especially for new users. When someone comes to this app cold and sees that different mouse buttons are used to select in different contexts, that sends a VERY bad message about the usability of the app.

I would argue that this is more important (BY FAR) than **ANY** OTHER INTERFACE/UI UPGRADE you can make to Blender.

IDEALLY - the implementation would conform to standards:

- LMB - Select

- RMB - Context Menu

- MMB - no real standard exists so I implore the developers to think of a sensible thing for the MMB to do in ALL BLENDER CONTEXTS and have it do that consistently... it can perform different tasks in different windows but the spirit, the rationale of the button needs to be consistent - it needs to be EXPLAINABLE - even if the rationale is simply titled "EXTRA FUNCTIONS". (personally, i would love if the 3D cursor was placed using MMB by default)

The ability to customize is actually SECONDARY to unifying mouse buttons across contexts. If you must make RMB select - fine... but it should be select in file menu and outliner too.

Once that is implemented, customization should be trivial.