---
title: OrbitControls
description: Hoe u OrbitControls kunt gebruiken om met de scène te communiceren.
author: alvarosabu
thumbnail: /recipes/orbit-controls.png
difficulty: 1
---
# OrbitControls
[OrbitControls](https://threejs.org/docs/index.html?q=orbit#examples/en/controls/OrbitControls) is een cameracontroller waarmee je rond een doel kunt cirkelen. Het is een geweldige manier om je scène te verkennen.
Het maakt echter geen deel uit van de kern van ThreeJS. Om het te gebruiken moet je het dus importeren vanuit de module `three/addons/controls/OrbitControls`.
Dit levert een probleem op omdat **TresJS** automatisch een catalogus van de kern van Three maakt, zodat u deze als componenten kunt gebruiken.
Gelukkig biedt **TresJS** een manier om de catalogus met componenten uit te breiden. U kunt dit doen door de `extend`-methode uit de kernbibliotheek te gebruiken.
Voor meer informatie over het uitbreiden van uw TresJS-catalogus raadpleegt u de sectie [extending](/nl/advanced/extending.md).
## OrbitControls gebruiken
Om `OrbitControls` te gebruiken moet je die importeren via de `three/addons/controls/OrbitControls` module.
```js
import { OrbitControls } from 'three/addons/controls/OrbitControls'
```
Vervolgens moet u de catalogus met componenten uitbreiden met behulp van de `extend` methode.
```js
import { extend } from '@tresjs/core'
import { OrbitControls } from 'three/addons/controls/OrbitControls'
extend({ OrbitControls })
```
Nu kun je de `TresOrbitControls` component gebruiken in je scene.
::: code-group
```vue [OrbitControls.vue]
```
:::
Omdat [OrbitControls](https://threejs.org/docs/index.html?q=orbit#examples/en/controls/OrbitControls) een verwijzing naar de camera en de renderer nodig heeft. Moet je die als argumenten doorgeven.U kunt de composable [useTresContext](/nl/api/composables#usetrescontext) gebruiken om de camera en de renderer op te halen.
::: warning
`useTresContext` kan alleen binnen een `TresCanvas` worden gebruikt, omdat `TresCanvas` fungeert als de provider voor de context data. Daarom hebben we een subcomponent gemaakt met de naam `OrbitControls.vue`. Zie meer over [context](/nl/api/composables#usetrescontext).
:::
```ts
import { useTresContext } from '@tresjs/core'
const { camera, renderer } = useTresContext()
```
Dus de eindcode word zoiets als:
::: code-group
```vue [OrbitControls.vue]
```
```vue [App.vue] {3,12}
```
:::
## OrbitControls van `cientos`
Hier begint het fancy gedeelte. ✨
De `cientos` package bied ons de component `` wat een wrapper van de `OrbitControls` is van de [`three-stdlib`](https://github.com/pmndrs/three-stdlib) module.
Het beste gedeelte? Je hoeft de catalogus niet te extenden of arguments door te geven.
It just works. 💯
```vue {3,12}
```