I'm currently writing a basic PlayerController for a Spacecraft Pawn in UE5 (C++, not Blueprint). It's all going well and I've managed to get decent-looking pitch roll and yaw without gimbal lock.
I have a HUD which displays a ProgressBar showing yaw rate. It basically shows the yaw rate "requested" by the InputAction. So for example, if I set a maximum Yaw of 10 degrees per second and I have a maximum rotation of 10 degrees per second, the ProgressBar displays 100%.
What I'd like to do, to give the sense of "Mass" is to gradually accelerate up to the requested Yaw rate. So I have a "Current Yaw Rate" progress bar and a "Requested Yaw Rate" bar.
I'm not certain how to implement this rotational acceleration. I have a feeling that in my Tick function I need to somehow use a Lerp function to gradually approach the requested rate, but everything I've tried so far results in either zero yaw rate or infinite acceleration! Any ideas how I should be doing this?