2 finger drag tilt using Orbitcontrols


Is there a way to drag tilt a scene using 2 fingers (i.e Using orbit controls) in some way? This functionality is similar to what we have on google maps. I see that 2 finger-based touch is already used for dolly_rotate.

I see that there is something called MapControls in the OrbitControls file but I don’t see it having this functionality yet.

Does this have to be implemented from scratch and then plugged into the OrbitControls? Or am I missing something here?


What do you mean by “drag tilt”? Do you mind explaining in more detail?

Hi Michael,

Maybe I used the wrong word here to describe the movement.

On google maps, we use 2 fingers (both fingers moving vertically downwards in Y direction at the same time) to tilt the scene (i.e move from 2D to 3D)

What is this movement called ? This is what I meant by drag tilt :slight_smile:

1 Like

I didn’t even know this feature exists :rofl:. It seems “tilt” is actually the correct term!

Anyway, it seems it is just a special form of a orbiting. I mean the focus point is not changed so it’s not a pan.

To implement such a feature, it seems you have to make a custom modification to OrbitControls.

Aha. :slight_smile: Special form of dolly/rotate ?

Isn’t the camera just moving up/down in the y-direction in this case ? (changing camera.position.y) I think the biggest challenge would be to handle the conflict between this 2 finger tilt movement and 2 finger dolly rotate in OrbitControls :frowning:

Sorry, I’ve changed the term from dolly/rotate to orbiting. This is more precise. Also keep in mind that orbiting always changes the position of the camera.

So, the currently default orbiting happens wrt to Y-Axis right? So, in my case shouldn’t I be doing an orbit wrt to Z-AXIS to do the same? :slight_smile:

Not sure this terminology is correct^^. OrbitControls just maintains the default up direction when transforming the camera which is (0,1,0). I think there is no need to change this for you use case.

Ok. Ill get into the depth of OrbitControls class and understand it in more detail.

Thanks a lot for your help again on this Michael.

1 Like