rememberOrbitCameraState

fun rememberOrbitCameraState(cameraState: CameraState, zoomSpeed: Float = 0.01f, orbitSpeedX: Float = 0.01f, orbitSpeedY: Float = 0.01f, enablePanning: Boolean = true): OrbitCameraState

Creates and remembers an OrbitCameraState that drives cameraState.

The manipulator's home position is taken from cameraState's current eye/target at creation time. The manipulator pushes its computed eye/target/up back into cameraState whenever the user interacts.

val cameraState = rememberCameraState(eye = Position(0f, 2f, 5f))
val orbit = rememberOrbitCameraState(cameraState)
FilamentView(
scene = scene,
cameraState = cameraState,
modifier = Modifier
.onSizeChanged { orbit.setViewport(it.width, it.height) }
.orbitGestures(orbit),
)

Parameters

zoomSpeed

Scroll / pinch zoom sensitivity.

orbitSpeedX

Horizontal orbit drag sensitivity.

orbitSpeedY

Vertical orbit drag sensitivity.

enablePanning

Allow right-click / secondary-button drag to pan.