This is an alternative to the dynamic fly mode.
It behaves as the first person navigation system available in most 3d world games nowadays.
You can alternate between the old mode (Fly) and the new mode (Walk) in User Preferences > Inputs
Shift+F - Start View Navigation operator
WASD (hold) - Move forward/backward and straft left/right
QE (hold) - Move up and down (in free mode)
Tab - Alternate between gravity and free walk modes
Shift (hold) - Speed up movement
Alt (hold) - Slow down movement
Space or MMB - Teleport
V - Jump
+/- or mouse wheel - speed increase/decrease
User Preferences Options:
Navigation Mode - fly/walk navigation systems (fly is the old, walk is the new, next options are for walk mode only)
Gravity - alternate between free navigation and walk with gravity modes
Mouse Sensitivity - sensitivity factor to mouse influence to look around
Teleport Duration - how long the teleport lasts
Camera Height - camera height to use in gravity mode
Jump Height - maximum jump speed in m/s
Move Speed - base move speed in m/s
Boost Factor - multiplication factor when running or going slow (1/boost)
- Speed is relative to unit_settings.scale_length -
- Teleport stops at a given distance (camera height) to the hit point
- Reverse mouse
- walk->base_speed needs to be static or an operator settings
- The initial code was based on view3d_fly.c.
- The NDoF code was not touched, so it most likely is not working.
- I removed the axis roll correction
- Testing/bug fixing (no bugs so far)
- Try to implement delta mouse offset, Linux has a bug on mouse wrapping
- NDoF will not be supported for now
- We need a nice API to draw in the header while running the operator