Hard edges and retaining nice curved geometry. HELP

TL;DR having trouble getting a specific hard edges blending into smooth surface. Read full post to understand better.

I am working on a high poly sci-fi pistol to have the normals baked down to a low poly model for a game engine. I understand the baking process since I have done this with other types of models. But this issue has caused me to outright avoid particular types of assets.

I know about using beveling and holding edges to get believable hard edges with a sibdiv modifier, but I am having trouble with having hard edges of one part of the mesh also being part of one that has smooth curves.

The screenshot below is the underside of the gun where the magazine would be. I need the inner corners to be tighter (about as tight as the perpendicular edges.) And shows the result I get from either method on a simpler example of the same shape.

I don’t have a problem with this if the edge flow of the hard edges are continuous, but I want there to be hard edges inside the magazine slot (whatever it’s called), but keep the handle as round as it is.

But if I add an edge loop and only slide part of the edge loop over, the part I leave along makes it less of a smooth curve. And I can’t move it to the side or it will give me an unwanted hard edge:

In this image above, I want the roundness of the one of the right, but with the tight corners in the inset form the left. But as you can see this would reduce the already modelled smoothness of the handle of the gun.

Something like this?


Hard edge.blend (320 KB)

I originally said yes that it.

But I realised that the top is flat.
I mean something more like this, with it curving up to the square hole.

It looks fine if the hole is on a flat surface. This was something I tested on the gun model, but it causes this upward bulges at the corners when the hole is not on a flat surface.

Or is it that the faces need to be flat relative to each other between the hard edge and the holding edge next to it?

Could try shrinkwrap with vertex groups.


Shrinkwrap.blend (335 KB)

Oh cool that’s a neat trick. Never thought about using the Shrink Wrap modifier like that. Thanks for the all the tricks.