Friction issue with rotating sphere

My game involves a ship landing on a rotating spherical planet. The planet is a simple spherical object with a sphere collider and a kinematic rigidbody. It also has a gravity field script applying an attraction force to nearby rigid bodies, excluding itself, of course.

My issue arises when the ship, a triangular mesh with corresponding mesh collider and non-kinematic rigid body, lands. It doesn’t rotate along with the planet, even if both physics materials have a friction of one.

Now, the planet, being kinematic, is rotated each frame using transform.Rotate(). Is it possible that doing so bypasses the physics simulation?

Is it also possible that the constant force being applied towards the center of the planet is screwing with the friction mechanics? I doubt so, because it’s basically the same as using the built-in gravity feature: constant force applied in a constant direction.

I’m pretty sure that the physics setup is fine because the ship properly sticks to and slides along a plane.

Anyway, those are the theories I came up with, but right off the bat I’m not sure how I could test them. Maybe it’s something else, too.


transform.rotate does not use physics engine, it just changes the transform component. A few things to try:

  1. Make the collider a separate object
  2. Add torque instead of rotation

It would be helpful if you would give the script in a edit to your question.

I hope this helps