Remove the x-axis rotation limitation of the OrbitControls object

When I use the OrbitControls object by default there is a limitation of not being able to rotate fully around the object on the x-axis. Maybe this is to not allow the world to be flipped upside down but that is what I would like to be able to do


OrbitControls can’t go beyond polar values (0 and 2π) You can try going with TrackballControls instead.


For the record, this is a limitation of OrbitControls because it keeps the camera’s up vector static and uses Object3D.lookAt() to look at the focus point. TrackballControls is implemented differently. It also uses Object3D.lookAt() but modulates the up vector of the respective camera.

1 Like

@mrdoob Do you remember, it was once discussed to derive TrackballControls from OrbitControls? This user is not the first one how wants to move the camera over the poles like it’s possible in Blender or Unity’s scene editor. Hence, I think it’s good to have TrackballControls as an alternative camera control class with different implementation/behavior.