3
$\begingroup$

I'm working on a project with several objects like this and they are causing me a lot of frustration. I'd like some advice on the best way to divide faces and unwrap an object like this. I've tried dozens of versions and I can't get away from mesh artifacts. I believe the primary challenge is getting the mesh divided into relatively consistent quads. Shading smooth cleans up the faceting but introduces the stretch marks. Shading flat eliminates the stretch marks but the arches are faceted again. I've run into this in the past and it is an area that I'm obviously lacking some basic information and experience.

This object is architectural and will have a smooth concrete texture applied in Unity. It has a bevel modifier: enter image description here

Smooth shading: enter image description here

Flat shading: enter image description here

Undivided mesh: Undevided mesh

An attempt at manually creating quads: enter image description here

Basic triangulation that results in long tri's" enter image description here

Again, I've done many versions. These are just representative of the basic attempts. I'd love some "best practices" workflow advice on this.

It may be worth noting that the basic shape was created in Sketchup since I can draw consistent arches in 3 clicks. It was then imported as an .obj and the face was extruded to the current shape.

$\endgroup$
2
$\begingroup$

To improve the shading:

  • either check Harden Normals in the Bevel modifier.
  • or slightly inset the area

FunFact: I'm not quite sure why this helps, it'd be great if someone explained it in the comments :)

enter image description here

enter image description here

$\endgroup$
3
  • 2
    $\begingroup$ Insetting works probably for a similar logic it fixes problems with n-gons together with subdivision surface modifier: smooth shading applies a gradient to a face, that goes from a normal of a face on one side, to a normal of a face on another side. Insetting makes both the same, so the gradient between two same values becomes equivalent to a single value (i.e. flat). $\endgroup$ Feb 14 at 21:45
  • 3
    $\begingroup$ To put it a different way, smooth shading approximates the normals across a rendering- triangle by (barycentrically) interpolating between the vertex-normals at its corners. The vertex-normals are calculated from the (sometimes weighted) average of the geometric normals of adjacent triangles. Before inset. the adjacent normals of the vertices in the bevel influence the interpolation across the whole,large face. After inset (or bevel with profile 1), the adjacent faces are coplanar with the large face.. the 'interpolation' is then between two identical normals.. which smoothing says, is flat. $\endgroup$ Feb 15 at 7:39
  • $\begingroup$ I was searching for a solution to a previous issue and was warned against hardening normals in that instance so I didn't do that this time. I now don't remember what that issue was! Hardening the normals worked well for this. Thanks. $\endgroup$
    – T.Kilters
    Feb 16 at 2:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.