As an interaction designer with a wide range of experience with 3D software, I frequently see the need of a better interface and workflow in these applications. I do not mean I have the best shortcut configuration, theme or icon design to offer, but I am talking about the way in which polygons, bones and items in general are created and modified. Whether the s key or alt button is used to rotate the camera/view port is not important, as that is a matter of assignment and not a part of the fundamental workflow design of the application. In this day and age, no key/button/wheel/pen tip should be hard coded into the software’s core functionality anyway. If you want the pen tip pressure to control zooming, why not have the option of assigning it?
To start off with the more generic features and improvement of the workflow, we can take a look at the overall handling of items in a 3D scene. All 3D applications have some sort of hierarchy or scene graph in which all the content reside, and traditionally this is accessed through an Explorer like interface with expanding nodes in a tree structure. As an alternative or addition to the traditional tree structure of items and data, and the typical mode change via buttons such as: “edit bones” , I propose the introduction of an “immediate mode” with these default assignments:
- Double click (or single click + modifier-key) on an item to enter the edit/modify mode of that item type, edit bones, edit mesh, and so on. No need to go to a drop down menu or keyboard shortcut to do this mode change.
- Left mouse button (LMB) click and drag = translate the element you click on, regardless of it being a model, a vertex or bone. Move is move, no need to have different tools for moving models and vertecies.
- To scale or rotate the item instead of moving it, hold down a modifier key for the duration of the scaling or rotation (alternatively go for sticky-keys as found in XSI).
- Click and drag right mouse button (RMB) or LMB + modifier-key, you duplicate / extend the current selection as in a typical extrude edge operation, or duplicating/instance/clone a model if working on a pr model level.
- Scroll wheel or scroll strip/circle on Wacom tablet + modifier key, is set to expand the current selection:
- When a model (scene item) is selected, the selection will perform a spherical “grow selection”.
- When only one polygon or point is selected it will do a radial selection growth from that point.
- When a row of polygons are selected the scrollwheel will grow the polyloop selection (with a correct pattern if “every other” polygon is selected).
- When an edge is selected it will grow the edge loop selection.
- The scrollwheel operates the view-port zooming when a modifier-key is pressed down (the same modifier key that handles view-port translation and rotation)
- Scroll wheel + modifier key will keep applying the last multiplication, so an extrude will be repeated for each step/click of the scroll wheel, and a model instance will be created for each scroll increment (“array clone”).
- The alt key should by default be assigned as the “alternative mode” for the current event taking place. I.e. an extrusion of multiple polygons will toggle between uniformed extrusion and pr polygon extrusion (like bevel in LightWave). Another example can be when a model is RMB click-dragged and instantiated, it will make a duplicate (copy) of it instead of an instance. This could of course be assigned to a different key, but alt is the alternative key by definition.
These are some thoughts as of now, and I will keep on extending this blog entry with more ideas and illustrations as I get time to make them.
I agree. 3D software ui’s have been essentially the same for roughly 20 years. Would be nice to see a change.