Today on Twitter, Perry Leijten brought up a technique for rolling a foot using nearestPointOnCurve, to roll any arbitrary shape. You can read his write up and download an example file here. https://www.perryleijten.com/en/works/footrollrd/
This was in response to an older tutorial using a unit vector. Armin Halac also wrote a tutorial on this using arbitrary shapes, with a video as well: http://robotsquids.blogspot.com/2013/09/sliding-pivot-foot-roll-tutorial.html
After Armin posted that tutorial, I started using his technique too, and I've used it for all sorts of cartoony effects. (But actually, rarely for a foot!)
It's great for making what I call a "waddle" mechanic. And I used it a lot on Samsung's "Inside The Fridge" film, produced by Moonbot Studio. The jars and bottles and vegetables used that mechanic to walk. We also used it for Cuisinier's pot lids in Beauty & The Beast at Framestore.
After Perry reignited interest in this, I wanted to share my setup, because I add some parameters that make it very easy to animate a coin-rolling effect too. The very basic nutshell is that once you've calculated the closest point on your curve, then you can offset it using the U parameter of the curve. Loop it, and you can just make it spin around the curve, like a coin.
I don't have a tutorial written, but here are some example files to download for Houdini and Maya. The Houdini example is still rough around the edges, and there is some minor distortion on non-circular curves that I haven't quite solved.
Here is an animated rig in Houdini Indie:
And an animated example in Maya.
I hope you find the examples useful to deconstruct! Miquel Campos from mGear also suggested making this into an mGear component, so I'm adding that to my TODO list.
Thanks for reading, and thanks to Perry for reigniting interest in this!