When aiming my turret around, as soon as my aim crosses the negative Y axis in the world, the turret wants to spin a full 360 in the other direction to aim toward that direction from the far side. Ben makes an offhand reference to quaternions, and looking them up I get the idea that they’re complex vectors that can handle multiple rotations without freaking out, which seems very applicable to this situation. Looking further in the course, it doesn’t look like this issue is ever addressed. Practically, how can I implement FQuats to resolve this?
As a sanity check, my code for TankTurret.cpp is on github here: