Thanks, that works, but I still need to get rid of the default behavior.
Setting the non-walkable mode to PxControllerNonWalkableMode::ePREVENT_CLIMBING_AND_FORCE_SLIDING prevents me from applying any up- or downwards force while the controller is on a slope, so I can't use that.
And as I've said, PxControllerNonWalkableMode::ePREVENT_CLIMBING_AND_FORCE_SLIDING applies some default force that can't seem to be changed and isn't linked to the default gravity.
These are the only two settings available though. I've tried setting the step offset to 0 or 90 degrees with both settings, but that didn't help.
What I need is essentially what PxControllerNonWalkableMode::ePREVENT_CLIMBING_AND_FORCE_SLIDING does, just without the force which seems to be applied from PhysX itself.
// Edit
Actually nevermind, looks like there's no force being applied from PhysX after all, it seems to be caused from something on my part.
// Edit²
I found the issue, not sure what I can do to fix it though.
In my test case the physics are simulated 33 times per second. My test object is simply moved downwards by 1 unit before every simulation step.
If there aren't any obstacles in the way, the object's speed after the simulation is exactly 33, which is exactly the way it should be.
However, if the object hits a slope, the speed actually jumps up, which doesn't make much sense to me. On a slope with an 45 degree angle, the object's speed jumps up to 51.421 (Shouldn't it slow down somewhat?).
The resulting speed is then used for the next simulation step and thus keeps increasing, which leads to the massive acceleration I've been experiencing.
So, once again, I'm stuck.