I’d like to develop a remake of ASTEROIDS but in 3D. I’d like the player
to be able to move in any direction and make looping if needed. I’ve
read that quaternions are mandatory to allow such a ship control.
If somebody can help. I’m wondering if I have to write a new Camera class.
Probably don’t have to, but it’s a fun exercise. I have an ever-changing version of an FPS cam (I call it FlyCam) that I use in just about all 3D projects I work on, it’s API matches ci::CameraUI so they are interchangeable for the most part.
Yes it is much nicer to do the delta look based on quaternions although it isn’t mandatory - just allows you the freedom of looking directly in your scene’s up direction. Here is where I implemented the delta look, it’s not perfect TBH - there’s an issue if I start the camera looking straight down at the ground, but otherwise it works pretty nicely as a drop-in camera manipulator.
Also iin that repo is another scene::Camera that can load/save config and has some UI built-in.