@threlte/extras
Version:
Utilities, abstractions and plugins for your Threlte apps
40 lines (39 loc) • 1.48 kB
TypeScript
import type { TrackballControlsProps } from './types.js';
/**
* `<TrackballControls>` allow the camera to orbit freely around a target
* without causing gimbal lock. This type of camera controller is commonly used
* when the concepts of up and down are less important than the ability to
* carefully inspect a model from every angle.
*
* For an alternative camera controller, see
* [`<OrbitControls>`](https://threlte.xyz/docs/reference/extras/orbit-controls).
*
* If placed as a child of a camera component, `<TrackballControls>` will
* attach to that camera. Otherwise, it attaches to the scene's default
* camera. A camera can also be passed explicitly via the `camera` prop.
* By default, damping is enabled. You can disable this by setting
* `staticMoving` to true.
*
* ## Usage
*
* ```svelte
* <script>
* import { TrackballControls } from '@threlte/extras'
* import { T } from '@threlte/core'
* </script>
*
* <T.PerspectiveCamera
* makeDefault
* fov={50}
* >
* <TrackballControls />
* </T.PerspectiveCamera>
* ```
*
* `<TrackballControls>` is a light wrapper that will use its parent as the target camera and
* the DOM element the renderer is rendering to as the DOM element to listen to. It will also
* by demand invalidate the frame loop.
*/
declare const TrackballControls: import("svelte").Component<TrackballControlsProps, {}, "ref">;
type TrackballControls = ReturnType<typeof TrackballControls>;
export default TrackballControls;