m_center for flight and fps feels wrong. you don't fly to or look at some point, but in some direction. changing this to a direction vector makes some methods even less complex and seems semantically more correct.