These different modes of camera manipulation are built into Zea Engine, you can change the mode by doing the following:
const manipulationMode = CameraManipulator.MANIPULATION_MODES.tumbler// const manipulationMode = CameraManipulator.MANIPULATION_MODES.turntable// const manipulationMode = CameraManipulator.MANIPULATION_MODES.trackball renderer.getViewport().getManipulator().setDefaultManipulationMode(manipulationMode)
If you want to understand more about how these various modes of orbiting differ, please check out Matt Keeter's explanation.
This mode is mostly recommended when the model has an associated real world axis; but the down side of it is that you can't freely rotate the camera.
Left and right rotate around the global
Z axis and Up and Down rotate around the local
This mode lets you freely rotate the camera around the axes, contrary to the Turntable mode, but it causes the model
tumble when moving the mouse in small circles while moving to the desired position, which end up in undesired rotations.
ball towards onto the model and when the pointer is down, the position in the
ball is grabbed and used to calculate the rotation, but you can only rotate it a maximum of 180º.