Any way to power a quaternion?

Hello!
I have an object representing a spacecraft and I want to control its rotation. To achieve this I have two FQuat objects: rotation and its derivative. It works but I have a little problem. I store a derivative as amount of rotation per second but I call update function once per timer tick so I need to power my derivative by delta time. I haven’t found any built-in method to do this. I can do it myself but is here any way except updating components of a quaternion by myself?

Hi Amatan Head,

I think you should save rotation derivative like vector (w, |w| = rad/sec). It is should represent your axis rotation and length – amount of rotation. In your update function, you just multiply w by delta time. Then initialize your quaternion with resulting w.

 FQuat( FVector Axis, float AngleRad );

Hope it helps!