rigid body moving on top of moving platform

How would i make the player character of a videogame that is set to rigid body rotate and move forwards on that platform?

so what you need to do is to give the moving platform a material and then under the physics of the material, push up the friction to something like 10, then the gravity under the world tab to something like 20 or higher, then your character has to have support, so you could do something like take a cube, and in edit mode select the bottom face and scale it up to create a pyramid like shape, then make it invisible and give it all the controls for motion and parent your character model to it (if your character model has animation, make sure that the charcter and armature are set to physics type: no collision, otherwise just the model)

hope this helps!

Hit platform suspend physics? restore on leaving platform.
If object not moving, parent to platform, if moves again remove parent (key input)

Or simply change mesh to a cube with dynami physics, and restore it to the rigid mesh when leaving platform.

Just some ideas (won’t say that they are good ones)

Timdrew thankyou it works good.I did not know that.

Hi Lostscience,

I’ve dealt with this kind of thing before. A good solution is this: all movement and rotation you apply to the platform, apply it also to the rigid body, when it touches the platform. In the class where I have the method for moving and rotating the platform, I also hava a method for transporting any objects that make contact with the platform. The trick with rotating platforms is to get the position right. Like this:

    def getOffset(self, platform_pos, ob_pos):
        offset = ob_pos + self.move_vec - platform_pos
        offset.rotate(Euler(self.rot_vec))
        offset += platform_pos
        return offset

   def transport(self):
        if self.col_sens.positive:
            platform_pos = self.own.worldPosition
            for ob in self.col_sens.hitObjectList:
                ob.worldPosition = self.getOffset(platform_pos, ob.worldPosition)
                ob.applyRotation(self.rot_vec, False)

Edit: This allows rigid bodies (or the player) to move freely using velocities (or forces)