UE - How to reduce yaw-pitch rotation velocity for gamepad?

Hi, the default yaw and pitch rotation with the mouse is quite fast, I would like to keep that velocity but lower it for gamepad because a slight bend of the gamepad stick makes a huge rotation left-right, but I haven’t figured out how to slow the speed:

I thought it was as easy as changing the Character component “rotation rate” and unchecking “use controller desired rotation” but ain’t doing anything:
image image

I’m not sure if it´s not reducing speed because of the spring arm, but I’m out of solutions,

please help! thanks

No answers, but I found a solution: Just forgot that speed depends of input value on the project settings, it was 2, i reduced it to 1:


You should probably create and multiply the axis by a custom variable so that you can make changes per blueprint…

I also want to know [UE - How to reduce yaw-pitch rotation velocity for gamepad?
Plz someone suggest.

In robotics, there’s something called exponential drive. It’s basically getting the axis value and putting it in a graph. It’s a quadratic. Go to Desmos, make a quadratic graph you’d like, put the equation in UE4, and then divide the result by 100. That’ll be great.

Thanks, I think that’s the right way from BP.

another question, what if I dont want to start with a velocity input value 1, what if I want to start with 0 and after 3 seconds, velocity becomes gradually 1, maybe 2 after 10 seconds?

If you accelerate your vehicle it takes a few seconds to reach a certain speed, but in UE we set an axis constant value of 1 then this value works like a tick in the blueprint event, so starting it from 0 to gradually become 1 should be the right way, still no idea how to make it work from Blueprint because of this tick always updating to 1 from 0.

Simple math?

1+1=2, then the next frame add to the same value, 2+1=3, 3+1=4 so on.
You can use a clamp to limit how much you add in total. So it won’t exceed that value.

Another alternative is to use a curve asset
I’m sure you can fish out a tutorial on curves…

1 Like

Maybe you can share a picture, I tried but didn’t worked:

Just confused about the how, since Input Axis start updating to 1 once they are pressed

Axis input always happen actually.
You’ll get a value every tick no matter what.

Create a float. Set the default to 0.
Add delta time to the variable.
Set the variable.
Push it through a clamp, and use it in the proper node.

1 Like