rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.58k stars 334 forks source link

Zoom 3D view to cursor instead of center #7900

Open andybarry opened 2 weeks ago

andybarry commented 2 weeks ago

When using scroll wheel to zoom in a 3D view, I'd like the zoom to move "to the cursor" instead of to the center. Most other 3D programs do this, like Solidworks, Onshape, etc. Here's a GIF of Onshape zooming in/out to the cursor.

onshape-zoom

To contrast, this is what Rerun's behavior is: rerun-zoom

Your goals The reason this is important is that often folks will use zooming in/out to the cursor to translate the view. I find this method much faster and more intuitive than moving the 3D centerpoint for small translations.

cc @nikolausWest , @gavrelina

Wumpf commented 2 weeks ago

Very related, to other writeups:

Tl;dr: Depending on where people come from there's wildly different expectations on how camera controls are supposed to behave. The one you point out in the issue is one that we definitely need to have support for (and may or may not consider as the default) as it seems to be common on CAD software. The orbit camera model we have right now is the default in other software for instance Blender. Note that we also already allow changing to a first person camera model.

But leaving this open because it has nice illustrations and is much more concrete, thanks!