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!