Gravity on a rotating platform

I’m trying to make it so that a platform can rotate freely in three dimensions and that the players gravity when standing on it is down relative to the platform (if the platform is upside down, the player’s gravity is world up). But when the platform is rotating, the gravity is not straight down.

Right now, I’m using

rigidbody.addForce(platform.transform.InverseTransformDirection(Vector3.down));

Is there a way to account for the rotation when calculating which way down is?

Take a look at this: it’s a script that generates a local gravity pointing down the surface the character is - maybe it solves your problem.