Adjusting physics impostor to account for rotational motion

Hello! I have a hollow cylinder and a cylinder rolling down an incline plane. Currently, both objects reach the bottom of the plane at the same time; however, the cylinder should reach the bottom of the plane before the hollow cylinder.

I was wondering if there is a way to take into account the moment of inertia and adjust the acceleration/velocity of the hollow cylinder.

Thank you!

@peanut, could you please share a Playground showing the situation? Was wondering how you implemented the hollow cylinder physics impostor

Hi @gbz, right now the hollow cylinder is a tube (using CreateTube) and then cylinder impostor is used.

Ah I see, I don’t think the Physics Impostor of type Cylinder will account for the hole inside the mesh from CreateTube. I wonder if there’s a way to “subtract” Physics Impostors from one another. Hope someone more experienced can shed light on this.

Possible workarounds:

  • Changing the friction or mass of the hollow cylinder
  • Using a Compound Body made up of boxes to form a hollow cylinder.

@Cedric any ideas?

You can try to change the inertia matrix to change the mass distribution in the rigid body.
With ammojs, there is this function:

I think increasing the vector parameter component values will distribute the mass further from the mass center.

Hi @Cedric, thank you! I will try that!