Jump to content
3DCoat Forums

Some UI, Tools, Workflow and other ideas


Javis
 Share

Recommended Posts

Most of these ideas I wrote up before or just shortly after SIGGRAPH 2010.

User Construction Plane (UCP)

  • Mostly for voxel sculpting, and also poly sculpting (And to some degree, painting) (but not retopo or UVs)
  • Each tool should be able to toggle on/off the use of the UCP
  • The UCP should of course be user definable - User sets the local "Zero" space, and then local X and Y axes
  • The UCP should respect 3D-Coat's new user definable Grid System (See below for more on the new Grid System)

Snapping System

  • This new snapping system will allow very accurate placement of primitives, objects, brush strokes for painting or sculpting, re-topology meshes, UVs, and much more.
  • Snapping shall work to many things. Including but not limited to:
    • Vertices
    • Surfaces
    • Edges
    • Objects
    • Pivot Point
    • Center (Can be used in conjunction with edges, surfaces, objects, pivot points (with a single or multiple of all the above to get an average placement)
    • Ruler
    • Grid
    • etc.

Measuring System

  • The new measuring system will allow for the user to measure many things, from distance to degrees. This shall be done by LMB clicking + dragging to measure. Measurements will be displayed with LIVE results on screen and in the "Measuring" panel (which shall reside in the Master Options Panel).
  • The Measuring panel shall have the controls (Translate X, Y, & Z, rotate H, P & B) for the origin, and controls (translate X, Y & Z) for the end of the measuring tool.
  • Measuring rotations shall be done similar to measuring distance. However, when measuring distance there will be another "line" which shall spring from the origin of the measuring tool. The degrees shall be calculated between the two lines created by the measuring tool.
  • All tools shall also have a numerical/slider input for ALL controls (where applicable).
  • User should have have an input for calculating "percentages" of distance, and angles. For example: I measured the degrees between two angles. I decide I wish to place something at precisely 50% of that angle and want to use the snapping tools to do so (See snapping system above: Snap to Ruler). I type in 50% of the current value, and the measuring tool moves the degree measuring line to this new rotational value. Thus I can now place the item at exactly half the distance in relation to the two existing objects.

Guides & Grid System (GGS) (This replaces and STRONGLY enhances the 2D grid system)

  • This new guides and grid system will be VERY robust, and enhance the precision of all aspects of 3D-Coat where applicable. Painting, sculpting and so on, will now become very precise with sub-millimeter accuracy.
  • Guides function similar to those in Photoshop CS - Users can drag and drop a guide wherever they like
  • All tools (Painting, Voxo sculpt, Poly sculpt, Retopo & UV) should respect guides (Snap at or up to guide, depending on user preference)
  • Guides should be allowed to be placed in two manners:
    1. 2D Guides - Guides will function just like guides in Photoshop CS
      • They shall be placed by activating the new "2D Guides" tool
      • The 2D guides will simply be placed by using the tool and clicking.
      • Can be placed horizontally or vertically.
      • Can be moved after being placed.
      • Can be locked/unlocked and deleted.

    [*]3D Guides - Functions similar to Guides in Photoshop CS mixed with 3D functionality

    • This functions directly in a 3D viewport
    • The user sets Guides down (ala Photoshop) directly in the 3D viewport by selecting which parameters to use (parameters below)
    • User can

    [*]2D Grid - Similar to that of the current 2D grid, it should be an "overlay" of the viewport and function in two axes - X and Y

    • Has a clearly marked, visible and user definable center and X and Y axes handles
    • Definable handles directly in viewport or with numerical inputs (Center position (X&Y), X&Y axis handles (rotation (Heading)

(See the next post for a concept image)

Completely Customizable User Interface

  • The new User Interface experience should always be pleasant and easy for the user. Proposed here is an ultimate interface experience. The way the new UI shall function is with a set of tools, that the user can create their own interfaces with, including Pilgway. (Imagine how Qt Creator does this, but simpler and only for 3D-Coat). The user shall be able to move any panel (where applicable), tool, function, etc. to any location whether it be to a new panel (for custom panels: See below), different location as a floating tool/panel or docked, or simply removed altogether. The idea here is to create a "Click & Drag" interface designer (Which hey, could be sold even as a separate application!) for 3D-Coat. Accessing the Interface Designer shall put 3D-Coat into "Edit" mode, where the user can edit the current them or create their own entirely. (Optional: More advanced user that know CSS could also create themes using this scripting language.)
  • The user interface will differ from the "Standard" version (Where the standard version will simply have one of our default "Studio" themes, that is locked and NOT customizable) of 3D-Coat in that it will be entirely customizable. Every single aspect can be moved to any part of the screen, with optional docking and/or floating panel(s).
  • Tools, functions, etc., can also be renamed as per user preference.
  • All tools, functions, names, spelling and wording shall be process by the UI Team before put out in the public domain for consumption. (To make sure it looks good!)
  • Users shall have the ability to create their own custom interface preset themes, and can save a preset file for any them to disk for use later, or distribute them.
  • User shall have the ability to create their own panels/tabs with ANY tool, function, etc. from 3D-Coat inside of said panel/tab, and have ability to name and save a preset file of these panels/tabs to disk for use later, or distribution.
  • There will be three core interface preset themes which shall be organized and designed by the UI Team (using the Interface Designer mentioned above). They are:
    1. The "Everything" Interface. This preset theme will have nothing hidden. Every aspect shall be laid bare to the user. It shall be gears more toward the Pro user who wants everything at his disposal, right now.
    2. Essentials. This preset theme will have the most used tools, functions, etc. of the interface exposed. While the rest of said tools, functions, etc. shall be hidden, but accessible viable hotkeys, menus, etc.. This theme is more for the "average" user.
    3. Lite. This interface will have the bare minimum amount of tools, functions, etc. exposed to the user. This slim version shall be sleek and easy to use.

Sidenote: The new User Interface shall be organized and streamlined in a such a way as to enhance the user experience, make the workflow better and easier to understand and to remove ALL redundancies and frustrations of the current interface (including the not limited to poor English spelling, redundant tools, poorly placed tools and functions, etc..).

Viewport Enhancements

  • The viewport shall have the ability to be "locked" in place and cannot be changed until the user unlocks it. "Locked" camera positions, zoom, etc. can be saved as a preset and stored to disk for use later, or distribution. "Locking" can also have the option to save your brush size, and other brush options, along with it. This makes it easier to recall a particular space in the viewport with the exact settings you were painting with, and helps re-do precise strokes from the same camera position for repeating and/or fixing strokes.

Brush Engine

  • The brush engine shall function with user editable curves.
  • Each existing brush shall have a curve profile, which on the surface will remain hidden from the average user. The pro user if they chose, can edit these curve profiles or create their own profiles to create custom brushes.
  • Curves shall respect all other aspects of painting and sculpting, including but not limited to: Brush alphas, masks, materials, etc..

Outline Panel

  • This panel shall contain ALL items inside of a 3D-Coat scene, whether the item is a mesh, a voxel object layer, a light, a re-topo mesh, the symmetry plane, UCP (see above), 3D grid, 2D grid, etc..

"Objects as "Items"

  • A new way of handling "Items" (where items are anything, including, but not limited to: meshes, lights, symmetry plane, re-topo mesh, UCP (see above) voxel object layers, grid, etc..).
  • Objects shall have an industry standardized gizmo (see Messiah, Maya, etc..). Gizmos shall function with numerical inputs inside of a new "Functions" panel (see new "Options" panel section of this document), AND directly in the viewport with standardized controls.

Standardized Controls

  • All tools, functions, etc. shall use standardized controls, gizmos, etc..
  • Any tool with a numerical input (which should be nearly everything, if it makes sense to a particular tool) shall function with industry standard names and usability. For example:
    1. Translate will always use X, Y & Z for all axes and numerical input shall function with radians.
    2. Rotations will always use Heading, Pitch & Bank for all rotational controls and numerical input shall function with degrees.
    3. Scaling will always use Scale X, Scale Y & Scale Z (Alternatively, ScX, ScY & ScZ can also be used) for all scaling controls and numerical input shall function with radians.
    4. Pivot point will always use X, Y & Z for all axes and numerical input shall function with radians. (All objects that make sense to have a pivot point, shall. For example: meshes and voxel objects. Where as objects such as the the 3D grid will function solely on translate, and it's pivot point will always be the center of the grid. (This is up for discussion, because adding a pivot point to such items would drastically increase usability and functionality of these functions).

  • Tools such as "Materials", Masks, 2D Grid, etc., that have similar controls shall now all use the exact same gizmo controls. The new gizmo controls are as follows:

  1. There shall be an X & Y axis for these tools, identified by a colored line for either axis.
    • Each axis shall have a small handle at a fair distance from the center. LMB clicking + dragging shall rotate the tool.

  • The center shall be signified by a small ring outlining the center.
  • LMB clicking + dragging shall translate the tool on the X & Y axes.
  • RMB clicking + dragging shall zoom/scale the tool.
  • Each of these tools (Materials, Masks, 2D Grid, etc.) shall have it's own "Functions" or "Options" panel. (It shall dock inside of the new Master Options Panel, see the "New Options Panel System" below). This allows for multiple tools to be used in tandem without their controls getting overlapped, misplaced or otherwise confused.
    • Each function for for these gizmo controls shall also have corresponding numerical input (radians for translate, degrees for rotations) for manual keying of values in their respective tab (which shall reside in the Master Options Panel).
    • To avoid painting or sculpting or unwanted usage of these new gizmos, the user can specify a hotkey to activate the edit mode for the respective tool/function.
    • The user can also, if they choose, hide each one of these individually or all of them (as in, the materials, masks, 2D Grid, etc., individually or all of them).

(See the next post for a concept image)

New "Master Options Panel" System

  • Having multiple panels can sometimes be overwhelming, and the opposite is also true; Not having a panel for each function can be limiting. This is where this system comes into play. The idea is to have a single master panel for all functions, options, parameters, settings, etc.. For example, many tools in the paint room have a pop up "param" tab. Same with tools in in the voxel room and elsewhere. Instead of having all of these panels open, they should ALL be consolidated into a single master panel. This master panel can contain many panels within for ease of organization.
  • By double clicking an item in the new Outline Panel, the panel for the item that was double clicked (for example, the symmetry plane) shall be activated in the Master Options Panel.

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...