# FirstPersonConfig

> Talos 0.7 · Since 0.6

## Signature

```ts
export interface FirstPersonConfig {
  target: CameraTarget
  /** Metres above the target's origin. */
  eyeHeight: number
  /** Lateral and forward offset from the target's origin, before eye height. */
  eyeOffset: Vec3
  pitchMinDeg: number
  pitchMaxDeg: number
  /** Degrees per second at full stick deflection. The mouse is not a rate and ignores it (`RigInput.lookDelta`). */
  yawSpeedDeg: number
  /** Degrees per second at full stick deflection, up and down. */
  pitchSpeedDeg: number
  /**
   * Vertical field of view, degrees. Absent (the default) inherits the view's own — the scene
   * camera's `fov` — and sends none, so the scene file's number is the one drawn. A number here
   * replaces it, and the engine says so once (`camera-fov-overrides-scene`) when the two differ.
   */
  fov?: number
  /**
   * The walk bob. Absent (the default for an existing project) or `false` is off; `true` or a
   * {@link BobConfig} is on, and moves the view-model only unless `camera` is set.
   */
  bob?: boolean | BobConfig
  yaw: number
  pitch: number
}
```

Import: `import type { FirstPersonConfig } from "@argus/gameplay"`

## Members

| Member | Signature | Description |
|---|---|---|
| `target` | `target: CameraTarget` |  |
| `eyeHeight` | `eyeHeight: number` | Metres above the target's origin. |
| `eyeOffset` | `eyeOffset: Vec3` | Lateral and forward offset from the target's origin, before eye height. |
| `pitchMinDeg` | `pitchMinDeg: number` |  |
| `pitchMaxDeg` | `pitchMaxDeg: number` |  |
| `yawSpeedDeg` | `yawSpeedDeg: number` | Degrees per second at full stick deflection. The mouse is not a rate and ignores it (`RigInput.lookDelta`). |
| `pitchSpeedDeg` | `pitchSpeedDeg: number` | Degrees per second at full stick deflection, up and down. |
| `fov` | `fov?: number` | Vertical field of view, degrees. Absent (the default) inherits the view's own — the scene camera's `fov` — and sends none, so the scene file's number is the one drawn. A number here replaces it, and the engine says so once (`camera-fov-overrides-scene`) when the two differ. |
| `bob` | `bob?: boolean \| BobConfig` | The walk bob. Absent (the default for an existing project) or `false` is off; `true` or a {@link BobConfig} is on, and moves the view-model only unless `camera` is set. |
| `yaw` | `yaw: number` |  |
| `pitch` | `pitch: number` |  |
