Sofa Seams.. how to do them correctly?

Hi everyone,
I am a beginner in Blender. As my first project I am modelling a simple sofa. It would be great if someone can guide me on how to model the seams like the one in this image:

I am also thinking if I should I just defer this task to textures (Bumps or normals)…

whats got me stumped is how to get this double line of seams with good topology. I have tried to bevel the edge, inset the faces and extrude the new faces inwards. Result below:

smoothed result:

1 Like

I think best way to do it would be to either attempt to do it in the texturing stage, or model it as a separate object.

Try to do it procedurally. Array modifier, shrink wrap, solidify, subdiv.

1 Like

Hello Brother

I have an interesting solution for seams as this.

  1. Subdiv level 2
  2. EdgeSplit with marked sharp edges
  3. Solidify with control of thickness and crease
  4. A further subdiv level 1

Only thing is that I results a non manifold mesh, that is it is the mesh actually split apart at seams.

You can have somewhat of a solution but using the solidify modifier without “only Rim”… This will give inside faces as well. However with material index offset you can select these faces easily in later modelling stage and delete the excess faces.

You can also instead use a bevel modifer with 0 Profile and vertex group selection to do the stitches “dent”

For the stitch threads you would use probably a seperate UV Map and bump material

Inspect my file. See the simplicity of original mesh



Cushion.blend (715.6 KB)

1 Like

Hi… thanks for the answers.
The ref file provided by Rhys is mot useful. The technique is simplistic and non-destructive but very powerful. Thanks a lot.

I cannot figure out how to use the Material Index offset to select the inner faces though. Is there some way to look at how faces have the material IDs assigned?

Best option, If you turn on “Only Rim” for the solidify modifier you won’t get the interior faces. :slight_smile:

Perhaps a problem with this whole method is intersecting seams like # +… you end up getting a hole due to subsurf of split edge. One solution would be to add a vertex bevel at this intersection, set its crease to 1.0 and scale the bevelled vertex very small aka - 0.0
Before >> After

Hi… got some really good results following your workflow… thanks a lot. I will configure it a bit more.

Previously I had this result. It was done using beveling edge loops and extruding the faces inwards. The resulting mesh was not so neat.

Looking at your file there is still 1 thing I don’t understand. Your mesh is displayed with these curved edges. Can you please tell me why is that or how did you do it?

it is because his adjacent edges are aligned to each other resulting in a “smoothed” corner. Looking at your first post one of your edges is closer to the middle edge then the other.

Btw I personally do these types of details inside of Substance Painter or Zbrush since it gives a much better result. I guess in this example of your cushion the “seam” is a big part of the model itself that defines the form so modeling it in Blender is prefered.

Thanks for the reply PolyGreen. What I meant was the edges are displayed in a rounded manner. My viewport shows a cage over the smoothed mesh. Is this some display setting in Blender or the object type is different?

Yes play with the modifiers view settings. The little triangle button enables the edit mode cage to conform to smoothed result.

Thanks again. Also thanks for sharing your workflow.

1 Like

Continuing the discussion from Sofa Seams… how to do them correctly?:

Hi thanks for a nice technique, i have a problem with the “seam dent” i tried to copy your set up 100% but dont get the dent to form, the rest works great, thanks again