Better ways to align curve normals to mesh? (belts - geometry nodes)

Hello.

I’m trying to create some simple belts using Geometry Nodes, but I haven’t been able to find an approach that behaves as well as I’d expect.

I’ve attached a blend file showing the two methods I’ve tried so far. The main issue is that neither approach really updates in a “shrinkwrap-like” way, and the belt’s orientation only approximately follows the surface normals.

E.g. it clips along the top edge of the belt, whilst the sides by the hips are ‘over-tilted’.

What I’m hoping to achieve is a smoother, averaged alignment so the belt conforms naturally to the surface without abrupt changes in tilt.

I tried another approach (new file below) using two curves, which are offset and then shrinkwrapped to the mesh. I then loft between them. The problem with any shrinkwrap method is that it usually ends up with uneven size belts - I want something that will maintain consistent sizing around the mesh. So this method works OK but the belt can vary and it depends how far away your control curve points are from the mesh.

[edit] New version of the file where I try to shrinkwrap two curves and loft (works OK, I think it can be improved):

belt_align.blend1 (307.1 KB)

[edit] I should add, I have also tried a non GN approach (here) which works fairly well, but is much more manual.

Hi!
Consider these factors:

  1. The more complex the surface is, the more unpredictable shrinkwrap becomes. For more accurate results you would need equally complex node tree that somehow analyses surface area and finds average (maximum?) normal and distance from surface. I’m sure there is a way to do just that, but it sounds like a headache (not to mention would probably be costly in performance). Shrinkwrapping to simpler mesh will get you cleaner results.
  2. Mesh line does not give you control over curve properties. By attaching GeoNodes Mode to Curve object instead, you get ability to fine-tune any point that clips through surfaces. In this case, you don’t need a particularly complex shrinkwrap - just the ability to add tilt on top of it.