Make a kinematic body rotate along a surface

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By psear

I’m essentially trying to get a kinematic body (not a round shape) to rotate along a surface. Say you have a square, and it is sitting atop a platform, I would like it to “roll” in the natural way that a square shaped object would, but not sure about how to implement this in a kinematic body. The reason to use kinematic body is I need proper control over when movements start and stop, and that they only traverse a certain distance.

If I simply rotate it, it rotates on the spot and the collision with the static body appears to have no effect. If at some point I do manage to get it to rotate, I need to have it rotate around one of the vertices which is colliding with the static body in question.