In our software we have a camera based on mouse movement, and a quarternion at its heart.
We want to fire projectiles from this position, which we can do, however we want to use the camera to aim. The projectile takes a vector which it will add to its position each game frame.
How do we acquire such a vector from a given camera/quaternion?
The quaternion doesn’t represent a direction, it represents a rotation. You can define a vector that points in the direction that your camera is pointing initially (e.g.
(0,0,1)) and transform it using the rotation represented by the quaternion.