I’m making a game that heavily utilizes a free floating camera and i’m trying to make the controls for it really good.
The conditions I want are:
- Good mouse-only camera controls
- Good keyboard-only camera controls
- Good Hybrid (Keyboard+Mouse) camera controls
What I’ve sorta locked down so far:
- Mouse XY Axis = Look (obviously)
- Middle Mouse = Panning (Hold to use XY Axis to pan, same as editor)
- Mouse Wheel = Forwards/Backwards
- WS = Forwards/Backwards
- AD = Sideways Panning
- Shift + WSAD = Same as WSAD but faster.
What’s Missing:
- Roll (I have a few ideas, the most obvious one would be Q/E to roll and R to reset it, not sure how best to do it with mouse-only though)
- Keyboard-Only Look (I’m quite stuck here, anything I do would either conflict with Roll binds or WASD)
- Rotate around (Either fixed distance or a player specified spot)
Ideas I’ve played with:
- AD = Look Left/Right (I abandoned the idea because modern gamers expect it to be strafe/pan)
- Right Click/Hold = Rotate around fixed point (moves the cameraboom a fixed distance forward and sets the target arm length to the same distance; I’m not sure if i like it enough with a fixed distance to keep it, might be better to allow a player to specify a location to rotate around instead)
The simplest scheme i could think of for keyboard only would be
- WS=fw/bw
- AD=l/r look
- EC=up/down look
- shift+wasd = panning
which only leaves rolling which could possibly be something like shift+qe.
The reason I don’t do it this way is because people expect WSAD to behave the way it does in most games and expect at least shift+ws to equate to faster motion. There’s also the fact that it’d just not play as nicely with mouse look (mouse look benefits from AD being strafe/pan)
Anyone got any thoughts on this?