This is an issue concerning ramps and slides built from canvas walls using the ice material in condos, and is a bit difficult to explain.
Essentially, vertical momentum is not preserved after travelling over the last section of an ice slide/ramp that is rotated up at an angle. Instead, you just drop off while continuing to travel forwards.
Steps to Reproduce
Build an ice slide from canvas walls in a condo, with the last section angled up in the expectation that you will be propelled upwards as well as forwards in to the air, then ride down it.
What I expected to happen
Be propelled upwards and forwards in to the air.
Be propelled forwards only. Vertical momentum is not carried over, so you just drop.
Notes / Media
I realise that this might not easy to fix and may be a flaw inherent to UE4’s handling of movement.
It’s not really a flaw with UE4’s movement handling (since it is fully editable), but rather just a general flaw with ground-based movement (since there’s no exception for low-friction materials like ice).
Basically, during normal ground movement (walking on any surface up to the slope limit), the player has to stick to the ground for the best game experience. Otherwise, when running up stairs/slopes, players would end up being launched in the air for a moment, momentarily losing control and not making sense (particularly worse with the speed shoes). It would also make it more difficult to go up slopes, since you’d be pushed down the slope while trying to climb up.
If you do want to do something like this right now, you can use scaled up versions of any of the coin items (anniversary coin, sea dollar, holiday coin, ghoul coin) or something like the arcade frisbee, since their collision makes it so players use the air movement mode instead of the ground movement mode when on it. I’d like to see some sort of super-slick ice material that replicates this, though (esp. since it allows for air strafing while on the ground, which could be something interesting).
Unreal does not handle ice materials on its own, we do.
Movement in Unreal is tricky to improve upon, it has a lot of quirks due to how it does its prediction and how it handles changes in movement states from ground to air. In single player changing the movement would be trivial, but we have to consider a lot of things in multiplayer.
A solution to this issue is similar to how we handle ramps in Accelerate, essentially adding a force based on what we predict will be a ramp.