> Learn the basics of the arcRotateCamera.

Source: https://doc.babylonjs.com/features/introductionToFeatures/chap8/camera

# Getting Started - Have a Look Around

## Have a Look Around
Currently, we are using the *ArcRotateCamera*, which has us orbiting the village world from a distance. How about a view from inside the village? Let's parent the camera to the character walking around the village and, with a few adjustments to the values, look around from over his shoulder. The creation of the *ArcRotateCamera* takes this form:

```javascript
const camera = new BABYLON.ArcRotateCamera("name", alpha_angle, beta_angle, radius, target_position);
```

As with all cameras, in order to move it in response to user input, we need to attach it to the canvas.

```javascript
camera.attachControl(canvas, true);
```

Think of this camera as one orbiting its target position, or more imaginatively as a spy satellite orbiting the Earth. Its position relative to the target (Earth) can be set by three parameters: _alpha_ (radians), the longitudinal rotation; _beta_ (radians), the latitudinal rotation; and _radius_, the distance from the target position.

![arc rotate camera](https://doc.babylonjs.com/img/how_to/camalphabeta.webp)

In our case, we want to have the camera parented to the character.

```javascript
camera.parent = dude;
```

And because the dude is scaled in size, we use a large radius, which, when parented to the dude, will be scaled down. To track him, we use 

```javascript
const camera = new BABYLON.ArcRotateCamera("camera", Math.PI / 2, Math.PI / 2.5, 150, new BABYLON.Vector3(0, 60, 0));
```

Since the character makes instant turns, the camera also does. To make the viewing smoother, a smoother track for the character to follow would be needed.

- [Playground: Over The Shoulder](https://playground.babylonjs.com/#KBS9I5#97) - Parent the camera to a character for an over the shoulder angle.

We can also use a different type of camera to follow the character another way.
