Camera: Blender-style middle-mouse navigation (MMB orbit, Shift+MMB pan) #652

Closed
opened 2026-10-10 22:42:05 +00:00 by sky_line · 1 comment
Owner

Port Blender's middle-mouse viewport navigation:

  • MMB drag: orbit the camera.
  • Shift + MMB drag: pan the camera parallel to the view plane.
  • Optionally, Ctrl + MMB drag dollies (zooms) like Blender. Scroll-wheel zoom stays as it is.

Design

  • Orbit centre. Use the surface point under the cursor at drag start, the same as an Alt-focus. This matches the right-drag orbit already ported in #140; share that code. If nothing is under the cursor, orbit the current focus point. (Blender's "orbit around selection" and "auto depth" correspond to these two cases.)
  • Pan speed. Scale pan by the distance to the focus point, so the grabbed point stays under the cursor.
  • Mode. Leave the camera in free (Alt-cam) mode afterwards, like an Alt-orbit. The usual reset applies (Esc or walking).
  • Preference. Add a toggle under Preferences > Move & View, and a sensitivity setting shared with the other camera controls (#130).

Conflicts

  • MMB is bound to voice_follow_key (push-to-talk) in every mode in key_bindings.xml. Proposed: a plain middle-click without a drag still triggers push-to-talk, and a drag past a small threshold becomes orbit/pan. Alternatively, voice moves off MMB when the option is on. Decide which.
  • Check that Build, mouselook, the third-person shooter camera, Pose Studio (IK handles and rings) and media prims, which take MMB in CEF, still work.
Port Blender's middle-mouse viewport navigation: - **MMB drag:** orbit the camera. - **Shift + MMB drag:** pan the camera parallel to the view plane. - Optionally, **Ctrl + MMB drag** dollies (zooms) like Blender. Scroll-wheel zoom stays as it is. ## Design - **Orbit centre.** Use the surface point under the cursor at drag start, the same as an Alt-focus. This matches the right-drag orbit already ported in #140; share that code. If nothing is under the cursor, orbit the current focus point. (Blender's "orbit around selection" and "auto depth" correspond to these two cases.) - **Pan speed.** Scale pan by the distance to the focus point, so the grabbed point stays under the cursor. - **Mode.** Leave the camera in free (Alt-cam) mode afterwards, like an Alt-orbit. The usual reset applies (Esc or walking). - **Preference.** Add a toggle under Preferences > Move & View, and a sensitivity setting shared with the other camera controls (#130). ## Conflicts - MMB is bound to `voice_follow_key` (push-to-talk) in every mode in `key_bindings.xml`. Proposed: a plain middle-click without a drag still triggers push-to-talk, and a drag past a small threshold becomes orbit/pan. Alternatively, voice moves off MMB when the option is on. Decide which. - Check that Build, mouselook, the third-person shooter camera, Pose Studio (IK handles and rings) and media prims, which take MMB in CEF, still work.
sky_line added this to the Slipstream project 2026-10-10 22:42:05 +00:00
Author
Owner

Shipped in 1.3.0 Beta 5 (v1.3.0-beta.5). Closing.

Shipped in **1.3.0 Beta 5** (v1.3.0-beta.5). Closing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#652
No description provided.