So I want to Simulate a Strap attached to a Buckle with the strap pulling on it and then releasing. Since the Strap itself should thread through the Object beforehand, I opted to create a curve from a softbody Sim and to then position the Strap Mesh on the curve in GN.
While this setup fullfills the need of being simulated, having uv’s and having the ability to thread the Strap Mesh through the Buckle, I cant get proper curve normals to work.
When leaving the curve normals untouched, the curve normals flip occasionally and if I lock them to a certain direction the Strap Mesh gets Skewed rather than rotated to face the Buckle when animating the Buckle movement.
It would be greatly appreciated if someone could help me out with the Geometry Nodes Setup and getting good curve normals or come up with a whole different setup.
The way curve normals are calculated is… well, I don’t actually know how it works, but it seem to be heavily dependent on curve points positions. So when you animate the curve things become that much more complicated to predict.
Here’s an idea: your “original” strap geo seems to deform just right, doesn’t it?
We can take its surface normals and store them (before “Delete Geo”). They are perpendicular to the ones we actually need, so we find cross product between them and curve Tangent - that should be our curve normal.
…I think? At least it looks very close.
Yes. Face normals are perpendicular to faces, vertex normals are the average of surrounding face normals… and without faces around vertex normals don’t make much sense, so who knows where they point. Hence, we need to capture/store them before deleting faces.