Two utility nodes, pinToGeometryUV and pinToGeometryProx allow transforms to follow geometry.
Use these nodes instead of legacy follicles or pointOnPoly constraints as they give better performance and control over how the transform follows a surface.
Both nodes work with either meshes or NURBS surfaces and one instance of a node can also be re-used to drive multiple transforms with the same settings.