While learning Blender and hard surface modelling I’ve found it hard to make a cube with nice flat shaded faces and smooth rounded edges.
Is this a common problem?
I’ve learned how to mark edges on (non-subdivision) geometry and apply a bevel modifier to bevel only these weighted edges, but the bevelling will have steps in the shading unless all the geometry has smooth shading applied to it.
If smooth shading is applied to the geometry, the edges are nice and smooth but the faces have a strange gradation across them.
Sorry if some of my terminology is incorrect but I hope you get my meaning.
Apply Smooth to the object and then you want to use the Edgesplit modifier which will allow the smooth parts to be shaded smooth and sharp angles will rendered as flat depending on the angle.
The Edgesplit needs to be used AFTER the SubD modifier.
If it doesnt get all the edges you want you will have to select them manually and Control-E and “make Sharp”
or Shift-E and set the crease of the edges to 1
Apply the mesh smooth and use a combination of the edge split modifier and the bevel modifier, use vertex groups with the bevel modifier to choose where you want the rounded corners. Don’t use the edgesplit modifier with the Sub-D modifier.
You might enjoy giving this a read. You can use support loops or custom vertex normals to achieve what you’re after. Here’s one way to edit vert normals in Blender. Additionally, there are addons available like YAVNE which make vertex normals accessible in different ways.
Support loops are nice since the topology is easier to edit… but custom normals are a neat feather in your cap as well. Get familiar with both methods.