Summary of Intentions
I need to make a rigged cloth simulation with rings that follow the surface of the cloth. The rig allows me to separate the cloth into strips, and stitch them together at the time of simulation.
(I will eventually need to "fasten" the rings to the surface of the cloth with rope loops. For now, I just want a working method for the rings, as it will likely translate forward to the rope loops. Bonus points for solving both problems.)
The Issue
The issue arises when I try to use the Rig.
First, to meet my purposes, I used a Surface Deform
modifier. (to deform my rings to the surface of the cloth.) The rings are directly above a topologically flat portion of mesh. This ensures that the rings will remain rigid after the Surface Deform
modifier.
However, When I move any bone within the Cloth Rig, it moves the vertices of the cloth mesh along with it.
The Surface Deform
modifier does not like this, as it leads to losing track of its vertex associations.
As soon as a bone moves any vertex, the Surface Deform
Modifier causes the ring-mesh to explode into an unseemly mess.
Attempts Made:
I have already attempted a Rigid-Body-Cloth simulation. This is extremely difficult in Blender's current physics system, and proves to be next to useless - However, if anyone has a working method, I would be very excited to see it.
I have already attempted to falsify a Rigid-Body-Cloth simulation using only cloth. This also proved to be next to useless, as simulating metal with cloth simulation is extremely painful, and doing so in tandem with cloth, as of my discovery, is not currently an option. (Let me know if you find otherwise! But please use it to resolve my issue :)
I have already attempted object instancing on vertices via Geometry Nodes. This was promising, but the rings flipped wildly around bent cloth normals, and intersected with the cloth mesh. I have not tried instancing on faces, via Geometry Nodes. I attempted to mask faces via subdivide, but was not successful. (Callout to all you Geo-Node-Lers.)
What should I do? Are there any methods to achieve what I am hoping to accomplish? I will provide the .blend file below. (The rig is simple to use. The red bone at the end is the only bone you should move. It will only allow movement on the X axis. Let me know if you have any questions.)
SurfaceDeform
modifier off and back on after binding. I now created a (quite big) geometry node group which uses a static and a dynamic target mesh (same topo) and moves the deform object's vertices accordingly. So far this works quite nice. If you are still interested I can write an real answer explaining my approach in more detail. $\endgroup$