# Orbit+perspective Camera (start at a default zoom with ability to zoom in and out with limits)

**URL:** <https://discourse.threejs.org/t/orbit-perspective-camera-start-at-a-default-zoom-with-ability-to-zoom-in-and-out-with-limits/42098>\
**Category:** Questions\
**Tags:** camera\
**Created:** [September 1, 2022, 8:16am UTC](https://discourse.threejs.org/t/orbit-perspective-camera-start-at-a-default-zoom-with-ability-to-zoom-in-and-out-with-limits/42098 "2022-09-01T08:16:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ahmad\_Alzein](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/ahmad_alzein/32/28885_2.png) [@Ahmad\_Alzein](https://discourse.threejs.org/u/Ahmad_Alzein)\
**Post date:** [September 1, 2022, 8:16am UTC](https://discourse.threejs.org/t/orbit-perspective-camera-start-at-a-default-zoom-with-ability-to-zoom-in-and-out-with-limits/42098/1 "2022-09-01T08:16:40Z")

</div>

I’m trying to make my 3d model start at example 200 in terms of zoom and can zoom in to maximum 100 and zoom out to max 300

```javascript
camera = new THREE.PerspectiveCamera(25, 3/2,0.1, 1000);
controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.minDistance = 120;
controls.maxDistance = 200;

```

camera.zoom isn’t doing anything and the weird thing is at fov 40 everything was alright when I changed as we want it that way it loads at 120 always and it’s too zoomed as initial

---

<div class="post-metadata">

**Author:** ![mjurczyk](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mjurczyk/32/10995_2.png) [@mjurczyk](https://discourse.threejs.org/u/mjurczyk)\
**Post date:** [September 2, 2022, 11:31pm UTC](https://discourse.threejs.org/t/orbit-perspective-camera-start-at-a-default-zoom-with-ability-to-zoom-in-and-out-with-limits/42098/2 "2022-09-02T23:31:23Z")

</div>

1. OrbitControls does not use camera.zoom - it does the distance calculations internally.
2. While there’s no `defaultDistance` property, you can just replace it with a single controls.update call:

```javascript
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.minDistance = controls.maxDistance = 200.0;
controls.update(); // NOTE This will place the camera at the default distance

controls.minDistance = 100.0;
controls.maxDistance = 300.0;

```
