Jump to content
3DCoat Forums

3DCoat Design Philosophy - ideas/thoughts/suggestions


Recommended Posts

  • Advanced Member

As a longtime user of 3D Coat.  I have been thrilled with the growth of the program and I'd like to use this thread as a way to share my thoughts and ideas on future development and overall 3D Coat design philosophies.

Proposed Guiding Principles for 3D Coat.

  1. Optimized UI. 
  2. Consistency of design.
  3. Organization of tools/rooms/menu options.
  4. Customizability.
  5. Extensibility.
  6. Stability.
  7. Performance.
  8. Innovation.
  9. Non-Destructive Workflow.
  10. Easy Management & Control of Complexity with Granularity.

 

Optimized UI. 

  • What is the cost of an action in mouse movement and button presses?
    • Wherever possible, repetitive tasks should be simplified into as few button presses as possible.
    • Minimize clicks
    • Reduce the need for popup menus where possible
      • When this isn't possible, find a way to move quickly through the options and confirm choices.
  • An object should own it's modifiers...
    • For example...a curve should own it's modifiers, so if I duplicate a curve, there should be the a new set of modifiers on the duplicated curve.

Consistency of design.

  • What works in one room, should work in other rooms/windows
    • For example, right mouse pop up options, 
    • Properties dialog
    • Text and number field interfaces should all be the same...if some have a value scrubbing option, they all should.

Organization of tools/rooms/menu options.

  • Outliner with filters for each of different object types...Sculpt/curve/models/paint objects/etc...also the ability to parent one object type under another...making a curve the parent of a sculpt object.

Customizability.

  • Good - Really amazing navigation editor
  • Bad - No hotkey editor window.

Extensibility.

  • Good - Core API addition

Stability.

  • Good - Keep fixing bugs
  • Bad - Certain edge cases where tools don't behave as intended
  • Bad - Some things break in new builds

Performance.

  • Good - The performance is already really solid
  • Performance can always be improved.  Move and Smooth on high poly sculpts with large brush size would be great.

Innovation.

  • Good - 3D Coat is one of the most innovative 3D tools.

Non-Destructive Workflow.

  • As much as possible, having mesh effects be tied to sculpt layers and modifiers would be optimal.
  • Deeper integration of nodes would be good to see

Easy Management & Control of Complexity with Granularity.

  • Good - Being able to manipulate millions of verts using a brush...3D Coat does this and it's good.
  • Bad - we don't have soft selection in retopo/model mode.  
  • Bad - we don't have comprehensive subdivision stepping...we kind of do, but the implementation is akward, because you have to switch between rooms - hence the Optimized UI principle.

 

What does everyone else think?  I think it can be easy to get lost in the trees and I think many of us use the program in different ways.  But I'm sure there are some guiding principles that the community and developers can all get behind.  

 

Edited by gbball
  • Like 1
  • Thanks 3
Link to comment
Share on other sites

  • Member

I think this team is amazing, so much talent and hard work 

That said, the Modeling room is in a bad shape right now by my opinion.
Just copy maya modeling tools to the smallest resolution. they nailed UX-wise. 

If you dont know maya's modeling ill be happy to help you and show you the tools and how easy they made them for the user. 
Blender is also ok, but maya is simply great. second only to modo's tools. 

 

Quote

Thank you for all the hard work guys. 3D coat really amazing from the time im using it for sculpting and stuff.  I wanted to make 3Dcoat my all modeling sculpting app but i cant right now. this is what the modeling room is missing for me to use it as such:

before everything, please fix all the bugs in all the tools. there are still not a few.

--------------------
0. Select with no Select tool (forgot to add this)
A. no matter if you use rectangle to select or brush, when you press hotkey for points/edges/polygons it should just allow you to select right away. going to a select tool for that is an unnecessary click. and it makes the experience not fluid 

--------------------------
Tools behavior - design them so fast modelers can use.
--
1. Rectangle Lasso should behave as a selection tool not as modeling tool:

A. should always work if you drag it in the background no matter what tool you are using right now (if a transform tool is active and user drag it outside the model, so it drag a rectangle not move things)

B. should have the option to have it as default 

C. with the exception of knife tool or a tool that need the background

D. with select/transform tool it does happen, BUT, if you go to another tool then there is no more rectangle selection. you need to pick it, and that is not good. user should always have the rectangle selection when pressing the background

E. keep ctrl+D for deselect, but Add behavior that if a user press in the background it will deselect everything like in most modeling apps. 

F. Add the option in preferences, that pressing on the rectangle  lasso tool will cancel any tool currently selected

--


--
2.More intuitive free moving / free rotate / scale tool 

A. have pivot like maya when you press a hotkey, and then press on anything else, and the gizmo axis will snap to that point / edge / polygon AND inherit its normal direction into the axis. 

B. Be able to do the pivot with snap.

C. Expose the options to set the axis to global/ local /gimbal /normal direction. so we can add a hotkey to that. 

C1(forgot). Expose the options to set the position of the axis to selection center/ bounding box /else. so we can add a hotkey to that. and in the preferences add the options for the user to decide if he/she wants to have the axis automatically jump to the center of a new selection. 

D. free rotate - make the visual circle axis around the entire thing, not on the tips. will be easier to grab.

E. Free moving / scaling - should have visual indicator to use 2 AXIS without the user switching to a orthographic view and use the center. 
--


--
3. Add basic Modeling brushes

A. Relax brush - relaxes the vertices without changing the surface too much like in maya

B Smooth brush - Smooth the vertices 

C - Move brush - like in the sculpt room. with an option to move the things by their normal direction

D. keep the existing relax tool, but change it to real time representation with an apply button. for less distractive use that does not need ctrl + Z 
--


--
4. Add snap like in other modeling application

A. you have a hotkey to snap the mouse curses with any tool u are using right now to:
- verticies of current mesh or other
- 3d / 2d grid
- bounding box center 
- edges
- polygons 
- pivots 
--



--
5. Fix the symmetry tool. 

A. Improve it to never lose a perfect symmetry unless the use change the model while its turned off. 

B make it work with ANY thing you throw at it as long you are in symmetry mode and not logically do things that are impossible like touching the mid point 
--



--
6. Add soft selection (maya) / proportional modeling (blender)

A. look how they implemented it in maya and blender. both are great. 
--


--
7. Convert select path into shortcut

A. Look at blender's solution, you click at one point, and then CTRL + click another point, and its working.  you don't need to pick a tool just for that. 
But you can keep the tool, i guess some people want to have it. 
--



8. Push split rings even better

A. Add the option like in maya "Insert edge with flow".  that a new ring till respect the curvature. so if you add it to an arc, it till move to match itself to the angle after it is created (look how it works in maya)

B, add the option to create more then 1 with even spaces between them. blender's solution is to move the mouse wheel while the tool is active. its really good by my opinion. 
--


--
9. None destructive subdivide
A. Add the option to turn on and off subdivision like in all other modeling apps. and keep the current option of course, when a user want to commit to it

--

Thank you for reading, and thank you for all the hard work and listening to the community.  



 

Link to comment
Share on other sites

  • Advanced Member

Thanks for the responses.

I think one of the cool things about 3D Coat is the innovative solutions to different problems.  In some cases the solutions weren't copies of other tools, but instead a new and sometimes better way of achieving a similar goal.

So I think rather than us asking for @AndrewShpagin and the team to copy this programs solution or this other program's way of doing things, we could instead make arguments for how and why a particular adjustment or tweak would align with certain principles that guide the development of the software.

For example...this request

Quote

0. Select with no Select tool (forgot to add this)
A. no matter if you use rectangle to select or brush, when you press hotkey for points/edges/polygons it should just allow you to select right away. going to a select tool for that is an unnecessary click. and it makes the experience not fluid 

Aligns with this principle.

Quote

Optimized UI. 

  • What is the cost of an action in mouse movement and button presses?
    • Wherever possible, repetitive tasks should be simplified into as few button presses as possible.
    • Minimize clicks
    • Reduce the need for popup menus where possible
      • When this isn't possible, find a way to move quickly through the options and confirm choices.

I expect that 3D Coat will keep adding innovative new features.  But I also think that the tool is a mature enough point that certain principles can be implemented to make the overall program more cohesive and easier to work with.

With the new Core API, I wonder how much of this can be done aside from the main development team.

@haikallewas doing some cool work to optimize tools in the retopo room at one point.  I wonder if the current scripting functionality exposes that same level of power to the user.  If given enough customization capabilities, we could develop advanced tools and optimize workflows ourselves.

  • Like 2
Link to comment
Share on other sites

  • Member
12 minutes ago, gbball said:

Thanks for the responses.

I think one of the cool things about 3D Coat is the innovative solutions to different problems.  In some cases the solutions weren't copies of other tools, but instead a new and sometimes better way of achieving a similar goal.

So I think rather than us asking for @AndrewShpagin and the team to copy this programs solution or this other program's way of doing things, we could instead make arguments for how and why a particular adjustment or tweak would align with certain principles that guide the development of the software.

For example...this request

Aligns with this principle.

I expect that 3D Coat will keep adding innovative new features.  But I also think that the tool is a mature enough point that certain principles can be implemented to make the overall program more cohesive and easier to work with.

With the new Core API, I wonder how much of this can be done aside from the main development team.

@haikallewas doing some cool work to optimize tools in the retopo room at one point.  I wonder if the current scripting functionality exposes that same level of power to the user.  If given enough customization capabilities, we could develop advanced tools and optimize workflows ourselves.

Wise words indeed

I Suggested to copy Maya's modelling user experience because 3dcoatu are small team, and taking a reference of something that is working great is not a bad thing for them. it will allow them to continue focus on the sculpting tools that is the main area of the program, while still delivering good modeling solution without months of UX development that is very hard to do.

  • Thanks 1
Link to comment
Share on other sites

  • Advanced Member

@AndrewShpagin

One thing I noticed in the new version is that when I am using certain dialogs, the 3d viewport dims...this is problematic because if I'm tweaking a material or doing hue/saturation/value adjustment, I can't see the result of my choices in realtime.

Link to comment
Share on other sites

  • Member
7 hours ago, gbball said:

@AndrewShpagin

One thing I noticed in the new version is that when I am using certain dialogs, the 3d viewport dims...this is problematic because if I'm tweaking a material or doing hue/saturation/value adjustment, I can't see the result of my choices in realtime.

You can disable this in the preferences.

 

  • Like 1
Link to comment
Share on other sites

  • Advanced Member
4 hours ago, Hickz said:

You can disable this in the preferences.

 

Thanks!  I still think it's a strange choice for a program like this...especially if it's turned on by default.  There are a few edge cases where it becomes counter productive.

Link to comment
Share on other sites

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...