Moving Platform Cannot Push Character Upwards

I am making a First Person puzzle platforming game. One of the main things you do is walk across platforms as they either move through space or are frozen in place. This system works in every direction that is not upwards. If a platform is falling (moving in the Z- direction) or moving in any direction in the XY plane (as shown)

…and I jump on it, I can ride it as it falls/moves, like so:

However, when I have a block that rises, like this:

http://i.imgur.com/7sGJtU2.gif

…and I try to ride it, this happens.

As far as I can tell this is because the First Person Character Controller kinda fakes physics to get its desired effect, and is not really affected by physics. There are settings for push force and the like and I have tried setting to 0, negative values, positive values, all with no noticeable difference.

I have tried faking this, on every hit event manually translating the character upwards or inflicting a force with Launch Character, but none of the solutions have really worked.

Does anyone have any suggestions? I would really appreciate them.

Hmm, i never tried these kind of things, but i’ll try to help you out. Did you try locking the rotation/position on a specific plane ? (Z plane for example, up and down only)

You can do it by selecting the mesh from you BP and going to the physics. Disabling physics might help out aswell, but i’d first try to lock the rotation.

http://i.imgur.com/PwTjNEO.gif

I was hoping that would work, but unfortunately the act of “hitting” the character makes the piece lose all momentum and instantly fall. I need the piece to somehow push the player upwards without being pushed downwards by it. This is closer, but not quite working. Thank you for the response!

Hmmm, do you have the gravity turned off for the platform mesh ? If not, try turning it off, i’ll get back to you if i find a solid solution to your problem ^^.

Gravity is enabled, but unfortunately it needs to be. The pieces moving with physics is a big part of the game unfortunately.

I’ve got a similar problem. Did you manage to find a way around this?