Uniformly triangulated mesh for cloth - how?

I have a lower-poly mesh made up of tris and quads, which aren’t uniformly distributed. I would like to remesh or retopo this mesh automatically, so that it becomes made of triangles that are more or less uniformly distributed (while keeping newly triangulated mesh relatively low poly). I need this to run cloth sim on this mesh.

How can I achieve this with either built-in tools or maybe an add-on ? I am using Blender 3.4.1

Remesh modifier > triangulate modifier?

The remesh modifier doesn’t do a great job with thin meshes, unfortunately.

The best way I know how to do this is geonodes:

First, you subdivide your source mesh til it is pretty fine, then you distribute points using the poisson distribution. Set the minimum length to your target edge length, then crank up the density until it looks uniform (sometimes this value needs to be pretty high). Once you have evenly distributed points at the density you need, use a geometry proximity node to snap the subdivided base mesh to the random points, triangulate and merge by distance to remove duplicates:

thin mesh triangulate.blend (921.3 KB) - cc0 license

The edges are a little raw, and there are ways to clean that up. but this should get you started.

3 Likes

I am scared of geonodes, but thank you!

1 Like

I took a quick pass on smoothing out those edges for you:

thin mesh triangulate - v2.blend (954.8 KB)

6 Likes

:pray: much appreciated !!!

1 Like

@SterlingRoth Hmm… Blender crashes if the mesh’s dimension larger than 1 unit (not scale, but actual dimension). Can this issue be remedied ?

Hmm, try adjusting the input socket in the modifier panel

you also probably need to reduce the density on the scatter points node.
in poisson mode, it generates all the points randomly, then removes the points that are too close together. if your density is too high (and your mesh too big), then it is generating millions of points, just to throw them away.

1 Like

Hi,

I read this thread and I thought it was very interesting that you managed to solve this via the geometry nodes. I never really thought that it could be used it in this kind of a application. I was wondering if you would be willing to iterate a bit more on the node structure. I seem to get an issue where my geometry simple stops to exist, when I try to add the latter adition of nodes, in your latter screencap, fixing the edges of the mesh.

I also feel slightly confused what you mean with the “target edge length”, I assume this is the value that you added in the “input” socket of the group input? How would I find out which value I want for this?

I uploaded a screengrab for the record. If you feel like you have the time to give it a quick glance.

Thanks for sharing your solution!