I used to have answer for this but I've lost it.
So, how can I animate weights along curved mesh?
That is, as if you were using 'Select More' after selecting some vertices of the mesh.
Almost like this, but along the curved mesh:
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It only takes a minute to sign up.
Sign up to join this communityIf you get a base layer of distance along the surface ("geodesic") instead of just the straight-line distance ("euclidian"), you can do the actual animation with a simple offset. I'm doing this with geometry nodes here, you could do it in a shader as well.
How to get the geodesic distance? You can utilize the automatic bone weighting in Blender. It uses a "heat map" internally, which is the same method commonly used to calculate geodesic distance.
The resulting vertex groups follow the surface, rather than just being a straight distance. For use in a shader you need currently need to transfer it to a plain attribute, like i do in the geometry nodes above.
Caveat: The bone weight is normalized to the distance between the two bones, it goes from 0 to 1 instead of encoding actual distance. You may need to scale it to get the behavior you want.
Edit: I made a plugin for computing geodesic distance a while ago. It may be a little more difficult to use, but outputs actual distance. https://github.com/lukas-toenne/geodoodle
i don't know whether this is possible with modifiers because they only show results per frame (AFAIK) and cannot "save" old values.
But if i understood your right, you want to "save" the old state, is that right?
So you just could animate the empty along the path and use animation nodes to save the highest value of the proximity like this:
result:
without animation nodes:
@lukas_t method was the way to go. To get the effect into a vertex group, do this: