How to "spin" a ring, but not rotate it?

Hi folks. Newbie stuck in Quaternion land at the moment. The base mechanic I’m trying to implement is flying through a ring in a rail-shooter environment, a la Star Fox 64. I’m stuck on a particular piece of visual flair - getting the rings to spin on an axis instead of rotate around x, y, z angles.

For a visual, I’m trying to replicate the behavior seen on the yellow and blue rings from the Training Level. The hole the plane flies through remains fixed, but the ring spins in place.

The problem I have is that every time I try to modify the rotation, I end up rotating the ring in place around the roll, pitch or yaw - not spinning it around a center point. I’ve stumbled through some of the Quaternion methods, but can’t seem to find one that suits my needs.

Has anyone else solved this problem or could point me to a resource that would help? You suggestions are greatly appreciated!

Tip: You hardly ever need to directly manipulate quaternions - do everything in Euler angles which are simply to manipulate and visualise.

The example you’ve shown is a simple rotation around the z axis, with a pivot in the centre of the ring model. If that’s not the result you’re getting, it may be helpful if you post a video of what’s going wrong.